基于51单片机的自动往返小车_第1页
基于51单片机的自动往返小车_第2页
基于51单片机的自动往返小车_第3页
基于51单片机的自动往返小车_第4页
基于51单片机的自动往返小车_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、基于单片机的自动往返汽车摘要信息该设计以单片机STC89C52为核心,控制自动往返车,控制芯片L298N和单片机组合控制汽车的前进和后退。道路的黑带测试使用反射红外传感器处理输入到STC89C52的信号,通过一个4位数码管显示实时里程,其他4个数码管动态显示汽车运行时间。利用红外传感器进行路面检测线检查,利用霍尔元件检测行车距离。关键词:光电检测孔检测动态显示L298N控制电动机组成员:Li yahao、Chen guocui、chengxiaobin、ding yujiao微控制器黑带测试显示行程和时间指示灯显示行程,时间L298N马达驱动模组1.马达驱动速度调节模组为了汽车的前进和后退,使

2、用L298N控制马达的旋转和反转。单片机程序PWM,实现车辆加速和减速,准确的汽车速度。2包装黑带测试模块黑色波段是红外光线照路反射的原理,由于黑色波段和白纸的系数不同,因此根据连接的红外线强度可以判断是否达到了黑色波段。反射红外发射-接收器。使用红外线管代替普通可见光管,可以减少环境干扰。3.选择电源双电源不如单电源方便灵活,但通过将电动机驱动电源与单芯片和外围电路电源完全断开,可以提高系统稳定性。4.控制单元模块用微控制器控制用单片机检测不同的信号,发送到L298信号,控制电机的正向和反向,并与PWM程序控制一起实现加速减速和制动。使用单片机串行输入/输出端口进行显示控制的单片机内部限定符

3、/计数器定时、计数。该程序电路成熟、稳定、易于控制。汽车在反转光电检测控制中心STC89C52启动显示驾驶时间霍尔测试2电路设计显示导引距离1.光电检测部分:我们使用反射检测电路检测跑道上的黑线,用两个遮光管和接收管包裹在跑道上,以一定角度紧贴跑道,消除外部光线的干扰,用LM358电压比较器输出高低电平检测信号。如图所示:Stc 89 c 52单片机基本系统以89C52为核心的系统,每个黑波段产生光电检测部分产生的脉冲1,在微控制器上产生外部中断1,定义检测黑波段数的变量1,车轮在每个旋转、霍尔元件输出脉冲、安全微控制器上产生外部中断0,定义线圈数的变量1。通过使用P1.0和P1.1控制L29

4、8,控制电动机的正向和反向和断点。如果P1.0输出为低水平,P1.1输出为高水平,则电动机反转,如果P1.0和P1.1都为低水平,则使电动机短路,提高制动效率,从而从根本上消除由于制动惯性引起的汽车前冲现象。通过P0端口按位选择两个数字管道,P2端口执行分段代码输出,一个显示行车时间,另一个显示行车距离。如图所示:3.L298N马达驱动模组部分该电路使用电动机驱动芯片L298控制电动机的正向和反向,二次电动机电源确保电动机启动时足够的电流。在实验中,电压直接控制在单片机输出的高、低水平。特定的电路图连接如下:4.电源部分电动机工作,需要使用内部电阻小、电力电流强、质量轻、可重复的经济型电池,因

5、此使用充电电池组。为了实现单片机的稳定运行,两个电池组和电压调节块7805分别为89C52和电动机驱动显示部分供电。确保汽车工作和显示器的稳定性。5.软件设计部分单片机控制电路主要包括P3端口控制车辆正向和反向、制动、加速减速、通过两个四重数码管控制显示时间和行驶距离以及汽车行驶时间的一个STC89C52。其中P0端口按位选择,P2端口显示段代码输出。系统使用电源重置和手动重置组合重置系统进行初始化。单片机将P1.0、P1.1输出脉冲控制电动机正向反转和制动,P1.0、P1.1分别输出01为电动机正向,输出10点电动机反转,输出00点电动机两侧短路,汽车立即制动。流程图如下所示:(1)外部中断

6、0当车轮的美丽旋转一次后,霍尔组件通过触发外部中断0的下降生成脉冲P3.3,并将每个外部中断记录数的变量加1。开始轮子一圈一圈地转动霍尔元素产生脉冲圈数全殊(2)外部中断1光检测在每次检测到黑色频带时生成脉冲输入P3.2端口,通过降级触发外部中断1,在每次中断时记录黑色频带的变量中添加1,在检测到第六个黑色频带时,在检测到第六个黑色频带时,为p1.0=1,p1.1=1,在检测到第十二个黑色频带时,汽车制动器同时关闭所有中断开始黑带数黑带退场EA=0,制动器P1.0=1,P1.1=1Heidai=6yyHeidai=12(3)计时器中断0使用计时器T0生成5毫秒计时中断时,在运行每个中断之前,将

