基于单片机的运料小车控制系统设计_第1页
基于单片机的运料小车控制系统设计_第2页
基于单片机的运料小车控制系统设计_第3页
基于单片机的运料小车控制系统设计_第4页
基于单片机的运料小车控制系统设计_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

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

文档简介

基于单片机的运料小车控制系统设计摘要:随着智能控制和电子技术的飞速发展,自动控制系统的适应能力逐渐增强,其中以单片机为核心实现的自动控制装置因其体积小、功能强、可靠性高、简便易行而得到广泛应用。本设计是以STC89C52为核心的运料小车,主要包括以下模块:寻迹模块,避障模块,语音模块及电机驱动模块等。其能够实现自动寻迹、搬运货物,从而对传统运料方式的智能化和现代化程度进行改善和提升。该系统采用STC89C52与红外光电传感器结合,利用红外接收,发射传感器检测轨迹,控制运料小车自动寻迹,以及自动停车;同时具有避障功能和报警功能。关键字:STC89C52单片机,红外线光电传感器,寻迹,避障ThematerialcarcontrolsystemdesignbasedonsinglechipmicrocomputerAbstract:Withtherapiddevelopmentofintelligentcontrolandelectronictechnology,automaticcontrolsystemoftheabilitytoadaptgraduallystrengthen,amongthemwiththesinglechipprocessorasthecoretorealizetheautomaticcontroldevicebecauseofitssmallvolume,strongfunction,highreliability,simpleandwidelyused.ThisdesignisbasedonthematerialcarSTC89C52asthecore,mainlyincludesthefollowingmodules:tracingmodule,obstacleavoidancemodule,voicemoduleandmotordrivemodule,etc.Itcanrealizeautomatictracingandhandlingthegoods,bythetraditionaldeliverymethodimprovementandintellectualizationandmodernizationlevelofascension.STC89C52combinedwithinfraredelectricsensorusedinthissystem,theuseofinfraredreceivingandlaunchtheprobesensorstrackandcontrolthematerialcartracingautomatically,andautomaticallystop,Atthesametimehasobstacleavoidancefunctionandalarmfunction.Keywords:STC89C52microcontroller,infraredphotoelectricsensor,tracing,obstacleavoidance目录1.绪论.11.1研究背景及其目的意义.11.2设计要求.12.方案论证.32.1单片机选择论证.32.2STC89C52单片机.32.2.1STC89C52单片机的硬件结构.42.2.2STC89C52单片机管脚结构.42.2.3STC89C52单片机的内部存储结构.42.3总体设计.82.3.1循迹模块.82.3.2避障模块.112.3.3传感器设计.123.系统硬件设计.133.1复位电路.133.2晶振电路.143.3传感器电路.153.4电机驱动模块.173.5单片机的端口分配.193.6电源模块.194.系统软件设计.204.1系统软件的结构.205.仿真与调试.235.1编译环境.235.1.1KeilC51介绍.235.1.2KeilC51集成工具和用途.235.2仿真调试.24总结.26参考文献.27I致谢.28附录1:程序清单.29附录2:电路原理图.3601.绪论1.1研究背景及其目的意义早期运料小车电气控制系统多为“继电器接触器”组成的复杂系统,这种系统存在设计周期长、体积大、成本高等缺陷,几乎无数据处理和通信功能,必须有专人负责操作。后期系统通常把PLC控制技术与变频器调速相结合,利用PLC控制变频器,再通过变频器优良的调速性能,可实现运料小车的自动化控制。在工业快速发展,科技日新月异的今天,由于单片机控制技术、检测技术及电力电子技术的发展,作为辅助装置的送料机构自动化水平也需越来越高。提高自动化的水平不仅可以提高效率、产品的质量同时也能保证工人的人身安全。而单片机就是实现自动控制最重要的一环,它是单片微型计算机的简称;是把微型计算机的各个功能部件(中央处理CPU、随机存取存储器RAM、只读存储器ROM、I/O接口、定时器、计算器以及串行通信接口)集成在一块芯片上,构成一个完整的计算机1。单片机具有集成度高,体积小,成本低,控制能力强等诸多优点,因此运料小车将会逐渐向智能化发展。1.2设计要求本设计将通过单片机为运料小车的核心,设计一个智能的运料小车。它具有如下功能:寻迹功能,假设小车的运行路线是O形,只要在道路上涂上或贴上O形的黑线,小车就能沿线运行;避障和语音功能功能,当在运行轨道上遇到障碍物就会停止并发出警报提醒,没有障碍物就会继续行驶(这是为了避免撞上障碍物并且让小车不脱离轨道而这样设计的);当小车行驶到有加宽黑线的地方会停下来等待卸料。小车工作原理如图1.11图1.1小车工作原理22.方案论证2.1单片机选择论证对于单片机的选择有三种:一种是AT89C51、一种是AT89S51、另一种是STC89C52。目前AT89C51因为编程功能:AT89C51仅支持并行编程,不支持ISP在线更新程序,在编程电压方面,AT89C51的编程电压除正常工作的5V外,另外Vpp需要12V,工作频率更高,AT89C51极限工作频率是24MHZ,不满足需要所以已经停产,AT89S51支持ISP在线编程,最高工作频率为33MHZ使计算速度更快,有双工UART串行通道,内部集成看门狗计时器,双数据指示器,电源关闭标示,全新加密算法2。STC89C52单片机,兼有89S51的以上功能,在线编程方式通过串口,需要MAX232芯片做串口通信电路,AT89S51为并行编程方式,需要一个74HC24来做并行通信电路,相比来说STC在线编程方式简单点,价格上便宜些,这种单片机对开发设备的要求很低,开发时间也大大缩短。因此选用STC89C52单片机。2.2STC89C52单片机STC89C52作为本次设计的核心芯片如图2.1所示,是一个高性能,低功耗CMOS8位单片机,兼容标准MCS-51指令系统及80C51引脚结构,ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器,无需专用仿真器,可以通过串口直接下载用户程序,数秒即可完成一片功能强大的微型计算机。STC89C52可为许多嵌入式控制应用系统提供高性价比的解决方案。图2.1STC89C52单片机32.2.1STC89C52单片机的硬件结构STC89C52单片机系列的存储器用的是哈弗结构,指将程序和数据存储器截然分开,程序存储器和数据存储器都有自己的寻址方式、寻址空间和控制系统。STC89C52的存储器可以分成五类:程序存储器,内部数据存储器,特殊功能寄存器,位地址空间,外部数据存储器3。2.2.2STC89C52单片机管脚结构STC89C52有40引脚双列直插(DIP)、44引脚(PLCC)、44引脚(TQFP)封装形式。STC89C52的引脚功能如图2.2所示。其采用了CMOS技术制造,它集成度高、速度快、功耗低。图2.240引脚双列直插(DIP)封装图2.2STC89C52引脚功能2.2.3STC89C52单片机的内部存储结构STC89C52单片机片内总体结构的详细框图如图2.3所示,主要由9个部分组成,分别是:1个8位中央处理器;4KBFlash存储器;128B的数据存储器;32条I/O接口线(P0、P1、P2、P3);2个定时/计数器;1个具有6个中断源、4个优先级的中断嵌套结构;用于多处理机通信、I/O扩展或全双工UART的串行口;特殊功能寄存器(SFR);1个片内振荡器和时钟电路。4图2.3单片机内部结构简图STC89C52是一种带8K字节闪烁可编程可擦除只读存储器(FPEROM-FlashProgramableandErasableReadOnlyMemory)的低电压,高性能COMOS8的微处理器,俗称单片机。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。单片机总控制电路如下图2.4:图2.4单片机总控制电路振荡器和时序电路数据存储器程序存储器可编程串行口STC89C52中断控制总线扩展控制器并行可编程I/O两个16位定时器/计数器外部时钟源TXDRXD外部事件计数外部中断内部中断控制P0P1P2P35(1)时钟电路STC89C52内部有一个用于构成振荡器的高增益反相放大器,引脚RXD和TXD分别是此放大器的输入端和输出端。时钟可以由内部方式产生或外部方式产生。其内部方式的时钟电路如图2.5(a)所示,在RXD和TXD引脚上外接定时元件,内部振荡器就产生自激振荡。定时元件通常采用石英晶体和电容组成的并联谐振回路。晶体振荡频率可以在1.212MHz之间选择,电容值在530pF之间选择,电容值的大小可对频率起微调的作用4。外部方式的时钟电路如图2.5(b)所示,RXD接地,TXD接外部振荡器。对外部振荡信号无特殊要求,只要求保证脉冲宽度,一般采用频率低于12MHz的方波信号。片内时钟发生器把振荡频率两分频,产生一个两相时钟P1和P2,供单片机使用。(a)内部方式时钟电路(b)外部方式时钟电路图2.5时钟电路STC89C52具体介绍如下:主电源引脚(2根)VCC(Pin40):电源输入,接5V电源GND(Pin20):接地线外接晶振引脚(2根)XTAL1(Pin19):片内振荡电路的输入端XTAL2(Pin20):片内振荡电路的输出端控制引脚(4根)RST/VPP(Pin9):复位引脚,引脚上出现2个机器周期的高电平将使单片机复位。6ALE/PROG(Pin30):地址锁存允许信号PSEN(Pin29):外部存储器读选通信号EA/VPP(Pin31):程序存储器的内外部选通,接低电平从外部程序存储器读指令,如果接高电平则从内部程序存储器读指令。可编程输入/输出引脚(32根)STC89C52单片机有4组8位的可编程I/O口,分别位P0、P1、P2、P3口,每个口有8位(8根引脚),共32根。P0口(Pin39Pin32):8位双向I/O口线,名称为P0.0P0.7P1口(Pin1Pin8):8位准双向I/O口线,名称为P1.0P1.7P2口(Pin21Pin28):8位准双向I/O口线,名称为P2.0P2.7P3口(Pin10Pin17):8位准双向I/O口线,名称为P3.0P3.7STC89C52主要功能如表2.1所示。表2.1STC89C52主要功能主要功能特性兼容MCS51指令系统8K可反复擦写FlashROM32个双向I/O口256x8bit内部RAM3个16位可编程定时/计数器中断时钟频率0-24MHz2个串行中断可编程UART串行通道2个外部中断源共6个中断源2个读写中断口线3级加密位低功耗空闲和掉电模式软件设置睡眠和唤醒功能72.3总体设计本系统可分为控制部分和信号检测部分。其中控制部分包括:电机驱动模块,声光报警模块。信号检测模块包括:避障模块,寻迹模块。系统模块框图如下图2.6所示。图2.6系统基本模块方框图2.3.1循迹模块图2.7光电对管检测电路如上图2.7,这里的循迹是指小车在车间地面上循黑色轨迹行走,通常采取的方法是红外探测法。红外探测法,即利用红外线在不同颜色的物体表面具有不同的STC89C52避障模块循迹模块电动机驱动模块8反射性质的特点,在小车行驶过程中不断地向地面发射红外光,当红外光遇到白色地板时发生漫反射,反射光被装在小车上的接收管接收;如果遇到黑线则红外光被吸收,小车上的接收管接收不到红外光。单片机就是否收到反射回来的红外光为依据来确定黑线的位置和小车的行走路线。红外探测器探测距离有限,一般最大不应超过15cm。对于发射和接收红外线的红外探头,可以自己制作或直接采用集成式红外探头。方案一:自制红外探头红外光的发送接收选用型号为RPR220的对管。当小车在白色地面行驶时,装在车下的红外发射管发射红外线信号,经绿色反射后,被接收管接收,一旦接收管接收到信号,那么图中光敏三极管将导通,比较器输出为低电平;当小车行驶到黑色轨迹线时,红外线信号被黑色吸收后,光敏三极管截止,比较器输出高电平,从而实现了通过红外线检测信号的功能。将检测到的信号送到单片机I/O口,当I/O口检测到的信号为高电平时,表明红外光被地上的黑色引导线吸收了,表明小车处在黑色的轨迹线上;同理,当I/O口检测到的信号为低电平时,表明小车行驶在白色地面上。此种方法简单,价格便宜,灵敏度可调,而且此电路电池供电的压降较小5。方案二:集成式红外探头可以采用型号为E3FDS10C4集成断续式光电开关探测器,它具有简单、可靠的工作性能,只要调节探头上的一个旋钮就可以控制探头的灵敏度。该探头输出端只有三根线(电源线、地线、信号线),只要将信号线接在单片机的I/O口,然后不停地对该I/O口进行扫描检测,当其为高电平时则检测到白色,当为低电平时则检测到黑线。此种探头还能有效地防止普通光源(如日光灯等)的干扰。其缺点是它对路径的检测是离散值不能连续检测到黑线的位置,而且集成式红外探头体积比较大,占用了小车有限的空间。考虑到检测路线的及时性,所以选择了方案一。红外探头的安装:在运料小车具体的循迹过程中,为了能精确测定黑线位置并确定小车行走的方向,需要同时在底盘装设3个红外探测头,提高其循迹的可靠性,安装方式如图2.8。小车行走时,始终保持黑线在中间传感器之下,当小车偏离黑色轨迹线时,单片机就会按照预先编定的程序发送指令给小车的控制系统,控制系统再对小车运动方向予以纠正。若小车回到了轨道上,即中间的传感器都只检测到黑线,则小车会继续行走;当三个传感器同时检测到黑色轨迹时,小车停止等待装料或卸料。红外线传感器的工作过程具体如下:行车方向向右偏离轨迹线的时候,会有9两种情况发生。第一种:中间和左侧红外线传感器同时接触到地面轨迹线、右侧传感器接触白色地面;第二种:左侧一个传感器接触地面轨迹线、中间和右侧传感器接触地面白色部分。这两种情况都是行车方向右偏移的情况。相似的小车发生左偏移的时候也有两种情况。所以根据这些不同的状态可以列出小车行车的行进状态6如下表2.2。表2.2光敏传感器状态真值表传感器编号小车状态左中右正常行驶010轻微右偏110严重右偏100轻微左偏011严重左偏001脱离引导线000停车111注:表中“1”表示红外传感器检测到黑色,“0”表示红外传感器检测到白色ABC主动轮主动轮万向轮图2.8循迹传感器安装示意图光电传感器在使用过程中要注意几个问题。首先,要提高器件的一致性:一是10发射接收器件两者的波长特性一致;二是发射接收传感器组对时,各方面性能应尽量比较接近;三是安装状态一致,如各对传感器的间距、高低、偏角等,因为这些因素都会影响光的反射和接收;其次,光电传感器应尽量靠近地面,以便减少外界光源对传感器的干扰。垂直高度为510mm为宜,离地面过远,光反射信号差,信号不强;离地面过近,会导致反射角度太大,加剧光漫射干扰的影响,故应适当,以保证传感器具有最佳的反应。光电传感器检测路线原理如图2.9:图2.9光电传感器检测原理图2.3.2避障模块避障模块选用红外光电开关E3F-DS30C4,其电路原理图如图2.10所示。这种光电二极管应用使用简单,共有三个引脚,即:Vcc、GND以及信号输出端,可直接与单片机某个管脚相连。E3F-DS30C4按照检测方式可分为三种类型,包括:漫反射型、反馈反射型以及对射型。本设计采用的是漫反射型PNP型,当传感器检测到前方存在障碍物时,会立即将电平信号拉低,并传送至单片机。此外,这种传感器的检测距离一般在0-30cm内可调,对于本次设计的避障功能来说,其检测障碍物范围可以达到要求。这种外围器件少、操作简单,适用于搬运车的寻迹功能设计。避障传感器还包括一个蜂鸣器,选用P1.5管脚进行控制。图2.11是单片机触发蜂鸣器的连接电路图。由于从I/O口输出电流值很小,不足以驱动蜂鸣器发声,因此设计中在单片机I/O口P1.5与蜂鸣器之间添加一个C8550三极管对驱动信号实现放大,从而驱动蜂鸣器使其发声。感光元件感光元件outout11图2.10红外光电开关E3F-DS30C4图2.11蜂鸣器2.3.3传感器设计在传感器方案的选择中,有两种方案供参考。方案一:使用CCD传感器来采集路面信息。使用CCD传感器,可以获取大量的图像信息,可以全面完整的掌握路径信息,可以进行较远距离的预测和识别图像复杂的路面而且抗干扰能力强。但是对于本设计来说,使用CCD传感器也有其不足之处。首先使用CCD传感器需要有大量图像处理的工作,需要进行大量数据的存储和计算。因为是以实现小车视觉为目的,实现起来工作量较大,电路复杂。方案二:使用光电传感器来采集路面信息。使用红外传感器最大的优点就是结构简明,实现方便,成本低廉,免去了复杂的图像处理工作,反应灵敏,响应时间低,便于近距离路面情况的检测。但红外传感器的缺点是,它所获取的信息是不完全的,只能对路面情况作简单的黑白判别,检测距离有限,而且容易受到诸多扰动的影响,抗干扰能力较差,背景光源,器件之间的差异,传感器高度位置的差异等都将对其造成干扰7。在本次设计中,轨道为黑色,小车只要能够正确区分黑白色就可以采集到准确的路面信息。所以经过综合考虑,在本设计中采用红外光电传感器作为信息采集元件。123.系统硬件设计本设计的小车硬件设计主要是电路设计,主要内容包括对核心单片机、还有复位操作方式、晶振频率、传感器电路设计、电源管理模块、电机驱动模块。这些电路设计都以简单、实用为原则进行设计。其中复位电路、晶振电路和电源构成了单片机的最小系统。下面是详细介绍。3.1复位电路复位是单片机的初始化操作,其主要功能是PC初始化为0000H,使单片机从0000H单元开始执行程序。除了进入系统的正常初始化外,由于程序运行时出错或操作错误使系统处于死锁状态时,为使单片机正常工作,也需按复位键以从新启动。除PC之外,复位操作还对其它特殊功能寄存器有影响。复位操作还对单片机的个别引脚信号有影响。它们的复位状态见表3.1。例如;在复位期间ALE和PSEN信号变为无效状态,即ALE=1,PSEN=1。(1)复位信号及其产生RST引脚是复位信号的输入端,复位信号为高电平有效,其有效时间将会持续1324个振荡脉冲周期(即两个机器周期)以上。若使用频率为6MHZ的晶振,则复位信号持续时间在超过4微秒才可以完成复位操作。整个复位电路包括芯片内、外两部分。外部电路产生的复位信号(RST)送施密特触发器,再由片内复位电路在每个机器周期的S5P2时刻对施密特触发器的输出进行采样,然后才得到内部复位操作所需要的信号。(2)复位操作方式复位操作有上电自动复位、按键电平复位、外部脉冲复位和自动复位四种方式。本次设计采用的是上电复位,上电复位是通过外部复位电路的电容充电来实现的,只要电源VCC的上升时间不超过1ms,就可以实现自动上电复位,即接通电源就完成了系统的复位初始化8如图3.1。复位时间计算方式:(R)*(C)=(欧姆)*(法拉)秒R8.2K,C10UF则延时时间是(8.2*1000)*(10/1000000)0.082秒图3.1单片机复位电路图表3.1一些寄存器的复位状态寄存器复位状态寄存器复位状态PC0000HTCON00HACC00HTL000HPSW00HTH000HSP07HTL100HDPTR0000HTH100HP0-P3FFHSCON00H14IPXX000000BSUBF不定IE0X000000BPCON0XXX0000BTOMD00H3.2晶振电路晶振电路是单片机必不可少的部分,这种电路是单片机内部振荡电路,只需要在单片机的XTAL1和XTAL2引脚边接一个晶体振荡器或一个陶瓷振荡器,并通过两个电容后接地即可,XTAL1和XTAL2分别为单片机片内反相器的输入和输出端口,因为单片机内部工作需要时钟,产生机器周期,振荡电容一般选取10-30PF,振荡电路的频率要满足单片机的工作频率要求,单片机才能正常工作。如图3.2所示stc系列单片机是12分频,如用12M的晶振分频后就是12M/12=1M一个指令周期就是1/1M=1us这样使单片机具有良好的抗干扰能力。图3.2单片机晶振电路图3.3传感器电路寻迹传感器模块的设计是整个运料小车设计中很重要的一部分,其作用就相当于人的眼睛和耳朵,采集外部路面的信息并将其送入单片机进行数据处理,它能否正常工作直接影响着小车对路面的判断以及小车下一步该怎么走,因而其布局的合理性与有效性对小车稳定而又快速的行驶起着关键的作用。我认为在传感器的布局中,要解决两个问题:信息检测的精确度和信息检测的前沿性。(1)本设计中选用的传感器如图3.3所示,白色为:红外发射探头(连续的发射红外光线)。黑色为:红外接收探头(接收反射回来的红外光线)。15图3.3红外发射管与红外接收探头本设计中安装了三组红外探头,排成三角形。传感器电路图如图3.4所示,详细全图见附录图3.4红外发射与接收探头相关的匹配电阻220电阻:红外发射器的降压与限流电阻(完成对红外发射器的保护)。因为单片机的电源是5V,流过发光二极管的电流小于20MA,发光二极管的管压降为1.7V2V。故根据单片机电源减去二极管管压降除以流过二极管的电流,就可以得到所需电阻。15K电阻:红外接收探器的光信号变电信号电阻(完成转换反射回来的光信号)。15K的电阻选择是随意选择的,也可以选择10K、20K。因为红外接收探16头在工作时,就相当于一个开关,所以电阻是随意的。红外发射与红外接收,V1红外发射器:主要完成对红外线的发射,V2红外接收器:主要将反射回来的红外光线接收到并由电阻转换为电信号9。(2)寻迹小车的寻迹原理寻迹小车之所以能够寻迹,主要是由小车下方的两对红外发射与接收探头来完成的。我们知道光有反射特性,所以说当下方的红外发射出来的光线遇到物体时,就会形成反射的光线,而这个经反射的红外光线刚好被红外接收探头接收到,当红外接收探头接收到信号后,再将转变成的电信号送到单片机由单片机内部的程序来控制运料小车的运行。那么如何知道是黑线还是白线呢?原来红外光线有一个反射特性,即对于不同颜色的物体反射特性是不一样的,那么我们就可以利用这个特性来完成对路面情况的判断。通过电路的合理安装,可以将这种接收到的红外光线变化量转换为电压值传送到单片机中,返回的电压值为低电平,从而单片机就可以进行各种智能化控制了。3.4电机驱动模块L9110是为控制和驱动电机设计的两通道推挽式功率放大专用集成电路器件,将分立电路集成在单片IC之中,使外围器件成本降低,整机可靠性提高。该芯片有两个TTL/CMOS兼容电平的输入,具有良好的抗干扰性;两个输出端能直接驱动电机的正反向运动,具有较大的电流驱动能力,每通道能通过750800mA的持续电流,峰值电流能力可达1.52.0A;同时它具有较低的输出饱和压降;内置的钳位二极管能释放感性负载的反向冲击电流,使它在驱动继电器、直流电机、步进电机或开关功率管的使用上安全可靠。L9110被广泛应用于玩具汽车电机驱动、步进电机驱动和开关功率管等电路上。特点:低静态工作电流;宽电源电压范围:2.5V-12V;每通道具有800mA连续电流输出能力;较低的饱和压降;TTL/CMOS输出电平兼容,可直接连CPU;17输出内置钳位二极管,适用于感性负载;控制和驱动集成于单片机IC之中;具备管脚高压保护功能;工作温度:0-80。直流电机的控制一般由单片机的PWM信号来完成,因为单片机引脚产生的电流很小,不足以驱动需要大电流的电机,所以在这里我采用电机驱动芯片L9110,让单片机控制他,来间接的驱动电机,他的输入只要一个单片机信号,输出脚可以输出很大的电流10。电路图示见图3.5,管脚定义见表3.2,管脚波形图如图3.6。图3.5电机驱动电路图表3.2管脚定义表序号符号功能1OAA路输出管脚2VCC电源电压3VCC电源电压184OBB路输出管脚5GND地线6IAA路输出管脚7IBB路输出管脚8GND地线图3.6管脚波形图直流减速电机转动力矩大、体积小、重量轻、装配简单、使用方便,运料小车的电机内部装有减速齿轮组,故并不需要考虑调速功能,很方便的就可以实现通过单片机对直流减速电机前进、后退、停止等操作。3.5单片机的端口分配以STC89C52为主芯片,通过这些端口加以信号输入电路,控制电路,执行电路共同完成运料小车运行。40脚的DIP封装使它拥有32个完全IO(GPIO通用输入输出)端口,通过对这些端口加以信号输入电路,控制电路,执行电路共同完成小车的各个功能。P1.0,P1.1,P1.2,P1.3分别通过LG9110电机驱动来驱动电机1和电机2。由俩电机的正转与反转来完成小车的前进,后退,左转,右转,避障等基本动作。在小车前进时如果前方有障碍物,由红外发射管发射的红外信号被反射给红外接收管,红外接管将此信号经过P0.4传送入AT89S52中,同时主芯片将信号状态通过P1.5输出给蜂鸣器发出警报。小车行走时会通过P0.1、P0.2和P0.3的红外接收探头来进行检测,从而实现小车对路面情况的采集。193.6电源模块如图3.7电源供电采用输入为9V电源,经三端稳压器LM7805降压稳压得到5V电源供其他电路使用。当S2闭合时,LED点亮,说明电路已供电。图3.7电源电路4.系统软件设计4.1系统软件的结构寻迹子程序流程图如图4.1否检测黑线启动循迹是否跑偏否20图4.1寻迹子程序流程图寻迹子程序如下:/寻迹子程序/#include#include#include#include#include#include/寻线函数:Follow()voidFollow(void)INT8Utemp;temp=Follow_L;temp=(temp/*引脚定义*/电机引脚/左边电机/sbitRMot_AP=P11;sbitRMot_AN=P12;/右边电机/sbitRMot_BP=P13;sbitRMot_BN=P14;/寻线电路引脚/sbitFollow_L=P31;sbitFollow_M=P32;sbitFollow_R=P33;/障碍物检测引脚/sbitHinder_DTC=P04;/语音报警/sbitGuide=P15;/延时子程序Delay/#include#include#include/短延时/voidnNop(INT8Ui)for(;i0;i-);29/长延时/voidLDelay(INT16Ui)INT16Uj;for(;i0;i-)for(j=80;j0;j-);/定时器T0溢出做延时函数:T0_Delay()/voidT0_Delay(INT16Utemp)INT16Ucnt;cnt=65536-100*temp;/晶振:12MHzTMOD=TMOD|0x01;/T1工作在方式1(16位计数器)TH0=(INT8U)(cnt8);TL0=cntTR0=1;while(TF0!=1);TF0=0;TR0=0;/避障子程序/#include#include#include#include#include/障碍物检测:Hinder_DTC()bitHinder_DTC()30bitx;if(Hinder_DTC=1)/检测到障碍物LMotStop();RMotStop();Guide=1;/报警x=1;elseGuide=0;x=0;returnx;/初始化定义程序/#ifndef_CONFIG_H_#define_CONFIG_H_typedefunsignedcharINT8U;/无符号8位整型变量ty

温馨提示

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

评论

0/150

提交评论