51单片机论文_at89c51单片机论文
51单片机论文由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“at89c51单片机论文”。
课程设计报告
课程设计名称:智能控制避障小车 学生姓名: 班
级: 学
号: 成绩: 指导教师:
开课时间:2016-2017学年第 一学期
I
独 创 声 明
本人声明所呈交的课程设计是本人在导师指导下进行的研究工作及取得的研究成果。据我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含未获得(注:如没有其他需要特别声明的,本栏可空)或其他教育机构的学位或证书使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在设计报告中作了明确的说明并表示谢意。
作者签名: 日期:年月日
II
摘 要
介绍一种基于stc89c51单片机实现的智能避障小车设计。该系统前方采用两个红外反射式光传感器fc-51检测障碍物,控制系统通过检测信号识别障碍物并发出指令使小车绕行。
关键词:智能 控制 避障 单片机III
传感器
目录
(以下内容仅供参考).系统功能………………………………… 系统工作原理
2.设计方案……………………………………………………………… 2.1车体设计………………………………………………………………… 2.2电源模块………………………………………………………………… 2.3 避障模块………………………………………………………………… 2.4电机模块………………………………………………………………… 2.5电机驱动模块…………………………………………………………… 2.6 最终方案………………………………………………………………… 3 系统程序……………………………………………………………………….总结………………….参考文献…………………
IV.系统功能
系统工作原理:
系统主要由控制单元、电机驱动、外部输出、红外发射、红外接收等单元组成。
图1 系统机构图
智能控制避障小车的设计采用现在较为流行的8位单片机作为系统大脑。以8051系列家族中AT89C51为主芯片。4个端口引脚控制信号输入电路,控制电路,执行电路共同完成避障行驶控制。
2.设计方案 1车体设计:
智能控制小车采用中间轮驱动,中间轮左右两边各一个电机驱动,控制中间面两个大轮子的停走从而控制小车的方向;前后轮是换向轮起支撑作用。将两个避障模块放在车子的左前方和右前方。如下图所示:
小车底盘,可以清楚的看到小车电机控制车轮,以及换向轮所在位置。
上图可以看出小车电源最小系统板还有排针以及开关的位置。
从小车正面看出内部驱动,前方的避障模块。(超声波检测,寻迹模块)
2电源模块:
电源模块即电池与电池盒,通过电池盒接通电路,输送电源来驱动小车跑。避障模块:
传感器模块对环境光线适应能力强,其具有一对红外线发射与接收管,发射管发射出一定频率的红外线,当检测方向遇到障碍物(反射面)时,红外线反射回来被接收管接收,经过比较器电路处理之后,绿色指示灯会亮起,同时信号输出接口输出数字信号(一个低电平信号),可通过电位器旋钮调节检测距离,有效距离范围2~30cm,工作电压为3.3V-5V。
4电机模块:
电机模块主要控制小车的中间两轮,从而控制小车的前进与后退。
控制电机的转速也能控制小车的前进速度。电机驱动模块:
电机驱动模块使用ST公司的L298N作为主驱动芯片,具有驱动能力强,发热量低,抗干扰能力强的特点。
电机驱动模块可以使用内置的78M05通过驱动电源部分取电工作,但是为了避免稳压芯片损坏,当使用
大于12V驱动电压的时候,我们使用外置的5V逻辑供电。
电机驱动模块使用大容量滤波电容,续流保护二极管,可以提高可靠性
原理图最终方案:
利用驱动模块降压,接通51单片机,通过程序控制小车运动,通过避障改变运动轨迹,从而实现避障。.系统程序
程序: #include #define uchar unsigned char
#define uint unsigned int //定义全局变量
sbit IN1=P1^0;sbit IN2=P1^1;sbit IN3=P1^2;sbit IN4=P1^3;//定义驱动引脚
sbit out1=P2^5;sbit out2=P2^6;//定义避障引脚
void run()
//小车跑
{
if(out1==0&&out2==1)//小车右转
{
IN1=1;
IN2=0;
IN3=0;
IN4=0;
}
else if(out1==1&&out2==1)//小车前进
{
IN1=1;
IN2=0;
IN3=1;
IN4=0;
}
else if(out1==1&&out2==0)//小车左转
{
IN1=0;
IN2=0;
IN3=1;
IN4=0;
} else if(out1==0&&out2==0)//小车左后转
{
IN1=0;
IN2=1;
IN3=0;
IN4=0;
} } void main()
//主函数
{ while(1)
{
run();
} } 改程序是利用避障模块检测,若左边避障检测到,小车右转,右边检测到,小车左转,都没检测到,前进,都检测到,小车左后退。.总结
智能避障小车软硬件配合要紧密,在硬件中,要把各个零件配合时要连接正确,否则有烧坏的可能,写程序时要注意步骤,要有思路,程序代码要记清,写程序时要认真,避免出现小失误。从做这辆小车以来,我学到了很多知识,也碰到了很多困难,但最终都克服了,只要有一颗不服输的心,我想信,困难只是暂时的,最后都会解决。.参考文献
[1]郭惠,吴迅 单片机 c语言程序射进完全自学手册[M] 电子工业出版社,2008.10.1-200 [2]王东锋,王会良,董冠强 单片机c语言应用100例[M] 电子工业出版社,2009.3.145-300 [3]韩毅,杨天,基于HCS12单片机的智能寻迹模型车的设计与实现[j] 学术期刊,2008,29(18):1535-1955