《基于单片机的智能小车控制系统论文.doc》由会员分享,可在线阅读,更多相关《基于单片机的智能小车控制系统论文.doc(55页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、. .专科毕业设计 (论文)题 目基于单片机智能小车控制系统设计学生XX _ XXX_班 级 XXXXXXX_学 号_XX_ _ 院 系_电 子 工程 学 院_专 业_应 用 电 子 技 术_ 指导教师_XXX_职 称_XXX_二0XX 年X 月 XX 日. .word. .摘要随着计算机、微电子、材料、机械、通信等技术的快速开展,车辆的智能化和机器人的开展速度也越来越快,作为21世纪自动化领域内非常伟大的成就它已经和人们的生产生活严密的联系在了一起。智能车辆迅速成为世界车辆研究领域的热点和汽车工业新的增长点。所以,智能化的车辆是未来人们生活重要的载体。因此有必要对智能车辆进展研究。研制一种智
2、能,高效的智能小车控制系统具有重要的实际意义和科学理论价值。本系统设计了一个能自动循迹的智能小车控制系统。以STC89C52单片机为控制核心,利用红外无线遥控智能小车,利用超声波传感器检测道路上的障碍并提示,利用LCD1602显示小车的速度和路程。能实现小车自动根据地面实况前进倒退、转向行驶,超声波测距提示障碍物,LCD1602实时显示小车的速度和行驶的路程,具有高度的智能化,到达设计目标。关键词:智能小车;STC89C52单片机;超声波传感器;LCD1602THE SMART CAR BASED ON MICROCONTROLLERABSTRACTWith the rapid develop
3、ment of puter, microelectronics, materials, machinery, munication and other technologies, the intelligentization of vehicles and the development of robots are getting faster and faster. As a very great achievement in the field of automation in the 21st century,Close ties together.Intelligent vehicle
4、s quickly bee the worlds automotive research hot spots and the new growth point of the automotive industry.Therefore, the study of intelligent vehicles are necessary. Therefore, the development of a smart, intelligent car control system with high efficiency is of practical significance and scientifi
5、c important theoretical value. This paper introduces the design of a smart car control system that can automatic tracking.Based on signle-chip microputer AT89C51To achieve infrared wireless remote control smart car, the use of ultrasonic sensors to detect obstacles on the road and prompted the use o
6、f LCD1602 show car speed and distance.The car can realize automatic based on the black line forward regression. Steering,Ultrasonic ranging, prompting obstacles, LCD1602 real-time display of the speed of the car and drive away, with a high degree of intelligence, achieve the design goal.Key Words:Sm
7、art car;AT89C51 MCU;ultrasonic sensor;LCD1602目录摘要ABSTRACT目录第1章绪论11.1课题的背景和意义11.2课题的研究现状及开展趋势1第2章方案设计与论证22.1主控系统22.2电源模块22.3电机驱动模块22.3.1电机模块选择与论证22.3.2 电机驱动模块选泽与论证32.4遥控模块42.5显示模块52.6壁障模块5第3章硬件设计63.1总体设计63.2驱动电路63.3遥控电路93.4显示电路113.5避障电路113.6主控电路13第4章软件设计164.1主程序模块设计164.1.1 主程序流程图164.1.2 主程序的设计174.2电机
8、驱动程序的设计194.2.1 电机驱动程序流程图194.2.2 电机驱动程序的设计204.3红外遥控程序的设计214.3.1遥控模块流程图214.3.2红外遥控程序的设计224.4测距壁障模块程序的设计234.4.1 超声波测距模块流程图234.4.2 超声波测距模块程序的设计234.5显示模块程序的设计244.5.1 显示模块流程图244.5.2 显示模块程序的设计25第5章软件仿真285.1KEIL软件285.2PROUES软件28第6章 实物安装与调试306.1器件清单306.2结果及分析306.3使用指南31第7章 完毕语32参考文献33致.34附录一原理图35附录二源程序36附录三实
9、物图45. .word. .第1章 绪论1.1 课题的背景和意义智能作为现代社会的新产物,是以后的开展方向,他可以按照预先设定的模式在一个特定的环境里自动的运作,无需人为管理,便可以完成预期所要到达的或是更高的目标。本设计主要表达多功能小车的智能模式,设计中的理论方案、分析方法及特色与创新点等可以为自动运输机器人、采矿勘探机器人、家用自动清洁机器人等自动半自动机器人的设计与普及有一定的参考意义。同时小车可以作为玩具的开展对象,为中国玩具市场技术含量的缺乏进展一定的弥补,实现经济收益,形成商业价值。超声波作为智能车避障的一种重要手段,以其避障实现方便,计算简单,易于做到实时控制,测量精度也能到达
10、实用的要求,在未来汽车智能化进程中必将得到广泛应用。我国作为一个世界大国,在高科技领域也必须占据一席之地,未来汽车的智能化是汽车产业开展必然的,在这种情况下研究超声波在智能车避障上的应用具有深远意义,这将对我国未来智能汽车的研究在世界高科技领域占据领先地位具有重要作用。1.2 课题的研究现状及开展趋势智能小车的研究、开发和应用涉及传感技术、电气技术、电气控制技术、智能控制等学科,智能控制技术是一门跨科学的综合性技术,当代研究十分活泼,应用日益广泛的领域1。众所周知机器人技术的开展是一个国家高科技水平和工业自动化程度的重要标志和表达。因此目前世界各国都在开展对机器人技术的研究。机器人由于有很高的
11、灵活性、可以帮助人们提高生产率、改良产品质量等优点,在世界各地的生产生活领域得到了广泛的应用2。智能小车正是模仿机器人的一种尝试。它是一种以汽车电子为背景,涵盖多学科的科技创新性设计,现智能小车开展很快,从智能玩具到其它各行业都有实质成果。其根本可实现循迹、避障、检测贴片、寻光入库、避崖等根本功能,这几届的电子设计大赛智能小车又在向声控系统开展。. .word. .第2章 方案设计与论证2.1 主控系统本设计采用STC89C52单片机为主控芯片,通过电机驱动电路和超声波发射接收及液晶实时显示小车与障碍物的距离红外遥控设计而成,采用模块化的设计方案。并且运用红外遥控器控制小车的前进,后退,左右转
12、和停顿的功能。2.2 电源模块本次设计采用了7805芯片,因为7805电源芯片的电路简单,实用,并且能够完全满足智能避障小车和单片机控制系统和L298N直流电机驱动芯片的供电。7805芯片的实物有3个引脚,分别为输入IN端、输出OUT端和接地GND端,一般情况下可以提供1.5A的电流,如果在散热足够的情况下可以提供51单片机主控模块和直流电机驱动等模块的电压。根据7805电源芯片的情况再结合电机的工作电压,应选取了12V电源作为7805的输入电源。2.3 电机驱动模块2.3.1 电机模块选择与论证方案一:使用步进电机作为智能小车系统的驱动电机,因为步进电机的转动角度可以准确的定位,这样就可以比
13、拟准确的定位小车的前进距离和位置。但是由于步进电机的输出力矩偏低,并且会随着电机转速的升高而下降,在到达较高的转速时其输出的力矩会急剧下降,因此不适于小车等对速度有着一定要求的系统。经过综合分析比拟决定放弃此方案。方案二:使用直流减速电机作为智能小车系统的驱动电机。直流减速电机的转动力矩比拟大,而且体积较小,重量也很轻,使用方便。另外小车电机内部还装有减速齿轮组,所以并不需要去考虑调速的功能,可以很方便的通过单片机来控制直流减速电机的正传、反转、停顿操作。综合以上考虑选择方案二的直流减速电机作为整个智能小车的驱动电机。图2.1 直流减速电机2.3.2 电机驱动模块选择与论证方案一:采用继电器对
14、电动机进展控制,通过切换电动机的开关来调整小车的速度。这个方案的优点是电路相比照拟简单,但是它的缺点也比拟多,如:继电器的响应时间偏慢, 寿命较短,容易损坏,可靠性也不是很高。故决定放弃此方案。 方案二:采用专用的电机驱动芯片L298N来控制直流减速电机, L298N芯片如图2-2是一个具有高电压大电流的全桥驱动芯片,一片L298N芯片可以分别的控制两个直流减速电机,在646V的电压下,可以提供2A的额定电流,额定功率25W,并且具有过热自动关断和电流反响检测功能,平安可靠。该芯片是利用TTL电平进展控制的。通过单片机的IO口输出上下电平来改变芯片控制端的输入电平,即可以实现对电机进展正转、反
15、转和停顿操作。另外为了保证L298N的正常工作,我还安装了8个续流二极管1N4007。用该芯片作为电机驱动,驱动能力大、操作方便、稳定性好、性能优良。综合以上分析与论证我们选择方案二的驱动芯片L298N作为整个智能小车系统的电机驱动电路。图2.2L298N2.4 遥控模块本设计采用红外遥控来控制信号的传送。选择红外遥控装置作为小车的遥控控制器。红外遥控是通过遥控发射器内的编码芯片将按键信息调制成一串0和1的二进制代码,然后通过红外线发出,最后被红外接收装置接收进展解码,再运用单片机对解码后的码信息进展识别,然后再根据不同的码信息进展不同的控制操作9。图2.3 VS1838封装2.5 显示模块方
16、案一:采用LED数码管显示。数码管使用简单,价格低廉,但一个数码管只能显示一个数字,要显示多位数据时要使用多个数码管,这就增加了硬件电路的复杂度和额外功耗,而且LED数码管也无法显示字符。由于我们方案要显示小车运行的速度和路程,LED数码管没方法显示这么多的内容,因此考虑其它的方案。方案二:采用LCD1602液晶如图2.4显示。LCD1602液晶具有功耗低,显示内容丰富清晰,显示信息量大,显示速度较快,界面友好,使用简单等特点而得到了广泛的应用。并且外围电路也比拟简单,因此我们选择此方案。通过以上方案论述我们选择方案二,显示小车与障碍物距离的任务。图2.4 LCD1602液晶显示器2.6 避障
17、模块方案一:用漫反射式光电开关进展避障。光电开关的工作原理是根据光线发射头发出的光束,被物体反射,其接收电路据此做出判断反响,物体对红外光由同步回路选通而检测物体的有无。当有光线反射回来时,输出低电平。当没有光线反射回来时,输出高电平。操作简单但是测量的距离不远。方案二:用超声波传感器进展测距避障。超声波传感器的原理是:超声波由压电陶瓷超声波传感器发出后,遇到障碍物便反射回来,然后再被超声波传感器接收。超声波传感器在避障的设计中被广泛应用。为了使用方便,便于操作和调试,采用集成超声波测距模块HC-SR04。综合考虑本系统只需要检测障碍物,没有十分复杂的环境。为了使用的方便,便于操作和调试,最终
18、选择了方案二。第3章 硬件设计3.1 总体设计智能小车采用前轮驱动,前轮左右两边各用一个电机驱动,通过电机驱动芯片L298N来控制前面两个轮子的转动与停顿从而到达控制转向的目的,后轮是拖动轮,起支撑作用。小车距离的检测通过超声波传感器HC-SR04,将检测到的数据传回单片机进展处理。小车的避障用超声波避障模块HC-SR04,将其置于车头,检测到障碍物时,小车做出相应的反响。总体设计框图如图3.1。超声避障模块晶振模块红外遥控模块数据显示模块电机驱动模块STC89C52键盘遥控编码芯片编码调制红外发射系统应答a 遥控局部框图 b小车局部框图 图3.1 系统总体设计框图3.2 驱动电路电机驱动芯片
19、采用L298N,是一款承受高压大电流的全桥型直流/步进电压驱动器,如下列图3.2。图3.2电机控制芯片L298N的引脚排列其中L298N各引脚的编号与功能和内部逻辑如下表3.1和图3.3。表3.1 L298N引脚编号与功能引脚编号名称功能1电流传感器A在该引脚和地之间接小阻值电阻可用来检测电流2输出引脚1内置驱动器A的输出端1,接至电机A3输出引脚2内置驱动器A的输出端2,接至电机A4电机电源端电机供电输入端,电压可达46V5输入引脚1内置驱动器A的逻辑控制输入端16使能端A内置驱动器A的使能端7输入引脚2内置驱动器A的逻辑控制输入端28逻辑地逻辑地9逻辑电源端逻辑控制电路的电源输入端为5V1
20、0输入引脚3内置驱动器B的逻辑控制输入端111使能端B内置驱动器B的使能端12输入引脚4内置驱动器B的逻辑控制输入端213输出引脚3内置驱动器B的输出端1,接至电机B14输出引脚4内置驱动器B的输出端2,接至电机B15电流传感器B在该引脚和地之间接小阻值电阻可用来检测电流图3.3 L298N内部原理图电机驱动A/B的控制逻辑如下表所示。表3.2 电机驱动A/B的控制逻辑输入信号电机运动方式使能端A/B输入引脚1/3输入引脚2/4110前进101后退111紧急停车100紧急停车0XX自由转动L298N可直接对电机进展控制,不需要隔离电路。通过单片机的I/O输入改芯片控制端的电平,即可以对电机进展
21、正反转,停顿的操作,操作非常方便,亦能满足直流减速电机的大电流要求。调试时依照上表,用程序输入对应的码值,即可以实现对应的操作。其驱动电路原理图如下列图3.4所示。图3.4 L298N驱动原理图3.3 遥控电路红外接收器也叫做一体化红外接收头,其内部是由红外监测二极管,放大器,限副器,带通滤波器,积分电路,比拟器等构成的。红外监测二极管接收到红外信号后,会把信号送到放大器和限幅器,限幅器把脉冲幅度控制在一定的水平。交流信号进入带通滤波器,带通滤波器只允许30khz到60khz的负载波通过,然后脉冲信号再通过解调电路和积分电路进入比拟器,由比拟器输出上下电平信号,复原出发射端的信号波形。但为了提
22、高接收的灵敏度输出的上下电平和发射端是反相的。红外接收头有很多的种类,一般都有电源引脚、信号输出引脚和接地引脚。根据发射端调制载波的不同应选用相应解调频率的接收头,本设计我们采用车载遥控发射器、一体化红外接收头1838来解调HT6221编码芯片的编码。其实物图如图3.5所示:图3.51 1838红外接收头图3.52车载遥控发射器由于红外接收头内部放大器也很大的增益,这样很会容易引起干扰,因此在接收头的电源引脚上须加上大小在22uf以上的滤波电容。本设计的红外接收电路如图3.6所示:图3.6红外接收电路图其中U6为1838红外接收头,电容C4为滤波电容,DOUT 是解调信号的输出端,直接与单片机
23、的P3.2引脚即INT0中断相连8。 解码的重点是怎样识别位0和位1,由于位0和位1的低电平脉宽一样但高电平脉宽不一样。所以需要根据高电平的宽度区别位0和位1,如果从0.56ms低电平信号过后延时了0.56ms以后如果能读到低电平信号说明该位为0反之那么为1,为了可靠起见延时必须介于0.56ms和1.12ms之间,否那么如果该位为0读到的已是下一位的高电平,因此我们取其中间值即1.12ms+0.56ms/2=0.84ms。当按下遥控器的按键后,便有红外脉冲编码信号发出,经红外接收头接收解码后在其输出端输出检波整形后的方波信号,然后直接输入至单片机外部中断进展码信息的识别,单片机再调用相应子程序
24、执行对应的操作。3.4显示电路用LCD1602来显示数据,LCD液晶具有功耗低、显示内容丰富、清晰,显示信息量大,显示速度较快等特点。其中用滑动变阻器RV0来调节显示器的背光亮度。电路原理图如下列图3.7。图3.7显示电路原理图3.5 避障电路设计中采用超声波传感器进展测距避障。超声波传感器的原理是:超声波由压电陶瓷超声波传感器发出后,遇到障碍物便反射回来,然后再被超声波传感器接收。超声波传感器在避障的设计中被广泛应用。为了使用方便,便于操作和调试,采用集成超声波测距模块HC-SR04(如图3.8)。图3.8 HC-SR04超声波测距模块HC-SR04电气参数如表3.3所示,声波时序图如图3.
25、91所示,超声波检测原理图如图3.92所示。表3.3HC-SR04电气参数图3.91超声波声波时序图图3.92超声波检测原理图3.6主控电路单片机是控制单元的核心。起着控制小车所有运行状态的作用。单片机控制模块使用的是STC公司生产的STC89C52RC,使用该芯片很容易实现对其它模块的控制。通过对单片机STC89C52RC写入程序,可以方便的用软件来控制。图3.10单片机最小系统STC89C52RC单片机最小系统包括了晶振电路,电源电路以及复位电路,其中复位电路的复位按键用于小车的复位。P1.3P1.7分别控制电机驱动。其它P口用外接控制小车的各种控制开关,P0口外接上拉电阻,可用于外接LC
26、D1602。STC89C52RC单片机介绍:STC89C52RC是STC公司生产的一种低功耗、高性能CMOS8位微控制器,具有 8K字节系统可编程Flash存储器。STC89C52使用经典的MCS-51内核,但做了很多的改良使得芯片具有传统51单片机不具备的功能。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。主要特性如下:1. 增强型8051单片机,6时钟/机器周期和12时钟/机器周期可以任意选择,指令代码完全兼容传统8051。2. 工作频率X围:040MHz,相当于普通8051的080MHz,实际工作频
27、率可达48MHz。3. 工作电压:5.5V3.3V5V单片机/3.8V2.0V3V单片机4. 片上集成512字节RAM。5. 用户应用程序空间为8K字节。6. ISP在系统可编程/IAP在应用可编程,无需专用编程器,无需专用仿真器,可通过串口RxD/P3.0,TxD/P3.1直接下载用户程序,数秒即可完成一片。7. 通用I/O口32个,复位后为:P1/P2/P3/P4是准双向口/弱上拉,P0口是漏极开路输出,作为总线扩展用时,不用加上拉电阻,作为I/O口用时,需加上拉电阻。8. 具有看门狗功能。9. 具有EEPROM功能。10. 共3个16位定时器/计数器。即定时器T0、T1、T2。11. 外
28、部中断4路,下降沿中断或低电平触发电路,Power Down模式可由外部中断低电平触发中断方式唤醒。12. 通用异步串行口UART,还可用定时器软件实现多个UART。13. 工作温度X围:-40+85工业级/075商业级14. PDIP封装。STC89C52单片机的引脚图如下列图3.10图3.11STC89C52引脚图第4章 软件设计4.1 主程序模块的设计4.1.1 主程序的流程图本设计软件局部主要分为五大模块,分别为显示模块、超声波模块、电机驱动模块、红外遥控模块、主程序模块。其中定时器0用来计数器溢出,超出测量X围,T1用于检测脉宽信号;外部中断0用于红外遥控。在图4-1主程序流程图中,
29、开场时先是单片机的初始化,包括定时器初始化,外部中断的初始化,液晶的初始化。然后调用循迹子程序,小车正常行驶,如果遇到了障碍那么调用超声波模块子程序,判断前方30cm处是否有障碍物,如果检测到左右障碍那么小车后退到平安距离后,再次正常行驶。Y开关接通NY开场单片机初始化调用显示子程序调用测距子程序调用红外遥控子程序遥控信号调用避障子程序N由键值改变小车状态图4.1 主程序流程图4.1.2 主程序的设计void main()EN1 = EN2 = 1;/使能左右电机cmg88();/关数码管LCMInit(); /LCM初始化delay(5);/延时DisplayListChar(0, 0, R
30、ange);/1602第一行显示range数组的内容DisplayListChar(0, 1, table);/1602第二行显示table数组的内容TMOD |= 0x01;/定时器0工作方式1,16位定时模式TMOD = 0x20; /定时器1工作方式2,8位自动重装TH1 = 0x00; /写0,表示溢出一次时间是256个机器周期TL1 = 0x00;ET1 = 1; /开定时器1中断TR1 = 1; /启动定时器1IT0 = 1; /设置外部中断0的跳转方式EX0 = 1; /启动外部中断0TH0= 0; TL0= 0; ET0 = 1;/允许T0中断EA = 1;/开总中断while
31、(1) StartModule();/启动测距模块 while(!RX);/等待 TR0=1; /开启计数 while(RX);/计数并等待 TR0=0;/关计数 Conut();/计算距离 Avoid();/避障 if(IRok) /判断脉宽是否检测完毕 IRcordpro();/根据脉宽检测出4个字节的数据IRok = 0;/重新等待脉宽检测if(IRpro_ok) /判断是否解码完成 switch(IRcord2) case 0x18: forward(); /前进 delay(1000); break; case 0x52: backward(); /后退 delay(1000); b
32、reak; case 0x08: left_rapidly(); /左转 delay(1000); break; case 0x5A: right_rapidly(); /右转 delay(1000); break; case 0x1C: stop(); /停顿 delay(2000); break; default:break; IRpro_ok = 0; delay(65);4.2 电机驱动程序的设计4.2.1 电机驱动程序流程图电机驱动子函数默认前进返回正常前进检测到右障碍检测到左右障碍调用右转子程序调用前进子程序调用左转子程序调用后退子程序右电机停顿左电机正转左右电机正转右电机正转左电
33、机停顿左右电机反转小车右转小车前进小车左转小车后退检测到左障碍图4.2 电机驱动程序流程图电机驱动程序流程图如上图4.2,当接通电源开关时,小车那么调用默认前行程序,正常前行。超声波检测模块启用检测子程序。当检测到小车左侧有障碍物,那么小车调用右转子程序,使小车到达平安行驶距离,右转程序流程一样,不在赘述。如果小车检测到左右障碍,这时小车会短时间停车,然后调用后退子程序,使小车后退到平安距离,再次回到正常行驶状态。如果后退到一定距离还未到达平安行驶距离,那么小车那么会再次调用相应子程序使小车到达正常行驶的距离。4.2.2 电机驱动程序的设计#include sbit IN1 = P12;sbi
34、t IN2 = P13; sbit IN3 = P16; sbit IN4 = P17; sbit EN1 = P14;sbit EN2 = P15; void delay(unsigned int z)unsigned int x,y;for(x = z; x 0; x-)for(y = 114; y 0 ; y-);void main()EN1 = 1; EN2 = 1; IN1 = 0;IN2 = 1;IN3 = 1;IN4 = 0;delay(3000);EN1 = 0; EN2 = 0; delay(3000);EN1 = 1; EN2 = 1; IN1 = 1;IN2 = 0;IN
35、3 = 0;IN4 = 1;delay(3000);EN1 = 0; EN2 = 0; delay(3000);EN1 = 1; EN2 = 1; IN1 = 0; IN2 = 1; IN3 = 0; IN4 = 0; delay(3000);EN1 = 0; EN2 = 0; delay(3000);EN1 = 1; EN2 = 1; IN1 = 1; IN2 = 1; IN3 = 1; IN4 = 0; delay(3000);EN1 = 0; EN2 = 0; while(1);4.3 红外遥控程序的设计4.3.1 红外遥控模块流程图红外遥控子函数遥控信号返回发射前进信号发射左转信号发射
36、后退信号调用右转子程序调用前进子程序调用左转子程序调用后退子程序右电机停顿左电机正转左右电机正转右电机正转左电机停顿左右电机反转小车右转小车前进小车左转小车后退发射右转信号发射停顿信号调用停顿子程序左右电机停转小车停车图4.3 红外遥控模块流程图在图4.3 红外遥控模块流程图中,通过遥控器发射控制信号,然后检测分析P3.2口接收到的信号,从而控制小车的行驶状态。程序中为了缓和小车在行进中存在的惯性,所以每个状态切换时都会有一小段延时效果。4.3.2 红外遥控子程序设计void timer0() interrupt 1flag=1; void StartModule() TX=1; Delay1
37、0us(2); TX=0;void forward()left_motor_go; right_motor_go; void backward()left_motor_back; right_motor_back; void stop()right_motor_stops;left_motor_stops; void left_rapidly()left_motor_back;right_motor_go;void right_rapidly()left_motor_go;right_motor_back;4.4 测距避障模块程序的设计4.4.1 测距模块流程图NY测距子程序计算与障碍物的距离
38、调用显示子程序返回避障子程序有障碍?后退左转前进返回发射超声波接收返回超声波图4.4测距模块流程图测距模块流程图如图4.4,开场时单片机先给超声波测距模块Trig端发送一个高电平且这个高电平要持续20us,然后再给Trig端发送一个低电平,即启动了超声波测距模块,超声波测距模块会自动发送8个40KHZ的方波,等待是否有信号返回,如果有信号返回会通过IO口超声波测距模块的Echo端输出一个高电平,高电平持续的时间就是超声波从发射到返回的时间,测试距离=(高电平时间*声速(340M/S)/2,单位为mm。如果距离小于30cm,小车会后退并转向。4.4.2 测距模块程序设计void Conut(vo
39、id) time=TH0*256+TL0; TH0=0; TL0=0; S=(float)(time*1.085)*0.17; if(S=7000)|flag=1) flag=0; disbuff0=10; disbuff1=10; disbuff2=10; disbuff3=10; else disbuff0=S/1000; disbuff1=S%1000/100; disbuff2=S%100/10; disbuff3=S%10; 4.5 显示模块程序的设计4.5.1 显示模块流程图显示子函数初始化LCD1602显示屏液晶第一列显示:=Range Finder=液晶第二列显示:Distance:000.0mm完毕图4.5显示模块流程图图4.5为显示模块流程图,先是初始化LCD1602然后在液晶的第一行显示=Range Finder=液晶第二列显示Distance:000.0mm