基于单片机的汽车倒车防撞系统设计

上传人:Q145****609 文档编号:12883079 上传时间:2020-06-01 格式:DOCX 页数:47 大小:771.22KB
返回 下载 相关 举报
基于单片机的汽车倒车防撞系统设计_第1页
第1页 / 共47页
基于单片机的汽车倒车防撞系统设计_第2页
第2页 / 共47页
基于单片机的汽车倒车防撞系统设计_第3页
第3页 / 共47页
点击查看更多>>
资源描述
基于单片机的汽车倒车防撞系统设计Design of Reversing Collision AvoidanceSystem Based on Single Chip Microcomputer摘 要: 车辆的用于防撞的体系是结合单片机基本部件予以控制的并采用超声波技术进行距离测量的一种技术,他是运用AT89C51类型的定时装置发生一定的从超声波脉冲进行计算时间的,通过时间来测量其基本距离,用12864液晶显示器显示汽车前方的障碍物距离,当距离小于安全阀值时,报警电路进行声音报警,而针对在驾驶员两侧及后方视线盲区内的障碍物,在车辆两侧以及尾部安装红外测障装置实现避碰。整个基本系统的硬件设备主要由基本的电源电路、超声波装置进行收取和发生的装置电路、红外线进行避开障碍的电路、用于显示的电路、以及报警装置的电路予以组成,并把硬件设备和软件程序有机的结合在一起,从而有效的实现每个分模块的基本功能。此系统具有成本低廉、工作可靠等优点。关键词:AT89C51,超声波测距,红外避障Abstract:Vehicles used for collision avoidance system is a basic components combined with single chip microcomputer to control and use of the technique of ultrasonic distance measurement technology, he is using AT89C51 type of timing device must be calculated from the ultrasonic pulse time, through the time to measure the basic distance, use 12864 LCD display shows the obstacles in front of the car distance, when the distance is less than the relief valve value, voice alarm, alarm circuit and aiming at the driver side and rear obstacles within the line of sight to blind area, and the tail installed on both sides of the vehicle collision avoidance obstacle infrared measuring device implementation. The basic system of hardware is mainly composed of basic power supply circuit, ultrasonic device for charging and proceed to avoid obstacles device circuit, infrared circuit, is used to display circuit, and alarm circuit, and the hardware and software program organic unifies in together, thus effectively realize the basic function of each points module. This system has the advantages of low cost, reliable work.Keywords:AT89C51 ultrasonic distance measurement Infrared obstructionIV目 录1 绪论12 系统方案设计23 硬件电路设计43.1 单片机微控系统背景介绍以及最小系统模块设计43.1.1单片机介绍43.1.2复位电路63.1.3晶振电路73.2超声波测距模块83.2.1 超声波测距原理83.2.2 超声波发射模块和接收模块的基本原理93.3 温度补偿模块103.4液晶显示模块113.5报警模块133.6 红外避障传感器模块143.7 紧急刹车电路模块144 软件设计154.1 程序设计总方案154.2显示程序模块174.3中断程序模块184.4 温度补偿模块DS18B20的程序编写18结论20参考文献21致谢23附录124附录225附录3261 绪论1.1 交通事故产生的原因伴随着中国经济实力的快速提升与汽车科学技术的进步,汽车行业正如同雨后春笋般蓬勃发展,高速公路近年表现出行驶速度加快,车辆密度加大的现象,驾驶员逐渐演变成一种职业。汽车车辆领域的高速发展给社会带来的结果是车辆设备的生产以及销售数量的越来越多。但是公路建设却相对落后交通管理也有很多不是很人性化的地方。随着科技进步和经济发展,汽车作为代步工具与我们的生活息息相关,但也有各种各样的问题随之而来,那就是交通事故发生几率的增加严重威胁着我们的人身安全和财产安全。汽车数量的增多导致车辆均占空间急剧缩小,致使驾驶员在驾驶汽车的时候需要有非常娴熟的技术,从而造成许多驾车技术生疏的驾驶员面对很大的困难。调查发现,很多的车祸事故都是驾驶员在进行倒车时由于看不清车辆后方的情况而造成的。因此,如果在倒车时能够获知后方的障碍物与汽车的确切距离,并且在即将发生事故前能够做到预警,如此便能有效降低汽车事故的发生,这也是设计的汽车倒车防撞系统主要解决的问题。1.2汽车防撞系统国内外研究现状 汽车车辆的基本防止撞击的体系属于ITS基本系统的一个基本的分支结构,防止撞击模块的性能很大程度上决定了整个系统的质量。根据以往的研究,汽车安全的研究方向有两个。一是主动式安全防范,直接把交通事故扼杀在摇篮之中,这种方法也是最理想的,是汽车安全研究的最终目标;二是被动式安全防范,在交通事故发生后采取应急措施把损失降到最低,保护驾驶员人身安全。因为研究难度差异,第二种研究方向相对简单,所以现在多数研究机构的研究方向都是被动式安全防范。被动类型的基本安全防范的研发设计主要包含了悬架结构,ABS(用于防止抱死的结构体系)以及用于安全保证的气囊结构等方向。达到驾驶员和乘车人员人身安全保障的目的。被动式安全防范在保护车辆和人员时作用有限,无法充分保证人和车的安全。从上面的基本分析可以看出,主动的去避开障碍物,对汽车的安全以及人的安全有着重大的意义,在车辆发生危险之前向驾驶员提供声光报警信号,保证驾驶员可以在第一时间做出反应避免事故的发生,保证人身和财产的安全。有关交通事故的报告指出,大多数车祸都是由于司机无法在事故发生时做出有效及时的反应而导致的。汽车追尾而发生的车祸在总体车祸中也有很大比重,还有小部分是侧面相撞。如果司机可以在事故发生前几秒钟可以做出正确反应,那么可以防止很多交通事故发生。1.3 针对交通事故原因及研究现状所进行的设计超声波测距系统等主动式汽车安全防范装置的研究可以减少司机的压力,增加反应速度,大大保证了交通行驶安全。超声波测距系统的研究与开发是现在和未来都值得大力提倡的。在汽车前方位置配置超声波探头,侦测汽车与障碍物之间的确切距离并通过液晶12864显示,当低于安全限值时触发蜂鸣器预警,避免了汽车正向行驶时与障碍物的碰撞。在汽车车尾以及两侧安装红外避障装置,自动检测车辆两侧及后方的障碍物并能实现对车辆的紧急制动。通过汽车防碰撞系统的应用避免了汽车事故,有效的防止了经济损失和人员伤亡。汽车防撞系统的应用是主动式汽车安全防范的重要研究,在对驾驶员和车内其他人员的保护上有了很大提高,汽车驾驶员可以在驾驶的过程中集中精力在操纵汽车上而不是时刻担心交通事故的发生,使行车更安全可靠,极大减轻了驾驶员的压力。设计课题的的核心控制策略是通过单片机对外围电路进行综合控制,具体可实现以下功能:对车辆前方障碍物的具体位置实现准确显示,从而能够有效的结合驾驶员进行整个车辆和人员的安全调节控制;在整个车辆的侧面位置以及后方位置能够很有效的发现车周围的物体的基本位置,并能根据位置进行基本的制动。2 系统方案设计设计的主要任务是要求运用单片机编程技术以及数字芯片的基础知识设计出一套能够对汽车行驶过程中遇到的障碍物进行侦测并能够将数据实时反馈到控制端进行显示,紧急时刻通过报警模块进行预警,或者制动发动机避免碰撞。本文研究的基本硬件电路的框图如下面的图所示:图2-1 汽车防碰撞系统设计总方案2.1测距系统方案设计 通过超声波技术进行距离的测量系统是通过分析超声波从发出那一刻到回收那一刻的基本时间差值,并通过其运行速度 来判断其基本距离的大小。此类的测量距离的方式往往有精准率高的优势,然而其不足在于,整个超神波在空气中的传播距离有限,所以不能够实现远距离的测量,由于本文的汽车测距的基本范围是5到8m,所以本文采用超声波进行距离的测量很有效果。2.2避障系统方案设计通过红外线光线进行障碍物避开的感应装置的基本功能是将检测到哦的基本信息传递给单片机控制机构,此后单片机控制机构将这个障碍信息传递给车辆的制动装置,对车间进行制动停车,红外避障传感器具有使用简单,抗干扰能力强,价格低,容易制作的优点。2.3显示模块方案设计显示模块的方案设计尤为重要,因为显示模块是人与系统进行交互的直接方式。驾驶员通过观察显示模块来确认汽车的驾驶是否安全。显示模块在汽车防撞系统中的作用是实时显示汽车与障碍物的距离,从而反馈给驾驶员。因为LED数码管容易与电路进行连接和控制,工作条件要求小,显示亮度强,价格便宜,所以采用LED数码管。2.4声光报警系统方案设计当驾驶员没有精力观察显示模块的时候,声光报警系统就显得不可或缺,当汽车与障碍物的距离小于安全距离是,单片器向蜂鸣器和红色LED发光二极管发出指令,蜂鸣器响,红色LED发光二极管闪烁。优点是简单直接,价格合理,易于组装。2.5汽车紧急制动方案设计当声光报警系统已经报警给驾驶员而驾驶员并没有采取应急措施的时候,需要汽车自行紧急制动以避免交通事故的发生。本文的研究设机中欲采用电动机装置驱动刹车装置进行停车。3 硬件电路设计3.1 单片机微控系统背景介绍以及最小系统模块设计3.1.1 单片机介绍单片机诞生20世纪70年代。在初期,受电子技术以及数字技术的制约,单片机只是最简单的八位机,处理速度以及拓展功能相比PC严重受限。但是在一般的工业控制场合并不需要满足如此多的功能,也不需要如此高的处理速度。而且对于一般的工业控制场合不能提供如此大的体积。基于以上的要求,对于控制核心的体积要求就变得至关重要。所以单片机的处理速度和功能虽然不及PC,但是其完全可以满足工业现场的控制要求,并且其微小的体积完全适应工业现场的空间要求。AT89C51类型的单片机结构部件里面的基本程序存储装置是属于能够被多次擦写的Flash只能够读写的存储装置。他是属于具有四十个基本引脚结构的控制装置,单片机部件是具有有十分丰富的指令功能,单片机结构部件的基本引脚部件如下图所示:图3-1 单片机引脚下面将一一介绍这些引脚的具体功能:VCC:单片机部件的基本电源端位置;GND:单片机结构部件的连接地面端位置; RST:单片机的复位端,具体电路介绍见下面;XTAL1、XTAL2:单片机晶振电路连接端,为单片机的正常工作提供工作频率,工作时,用万用表测量晶振两端,可见不停跳变的电压。本文的设计研究选用12MHZ类型的晶振结构作为单片机结构部件的作业晶振器件。P0口:他是属于两个方向的8位口,能够进行独立的基本控制调节。需要在外部加上拉电阻,才能对单片机的P0口进行控制。P1、P2:准双向口,与P0口不同的是,内带上拉电阻,不需要在单片机外部接上拉电阻便可对其进行控制。P3:除了具备P1、P2的功能以外,还可以做其它功能。3.1.2 复位电路针对单片机装置来说呢,在他的整个基本使用过程中,往往是受程序的驱动影响,或者是说整个部件受到外围的基本环境的影响,所以在使用过程中会存在卡机的情况,为了克服这种情况带来的工作不便,在单片机的最小系统上加入了复位电路模块。所谓复位电路,就是单片机的RST引脚需要被送入大于两个周期的高电平。而为了达到这一目的,电解电容起到了重要作用。对于电子产品来说,其复位电路的重要性不言而喻,对于保证电子产品的正常工作具有无可替代的作用。单片机基本结构部件的复位作业电路的使用原理如下面所示:在按键还没有被按住的时候,基本电源VCC结合电解的基本电容以及电阻形成了一个基本的通道,这个时候单片机结构部件的复位的引脚结构基本是处于低电平的状态。直到按键被按下,电源电压VCC停止向电解电容供电,此时电解电容开始放电,使单片机复位引脚保持高电平。本文的研究设计我们选取电解的基本电容大小为10uf,电阻的基本大小为10K。其硬件电路图如图3-2所示:图3-2 复位电路3.1.3 晶振电路晶振在一定的电压差下,由于其内部独特的内部结构,使其产生高频率的振荡,作为单片机的时钟周期经十二分频作为机器周期为单片机的内部执行其程序存储器的机器指令提供微秒级的精确执行时间。在单片机的硬件电路中,经常会遇到单片机的外围器件毫无反应,这时,应该想到其最基本的电路正常工作条件晶振起振。相当于人类心脏跳动为身体提供血液一样。对于单片机的工作中心晶振来说,晶振通过发出高频率的脉冲,从而使单片机能够正常、准确的工作。所以,由于其主要的工作方式是通过脉冲来完成,极易受到外部电路的干扰,所以应尽可能地减少外部电路的影响,而且在焊接的时候注意不要虚焊、断焊。不然的话会将很大的影响单片机结构部件的基本正常作业。在晶振部件的基本选取设计上,本文的设计选取了12MHZ的晶振结构部件。虽然,有更高频率的晶振可供选择,例如,24MHZ的晶振能够提供更短的指令执行时间,甚至,还有更高的单片机晶振可供选择。但是,对于8位单片机这种低速微处理器来说,其晶振的选择受到单片机功耗的严重限制。综合各种状况来说,我们选择12MHZ来提供单片机的工作时序。晶振的硬件连接电路如图3-3所示:图3-3 晶振电路3.2超声波测距模块3.2.1 超声波测距原理超声波结构的探测装置的基本作业信号是超声波,它属于一种拥有特别高频率的一种信号因素,其在整个的传播的方向方面的性能非常好。作为一种集成度很高的数字器件,超声波探测器极好的简化了电路。超声波的存在是一种波动的基本形式,与此同时又属于一种能量的基本形式。通过超声波信号进行距离的测量的基本途径往往包含了三种,他们依次是通过相位进行检测的方法、通过声波幅值进行检测的方法法和渡越时的检测方法法。通过相位进行检测的方法是通过测量返回波以及反射两者波形的基本相位差大小来判断其基本的距离大小,他的基本精度等级很高,但是其不足在于检测的基本范围不是很大。通过声波幅值进行检测的方法是看回波的基本幅度的大小测量距离大小,他的基本不足是比较易受反射的基本介质的影响。渡越时的检测方法是通过回波的基本返回时延来测量距离时间检测法是居中的,应用属于比较广泛的。通过单片机结构部件进行控制超神波进行测量距离的基本公式如下,结合信号在发送以及接收后的两个基本时间差t,测算出距离大小d。 (3-1) 其中,v为超声波波速(m/s) 空气中: 海水中:超声波探测器探测到的实时数据可以通过液晶显示器12864显示出来,并且由于探测器受环境的的影响,加入了温度补偿模块。红外避障装置检测视线盲区的障碍物并通过自动刹车装置对车辆进行制动。本次设计结构简单,易于控制,成本价格低廉,性价比高。超声波的探测装置的基本作业原理图如下所示:图3-4 超声波测距基本原理图3.2.2 超声波发射模块和接收模块的基本原理反相装置、钽电容和超声波发生装置上个一起构成了发射的基本电路。结合单片机结构部件的一个端口进行产生脉冲分别由一级以及两级反相装置送到超声波发生装置的的两个基本电极位置,。接收电路的前后级电路分别对返回的信号进行增强以及校正,使其易被单片机接收。超声波探测器的接收探头和发射探头只是结构稍有不同,原理图如图3-5和图3-6所示:图3-5 超声波发射模块图3-6超声波接收模块超声波用于换能的基本装置以及他的反向装置一样组成了超神波装置的发射基本电路。40千赫兹的方波类型的型号有单片机结构部件的一个P1.0端口位置进行输出之后经过一级反向装置后到达超声波换呢个装置的一个电极位置。另外一个电路经过输出之后经过二级反向装置后到达超声波换呢个装置的另外一个电极位置。如此设计能够加大整个发射电路的驱动能力。 超声波装置的基本接收的电路往往是有用于接收的探头部件、信号的基本放大电路以及超声波的形状的转换的电路进行组成的,本文的研究设计当中采用是通过红外线进行检测波进行接收的专业类型的芯片结构个,整个电路中电阻部件的基本功能是提高整体的灵敏度大小和抗干扰能力大小。3.3 温度补偿模块本文设计的补偿体系是由单线的数字温度感应装置(其型号是DS18B20)以及单片机结构部件予以综合组成的,其优势是价格比较低,运行的可靠性能比较高,以及精度等级高的特点,而且其具有比较好的抵抗外界干扰的能力,所以具有比较好的使用价值。DS18B20类型的温度感应装置在进行实际的作业的时候是使用本身独有的温度感应技术。由于超声波探测装置在实际的作业中特别容易受到外面的基本温度的影响,从而让超神波信号在传播的途中受到影响。本文设计的系统采用比较常用的数字类型的温度感应装置DS18B20进行一定的温度大小的补偿,从而降低了其中的不利的影响。声音在空气的基本介质中传播很容易受到外面的基本环境温度大小的影响。当然,如果是要求不严格的控制系统,可以基本忽略温度在声音传播过程中所造成的影响。但是,如果系统的精度要求很高,那么必须采取温度补偿的办法对电路加以校正。温度补偿电路如图3-7所示:图3-7 温度补偿电路3.4 液晶显示模块液晶类型的显示装置一般段位形式的LCD、字符类型的LCD和点阵类型的LCD,一定程度上他具有机身的基本厚度大小比较薄,从而其中的空间比较小,也就是节省了一定的电能,温度比较低,辐射比较小,而且是比较健康的,他的基本应用是非常的广泛的。那么其中比较好的模块通常为LCD12864。综合AT89C51类型的单片机结构部件基本接口等资源信息,用于显示的基本模块的电路采用LCD12864类型的显示一定的倒车进行防止撞击的距离m,段码使用74ALS245芯片驱动,位码使用PNP9012三极管来驱动。单片机结构部件AT89C51运用输出的超声波换能装置的所需要的40 千赫兹方波类型的信号。对于液晶显示器12864来说,其硬件的连接上最重要的是电源的正负极连接,连错的话会很容易烧毁液晶显示器。还有,对于VDD引脚的连接,一定要接上滑动变阻器或电阻,以调节液晶显示器的对比度,使数据的显示更清晰。对于液晶显示器的数据口来说,连接在单片机的数据/地址口-P0口,注意:这里的P0口要连接外部排阻,因为其内部没有上拉电阻,在这种情况下,对于单片机的I/O口的电平无法控制,只能呈现灰色,高阻态,是不可控状态。如图3-8所示:图3-8 液晶显示器12864电路图如图3-9所示:图3-9 显示电路3.5 报警模块单片机结构部件的用于报警的控制调节采用用蜂鸣装置进行报警信息,运用PNP类型的三极管进行一定放大的基本原理连接单片机结构部件的I/O类型的口,运用控制的单片机结构部件的端口位置的电平控制调节三极管的基本导通以及截止的动作。注意在单片机的端口和三极管之间连接小电阻,从而控制流入蜂鸣器的电流,防止烧坏单片机端口和蜂鸣器。当车辆运用到距离障碍物的一般距离比之前的设计的基本安全距离大小的时候,机器的基本报警模块便开始进行报警。两个LED灯连接在单片机的P1.0和P1.1口,当通过超声波探测器测得的距离小于设定的两级安全设定时,由单片机内部的程序控制使单片机两个接口呈现低电平状态,连接在单片机接口上的红灯或绿灯分别进行预警。电路图如图3-10所示: (a) (b)图3-10 报警电路3.6 红外避障传感器模块本文的基本设计运用的避开一定的障碍物的感应装置的基本型号为E18-D80NK类型的红外类型的避开一定的障碍的感应装置。这种光电传感器的主要特点是集合收发功能于一体,主要被用作对障碍物距离的探测,并且其输出量为数字量,可以直接与单片机进行物理连接。该传感器具有探测距离长、组装和使用简单、抗干扰能力强、价格实惠等优点。红外避障传感器模块用来检测车辆周围的障碍物,用高低电平的方式表现出来。当传感器检测到车辆的一边有障碍物时,红外避障传感器就会输出低电平,控制电机转速下降达到车辆减速的目的。当传感器检测到车辆两边均有障碍物时,则红外避障传感器就会输出高电平,默认车辆没有危险,保持直行,控制电机转速保持在正常水准。其电路连接图如图3-11所示: 图3-11红外避障电路3.7 紧急刹车电路模块超声波测距模块和红外避障模块共同传递信息给控制模块,若车辆有潜在危险,则报警模块响应,灯亮蜂鸣器响以提醒驾驶员做好应急措施,若驾驶员没有反应,则系统自动发出紧急刹车信号,控制电机停止运转,防止事故的发生。紧急刹车制动装置需要对电机进行控制,而对电机的控制需要较大的电流电压。若控制器输出功率很低,就远远满足不了对电机进行控制所需要的功率。所以本文的基本设计中采用的基本方案都是通过以弱控强,通过继电装置和电机部件形成一个有效的基本回路,然而因为继电装置的作业的需要的基本电流属于单片机部件的比较难供应的,其基本电路如下: 图3-12 紧急刹车控制电路4 软件设计4.1 程序设计总方案本文基于AT89C51的用于车辆倒车时候的防止撞击的报警体系的基本程序设计是通过汇编类型的语言进行书写的,最为主体的程序是以单片机部件为主要,软件体系的基本功能也是通过单片机结构部件进行实现的。首先的时候进行程序的清零回归,此后予以控制开始发射信号,当一个基本的发射周期的时间过了之后,系统会有效的判断此前发出的信号有没有出现延时的情况,从而来判断整个基本流程。作为一款以软件设计为主,具有简单外围电路的产品,对于控制程序的编写变得尤为重要。为了使程序具有更高的可读性,使用模块化的编程,不仅易于理解,也更利于后期的修改。本产品的控制程序设计方案如下:首先,对超声波探测器,温度传感器,液晶12864按照产品手册进行数据初始化,其中,温度传感器要严格按照手册上的时序图进行程序的编写。运用单片机结构部件的定时装置予以超声波感应装置的基本传播时间的测试,那么,我们要在基本初始化程序当中对定时装置0和1分别予以定时时间初值的基本设置以及单片机结构部件的总中断的开启。其次,对超声波测量程序模块、液晶显示器显示程序模块以及温度补偿DS18B20温度传感器程序模块分别进行编写。最后,在主程序中,进行模块程序的逻辑排列。进入到我们设计的主程序之后,调用此前的基本初始化的模块部件,依次针对单片机结构部件的定时装置的0和1的基本初值大小以及每个基本器件的初始化予以合理的设置。在这其中,定时装置0的基本功能是作为超声波感应装置测量基本的距离的定时装置,但定时装置1的基本功能是作为超声波测量的彼此相隔的时间大小,本文的研究设计以1s作为检测的基本间隔时间大小。这时触发单片机中断,进入中断函数,取出定时数值,进行距离的计算。将算出的数值与设定值相比较,判断其是否到达预警临界阶段,并作出对应的动作。最后,把测量得到的基本数值大小经过一定的液类型的显示装置予以显示出来。这就是整个程序编写的思路,其中需要注意的是温度补偿的DS18B20的程序编写,在后面将会说明其注意事项。整个程序编写思路的流程图如图4-1所示:图4-1系统控制程序流程图4.2 显示程序模块液晶显示器是单片机与外界相互交流的一个主要平台。单片机结构部件通过液晶类的显示装置把实时的基本数据类型的信息通过液晶类型的显示装置显示出来,这就包含了障碍物和车辆的实时距离大小等。然后,我们可以根据显示的内容调整汽车的行进方向。基于以上分析,显示器的程序模块的编写的重要性不言而喻。相较于数码管显示器的程序编写,液晶显示器在程序的编写上虽然不易理解,但是其强大的功能,程序的独立性或者说很好的移植性以及编程时逻辑的通顺性都为其取代数码管而应用到更广泛的领域奠定了基础。针对显示程序的编写,主要分为三个方面。其一:初始化函数的编写。根据液晶显示器的硬件资料,遵照其启动前需要做的准备工作,写入各种指令,以控制液晶显示器的显示状态。其二:写操作指令的编写。根据硬件资料的写时序图,对写数据端置0,然后将写的指令送入单片机数据口,表明即将送的数据所在的位置,最后对使能端送入一个脉冲,高低电平之间经过5MS的延时,将送入的数据进行锁存并通过液晶显示器显示。其三:类似于写操作指令的编写,读操作指令只是在读时序图中对对RS置1,其它的编写相似。具体程序设计参考附录。 #include #include #include #define uchar unsigned char#defineuint unsigned intuchar posit=0;unsigned int S=0;unsigned int time=0; /时间变量unsigned int timer=0;/延时基准变量unsigned char timer1=0;/扫描时间变量unsigned char aa3;unsigned char dat;sbit ECHO = P32; /超声波接口定义sbit TRIG = P33; /超声波接口定义sbit BEEP = P20; /蜂鸣器接口sbit s1 = P27; /定义标志位void StartModule();void Conut(void);void delayms(unsigned int z)4.3 中断程序模块作为程序编写的核心部分,定时器中断程序的编写是重中之重。在本文的基本研究开发中,我们采用了定时装置的基本中断0作为超声波类型的探测装置每次探测汽车在运行方向上的基本间隔时间大小,运用基本的定时装置的中断模块1为超声波感应感应装置播声波信号计时,直到探测器的接收端接收信号为止,进入中断函数执行相应的判断程序,判断是否做出预警动作。对于中断函数的设计,最重要的莫过于定时器初值的设置,定时器0作为探测间隔时间的设定相对简单,但是定时器1为超声波传感器的声波传播测量时间需要仔细斟酌。首先,要考虑到在预警范围内,声波传播的时间是否由于过长而使定时器溢出;再者,还要考虑定时器0、1之间的优先问题,以免造成运行冲突。具体程序设计参考附录。 超声波测距程序:#include ultrasonic.hunsigned char Dis_View5;unsigned int Time;unsigned int Dis_Data;extern float Num_Temp;void Ultrasonic_TimeInit()4.4 温度补偿模块DS18B20的程序编写本文中作为能够输出数字类型量的温度感应装置,他和其他的感应装置是有一定的区别的,本文的温度感应装置的基本输出量的基本大小不需要在特定的转换便可以被单片机结构部件予以识别,从而不需要转换器,节约了一定的成本,然而,相比较模数转换的程序编写,温度传感器显得尤为复杂。首先,对于温度传感器的初始化的编程要严格遵循时序图的电平跳变顺序,对于时间的把握可以参考工具书上的温度传感器应用实例。其次,温度传感器测量温度后会将所测的数值保存在内部寄存器16位的寄存器中,是有符号的数据,所以,在后续的数据处理过程中,一定要保证数据的准确性以及数据正负号的正确性。具体程序设计参考附录。18B20显示程序:#include 18B20.hint DS18B20_Temp=0; /记录采集温度的整数信息unsigned char Data_View_Temp7=0,0,0,.,0,0xdf,C;/记录采集到的信息转化后的显示数组,可以用来直接显示int TempH,TempL; /采集和计算温度的变量char DS18B20_Alert_L; /18B20自身带的EEPROM中,报警的低温度值与高温度值char DS18B20_Alert_H;void DS18B20_Alert_Set()结 论通过本学期最后的毕业论文的这段时间,让我自己能够较好的学习了设计一个产品的基本途径以及其基本的步骤,不仅把之前老师交给我们的知识进行了一个很好的复习,且从中学到了很多的新的启发,比如各种软件的学习和熟练使用,各种资料和文献的查询等等。在基本的设计过程中也遇到了很多的困难、但通过本人的钻研学习以及各位同学和老师所提供的帮助,从而没有耽搁基本的设计进度。本文所设计的选题是结合单片机部件的汽车车辆的防止倒车时候防撞的系统的开发研究,本文通过初期阶段的选题以及定题,以及后续的资料查询以及到后续的正式设计,这整个过程让我认真的认识到知识的高贵性,也让我觉得了解一门技艺的重要性。总而总之,整个设计过程让我学习到了很多,认识到了很多。汽车防撞主控系统采用AT89C51为主要控制芯片,结合超声波传感器实现近距离汽车前方障碍物的感应,并在车辆的两侧及后方等驾驶员的视线盲区安装红外避障装置,对障碍物进行探测并实现车辆的自动刹车制动。 汽车防撞系统采用超声波测距方式实现汽车与障碍物之间距离的测量,由红外避障系统和紧急刹车系统来确保汽车行驶安全,声光报警系统来向驾驶员传递危险信息。汽车车辆的用于防止撞击的基本系统的软件开发基本是由主要的基本程序、超声波装置的发生时候的基本子程序、超声波在基本的接收过程中断用的程序和报警时候的基本子程序一起来构成。汽车防撞系统的应用是主动式汽车安全防范的重要研究,在对驾驶员和车内其他人员的保护上有了很大提高,汽车驾驶员可以在驾驶的过程中集中精力在操纵汽车上而不是时刻担心交通事故的发生,使行车更安全可靠,极大减轻了驾驶员的压力。参考文献1 张可儿.基于单片机的超声波测距仪设计J.自动化与仪器仪表,2017,(01)2 陈越超,刘斯津,王楠,张婧.车载超声波报警器设计J.河北企业,2016,(12)3 杨飞,郑要权.基于51单片机的超声波测距仪之倒车雷达设计J.内蒙古科技与经济,2016,(22)4 王顺录,李党娟,范源,郝冬杰.短距离激光测距传感器系统设计J.国外电子测量技术,2016,(11)5 付雪健,孟俊焕.基于51单片机超声波测距仪倒车雷达报警装置设计J. 内蒙古科技与经济,2016,(21)6 魏有法.基于AT89C52的盲人避障装置的研究与设计J.机电技术,2016,(05)7 刘义杰,王薪岩,钱跃.基于单片机的超声波测距装置设计J.电子测试,2016,(13)8 王怡.一种超声波测距装置的设计与实现J.中国新技术新产品,2016,(20)9 葛耿育.基于STC89C52的LCD12864液晶串并行显示设计J.遵义师范学院学报,2016,(05)10 田海军,杨婷,赵杨辉.汽车防撞系统中的非接触测距研究J.电子技术应用,2016,(10)11 帅盼,张海宁,白福,王鹏宇,张惠芳,任迎冬.基于超声波测距的汽车倒车避障系统设计J.国外电子测量技术,2016,(10)12 喻伟闯,王铭,付豪,周彬彬,袁海林,廖红华.基于STC89C51单片机的避障移动机器人的设计与实现J.湖北民族学院学报(自然科学版),2016,(01)13 张玲玲.基于51单片机的LCD12864程序设计J.中小企业管理与科技(中旬刊),2015,(05)14 Yan Xin Yu, Rong Chun Sun. Design of Automobile-Reversing Radar Control System Based on UltrasonicJ. Applied Mechanics and Materials,2014,2829(457).15 Jian Pu Bia, Mei Xia Gao. Design of Ultrasonic Rangefinder Controlled by Single Chip MicrocomputerJ. Applied Mechanics and Materials,2014,3360(599).16 汤泽容.基于MCS-51单片机的液晶12864显示设计J.湖南农机,2014,(11)17 孙鹏.51单片机综合学习系统12864点阵型液晶显示篇J.电子制作,2008,(02)18赵煌,靳桅.基于 VRSSIL3074 的 LED 显示控制系统设计J.重庆工学院学报,2008 19何勇,郭维树,徐草草.基于 C8051F020 单片机的大屏幕 LED 模块化设计J.中国高新技术企业,2008 20李朝青.单片机原理及接口技术D.北京:北京航空航天大学出版社,2005 21胡静,陈满林.基于串口的远程多路双向通讯 LED 显示系统J.科协论坛200922詹建国,潘翔伟.基于 Lab VIEW 的温度采集系统的研究与开发J.科技信息,2011 23 郭天样.新概念 51 单片机 C 语言教程:入门、提高、拓展全攻略M.北京:电子工业出版社 2009 24 潭浩强.C 语言程序设计(第三版)M.清华大学出版社.200522张连明,霍迎辉.嵌入式系统的设计与开发J.现代电子技术.2003 23陈栋.建设模拟电子技术虚拟实验室J. 科技传播.2010 24魏芸.虚拟实验的分析与研究J. 科技信息.2010 25刘频.基于AT91M42800A 的LED 显示系统设计J.单片机与嵌入式系统应用,2005 26汤竞南,沈国琴.51 单片机 C 语言开发与实例M.北京:人民邮电出版社,2008 27姜志海,赵艳雷.单片机的 C 语言程序设计与应用M.北京:电子科技出版社,2008致谢从论文的选题到今天,论文的说明书的编写和图纸的绘制基本算完成了,本人心里感觉到十分的开心和释然。在此我从心底向在论文的写作中给我帮助的老师以及同班的同学表示由衷的感谢,在老师不厌其烦的教诲下,我才学习到了很多的知识以及书本上学不到的做事做人的道理,所以我在此特别感谢我的毕业设计导师,您不仅在学习上、论文上给与了我无私的帮助,对我的论文给与了很多的灵感,还在生活中给了我很多的照顾。所以导师是我人生的启明灯。同时也感谢和我同窗的大学同学,我们互相帮助互相学习,不管在学习上生活上都互相关心毫无保留,这些帮助我都十分地感谢,同时我们一起度过了人生中最难忘的阶段,这也将留给我最深刻的印象,在这次毕业设计过程中,我搜索了很多文献和资料,这让我接触到了许多新的理论和知识,同时我也对文献和资料作了很多学习思考,让我从中领悟和懂得了很多科学知识,让我受益匪浅,最后我也通过自己的努力终于顺利完成了此次毕业设计。最后,我要感谢养育我这么多年的父母以及对我关心帮助的亲人,正是有你们的关心与支持,让我能够有克服一切困难的勇气,顺利完成自己的学业。未来我将更加努力,不辜负你们的期望!附录1:原理图原理图超声波工作原理图:单片机控制液晶12864仿真图:附录2:元器件清单元器件型号数量单片机AT89C512电机12V2瓷片电容30pf2电解电容22uf2晶振11.0592M1显示屏lcd128641蓝牙模块HC-061锂电池800mA1超声波传感器HY-SRF054电机驱动LM2981步进电机驱动ULN20031步进电机无线四相1车架1套杜邦线若干附录3:程序代码超声波测距程序:#include ultrasonic.hunsigned char Dis_View5;unsigned int Time;unsigned int Dis_Data;extern float Num_Temp;void Ultrasonic_TimeInit()TMOD|=0x01; /设T0为方式1,GATE=1;TH0=0;TL0=0; ET0=1; /允许T0中断EA = 1;void StartModule() /启动模块 Tirg=1; /启动一次模块 While(cycle-) _nop_(); Tirg=0; void Ultrasonic_Count()/开启模块计时函数EA=0;TH0=0;TL0=0;StartModule();/启动模块,开始测量距离while(!Echo);/当Echo为零时等待,当Echo为零时开始计算高脉冲时间TR0=1; /开启计数while(Echo);/当Echo为1计数并等待 EA=1;TR0=0;Dis_Data=TH0*256+TL0; /计算定时器中的计数TH0=0;TL0=0;Dis_Data=Dis_Data*Num_Temp;/*1.70;/计算距离,公式为,距离=高脉冲时间*340(M/S)/2if(Dis_Data450)Dis_View0=Dis_Data/100+0x30; /将计算出来的距离信息,转化为显示数组 Dis_View1=.; Dis_View2=Dis_Data%100/10+0x30; Dis_View3=Dis_Data%10+0x30; Dis_View4=M;void Timer0Interrupt(void) interrupt 1 TH0 = 0; TL0 = 0;液晶12864显示程序:#include #include #include #define uchar unsigned char#defineuint unsigned intuchar posit=0;unsigned int S=0;unsigned int time=0; /时间变量unsigned int timer=0;/延时基准变量unsigned char timer1=0;/扫描时间变量unsigned char aa3;unsigned char dat;sbit ECHO = P32; /超声波接口定义sbit TRIG = P33; /超声波接口定义sbit BEEP = P20; /蜂鸣器接口sbit s1 = P27; /定义标志位void StartModule();void Conut(void);void delayms(unsigned int z)unsigned int x,y;for(x=z;x0;x-)for(y=110;y0;y-);void StartModule() /启动测距信号TRIG=1;_nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_();_nop_(); _nop_(); _nop_(); _nop_();TRIG=0; void Conut(void) /计算距离while(!ECHO); /当RX为零时等待TR0=1; /开启计数while(ECHO); /当RX为1计数并等待TR0=0; /关闭计数time=TH0*256+TL0; /读取脉宽长度TH0=0;TL0=0;S=(time*1.7)/100; /算出来是CMvoid display()/显示函数aa0=IntToChar(S/100);aa1=IntToChar(S%100/10);aa2=IntToChar(S%10);LCD12864PutStr(2,2,aa);/显示数据LCD12864PutStr(2,4,CM);void Init1()TMOD=0X11;TH1=(65536-100)/256; /100US定时TL1=(65536-100)%256;TH0=0;TL0=0;TR1= 1;ET1= 1;ET0= 1;EA = 1;void main()BEEP = 0;init_LCD128642();/12864初始化函数delayms(300);Init1();LCD12864PutStr(1,1,距离障碍物:);while(1) /*无限循环*/ if(timer=1000) /1000*100US检测一次timer=0;StartModule(); /启动检测Conut(); /计算距离display();if(S40 & S50)/距离大于50CM,持续当前状态s1 = 1;BEEP = 0;void time1()interrupt 3 using 2 TH1=(65536-100)/256; /100US定时 TL1=(65536-100)%256; timer+; /定时器100US为准。在这个基础上延时 timer1+; /2MS扫一次数码管 if(timer1=20) timer1=0; 18B20显示程序:#include 18B20.hint DS18B20_Temp=0; /记录采集温度的整数信息unsigned char Data_View_Temp7=0,0,0,.,0,0xdf,C;/记录采集到的信息转化后的显示数组,可以用来直接显示int TempH,TempL; /采集和计算温度的变量char DS18B20_Alert_L; /18B20自身带的EEPROM中,报警的低温度值与高温度值char DS18B20_Alert_H;void DS18B20_Alert_Set() EA=0; Reset_DS18B20(); DS18B20_WriteOneChar(0xcc); DS18B20_WriteOneChar(0x4e); DS18B20_WriteOneChar(DS18B20_Alert_H); DS18B20_WriteOneChar(DS18B20_Alert_L); Reset_DS18B20(); DS18B20_WriteOneChar(0xcc); DS18B20_WriteOneChar(0x48); EA=1; DS18B20_Delay_10ms(); EA=0; Reset_DS18B20(); DS18B20_WriteOneChar(0xcc); DS18B20_WriteOneChar(0x44); EA=1;void DS18B20_Init() Reset_DS18B20(); DS18B20_WriteOneChar(0xcc); /设置18B20,并读取储存中的温度值 DS18B20_WriteOneChar(0xbe); DS18B20_ReadOneChar(); DS18B20_ReadOneChar(); DS18B20_Alert_H=DS18B20_ReadOneChar();
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸设计 > 毕设全套


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!