7、初始值分配给计时器0,并且每次运行计时器中断时,变量将加1。当I=200时,时间变量t加1会将1秒的转数乘以汽车车轮的周长。准时中断0开始5毫秒中断生成1秒计时控制,I一秒钟的时机是否到了旋转总数q天顶=周长*线圈数q(4)计时器中断1主要用于生成其他工作周期的波类型是为了高低速控制而执行的,每次执行时,都会将初始值分配给计时器1。(5)主程序主程序主要用于控制两个四重数码管的显示,通过周期门连续调用显示程序,使两个四重数码管按一定的位重复亮点,在汽车行驶过程中动态显示时间和行程,在汽车停止运行过程中显示时间和行程。6.安装和调试汽车在改造玩具遥控汽车方面,改造过程中最重要的是设计光电探测管的

8、位置,将探测黑带的光电池定位在车身中央,用遮光管以一定的反射角度压在跑道上。距离感应通道光电耦合器,放在汽车的推杆上。轮子的周长约为21.6厘米,利用轮子上的洞,每个轮子都有一个脉轮。组装前,测试每个单元电路,以确保外部硬件电路没有错误,有助于最终系统调整。调整是从点到点,从最后到全部调试的方法。在协调过程中发现了很多问题,如对中断次数的响应调整等。然后为了不把车撞到墙上停下来,我们只要在汽车的四角都装上导向轮,做成随身听的压力轮就行了。附录组件和过程如下:基本组件列表STC89C52微控制器两个四孔数码管一个L298N芯片霍尔元件和小磁铁碎片所有跟踪模块晶体(12M)和30pf电容器开关电阻

9、10k 100欧姆1k 20k可调节程序:#include/包含头文件#define uint unsigned int/定义宏常量#define uchar unsigned char/定义巨集常数sbit dianji 1=P1 0;/P1_0设定为马达控制1sbit dianji 2=P1 1;/P1_1设定为马达控制2sbit hdjc=P3 2;/P3_2设定为黑色皮带侦测位元Uchar代码duma=0x3f、0x06、0xx5b、0x4f、0x66,0x6d、0x7d、0x07、0x7f,0x6f ;/段编码Uchar code dianduma=0xbf、0x86,0xdb、0x

10、cf、0xe6,0xed、0xfd、0x87、0xff,0x ef ;/包含小数段编码Uchar code wema=0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,0x00,0x ff ;/位元码Uchar num、ge、shi、bai、qian/定义多个基于文字的变量Uint miao,lc,heidai=0;/定义一些成型变量长int QS/定义用于记录汽车旋转的长成型变量void fenwei(uint);/声明用于分隔要显示的数字的位函数Void shuma(uchar,uchar);/声明数字显示函数用于在数字管道上显示数据Void shumadia

11、n(uchar,uchar);/声明其他数字显示函数以显示带有小数点的数据Void Miao许可证(uint);/声明显示时间的函数void lcxs(uint);/声明显示距离的函数void DJ kz();/宣告马达控制函数void delay(uchar);/声明延迟函数void delay 10s();/声明另一个延迟函数以用于10秒延迟Void fenwei(uint x)/区分需要显示在数字管道上的数据ge=x;Shi=(x 0)/10;Bai=(x 00)/100;Qian=x/1000;Void shuma(uchar x,uchar y)/在数字管道中显示需要显示的数据P0=

12、wema8;p2=Dumax;P0=wemay;delay(5);Void shumadian(uchar x,uchar y)/显示数字管道中需要显示的数据P0=wema8;p2=diandumax;P0=wemay;delay(5);Void Miaoling (uint x)/显示计时器0输出到数字管的时间芬威(x);Shuma(ge,3);舒玛(诗,2);舒玛黛安(白,1);shuma(Jin,0);Void lcxs(uint z)/外部中断1输出中的槽口以数字显示芬威(z);Shuma(ge,7);舒玛(诗,6);舒玛黛安(白,5);舒玛(晋,4);Void djkz()/马达操作

13、控制Uchar n=20,m=60交换机(hei Dai)Case 0:盘柜1:盘柜23360Dianji1=1dianji 2=0;Miao(Miao);lcxs(LC);Break案例3:While(m -)Dianji1=1dianji 2=0;delay(70);dianji 1=0;dianji 2=0;delay(30);Miao(Miao);lcxs(LC);While(heidai=3)Dianji1=1dianji 2=0;delay(13);dianji 1=0;dianji 2=0;delay(1);Miao(Miao);lcxs(LC);BreakCase 4:While(heidai=4)Dianji1=1dianji 2=0;delay(25);dianji 1=0;dianji 2=0;delay(1);Miao(Miao);lcxs(LC);Break盘柜5:Case 6:While(n -)Dianji1=1dianji 2=0;delay(50

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论