【毕业设计】23-基于单片机的自动避障机器人设计(原理图+源代码+仿真+论文+答辩PPT)

本文详细描述了一项基于单片机的自动避障机器人毕业设计项目,涉及原理图、源代码、避障算法、电机控制和仿真测试。设计的核心是使用AT89C51单片机配合红外传感器,通过避障流程实现机器人对障碍物的自动反应。
摘要由CSDN通过智能技术生成

【毕业设计】23-基于单片机的自动避障机器人设计(原理图+源代码+仿真+论文+答辩PPT)

资料要求

包含此题目毕业设计全套资料:
1.原理图工程文件
2.源代码工程文件
3.仿真工程
4.原理图截图
5.仿真截图
6.论文(低重复率),22568字
7.答辩PPT
详情请私信!

任务书

主要内容:
理解并掌握单片机的基本知识;设计一款能够自动避障的机器人。
基本要求:
1、掌握单片机的发展情况以及它的工作原理和基本构造。
2、要求所设计的机器人能够自动避障。
3、对系统的精度和可靠性等进行了测试。

设计说明书

摘要

本文主要研究内容为基于单片机的自动避障机器人。避障机器人是一种采用了多种传感器的自动控制系统。系统采用红外检测障碍物,一旦检测到前方有障碍物则将信号发送给单片机,通过单片机处理分析,将控制信息输出到电机驱动控制机器人能够顺利有效的避开障碍物。本系统以AT89C51单片机为核心,红外检测器模块为传感器,385直流电机及电机驱动L298N为被控制对象控制机器人躲避障碍物。具体的避障流程为:系统开始运行,首先是直行,当红外检测器探测到有右端有障碍物后控制电机左轮速度慢于右轮,实现左转。同理左端检测到障碍物后控制电机右轮速度慢于左轮,实现右转。

设计框架架构

在这里插入图片描述

前 言 1
第一章 绪论 2
第一节 研究背景 2
第二节 研究意义 2
第三节 国内外发展情况 3
第四节 本文的主要研究内容 4
第五节 本章小结 4
第二章 基于单片机的自动避障机器人设计方案分析 5
第一节 系统设计概述 5
第二节 元器件方案选择 6
一、主控芯片选择 6
二、避障方案选择 7
三、电机选择 7
四、电机驱动选择 8
第三节 本章小结 8
第三章 基于单片机的自动避障机器人电路设计 9
第一节 核心控制最小系统电路设计 10
第二节 避障电路设计 11
第三节 电机及驱动电路设计 12
第四节 电源电路设计 14
第五节 按键电路设计 14
第六节 LED电路设计 15
第七节 系统总电路图 15
第八节 本章小结 16
第四章 基于单片机的自动避障机器人软件设计 17
第一节 系统总流程设计 17
第二节 避障程序设计 19
一、避障程序设计流程 19
二、避障子程序 20
第三节 电机驱动程序设计 20
一、电机驱动程序设计流程 20
二、电机驱动子程序 22
第四节 LED及按键程序流程设计 22
一、LED及按键程序设计流程 22
二、LED及按键子程序 23
第五节 本章小结 24
第五章 基于单片机的自动避障机器人仿真实现 25
第一节 仿真软件介绍 25
第二节 系统电路连接与调试 26
第三节 系统测试 27
第四节 本章小结 31
总 结 32
致 谢 33
参考文献 34
附 录 36
一、英文原文 36
二、英文翻译 40
三、工程图纸 44
四、源代码 45

设计说明书及设计文件

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

论文(低重复率),22568字在这里插入图片描述

源码展示

#include <reg51.h>
#define uchar unsigned char
sbit IN1	=	P2^0;
sbit IN2	=	P2^1;
sbit IN3	=	P2^2;
sbit IN4	=	P2^3;
sbit ENA	=	P2^4;
sbit ENB	=	P2^5;
sbit LED	=	P3^2;
sbit BUTTON	=	P3^3;
sbit LeftUp		 = P1^0;
sbit LeftDown  = P1^1;
sbit RightUp   = P1^2;
sbit RightDown = P1^3;
//**左右轮子速度调节变量
uchar numL,numR,BUTTON_FLAG;
//***********************
void init_time()
{
	TMOD=0X01;
	TH0=(65536-500)/256;
	TL0=(65536-500)%256;
	EA=1;
	ET0=1;
	TR0=1;
}
void time0() interrupt 1 using 1
{
	static uchar num;
	num++;
	if(num==numR) ENB=~ENB;
	if(num==numL)	ENA=~ENA;	
	if(num==100){ENA=~ENA;ENB=~ENB;num=0;}
	TH0=(65536-500)/256;
	TL0=(65536-500)%256;	
}
void main()
{
	BUTTON_FLAG=0;
	numL=70;numR=20;

  init_time();
	LED=0;
  while(1)
	{
		if(!BUTTON)
		{
			BUTTON_FLAG =1;
			LED=1;
			ENA=ENB=1;
	    IN1=IN3=1;IN2=IN4=0;
		}
		else
		{
			BUTTON_FLAG=0;
			LED=0;
			ENA=ENB=0;
	    IN1=IN3=0;IN2=IN4=0;
		}
		if(BUTTON_FLAG=1)
		{
		if(!LeftUp)		{	while(!LeftUp);		numL+=5;	
										if(numL>100)numL=0;}
		if(!LeftDown)	{	while(!LeftDown);	numL-=5;	
										if(numL>100)numL=0;}
		if(!RightUp)	{	while(!RightUp);	numR+=5;	
										if(numR>100)numR=0;}
		if(!RightDown){	while(!RightDown);numR-=5;	
										if(numR>100)numR=0;}
		}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

cqtianxingkeji

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值