还剩44页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
汽车防撞测距报警系统的设计学院自动化学院专业测控技术与仪器班级学号姓名指导教师负责教师2010年6月摘要近年来,我国道路交通安全形式越来越严峻,如果能够在事故发生前提醒驾驶员并采取一定的安全措施,就可以有效的减少交通事故的发生汽车防撞测距报警系统正是基于提高车辆的主动安全性来实现在行车过程中,给驾驶员提供必要提示的设施本文设计了一个基于AT89C52单片机的汽车防撞测距报警系统,利用超声波测距传感器对汽车前方的障碍物进行检测,并把检测距离以数值的形式指示给驾驶员,达到危险距离时会发出急促的报警,防护距离可以利用键盘自由设定其它三个方向利用光电传感器对障碍物进行检测,有障碍物时会把障碍物位置只是给驾驶员并发出急促的报警声该系统电路结构简单,原理清晰,应用性比较强,性价比高虽然测距范围有限,但是可扩展性比较强,其测距范围主要取决于传感器,可以选择其它型号的传感器来改变测距范围关键词单片机;超声波;防撞;测距VehicleCollisionAvoidanceWarningSystemDesignRangeAbstractInrecentyearsmoreandmoresevereformsofroadsafetywecaneffectivelyreducetrafficaccidentsifwecanremindthedrivertotakecertainsafetymeasuresbeforetheaccident.Automotivecollisionavoidancewarningsystemisbasedondistancetoimprovetheactivesafetyofvehiclestoachieveindrivingtheprocesstopromptthedrivertoprovidethenecessaryfacilities.PaperisbasedonAT89C52microcontrollervehiclecollisionavoidancewarningsystemfordistancethesystemusesultrasonicdistancesensortodetectobstaclesinfrontofcarsandthedetectiondistanceofadigitaldisplaytothedriverwillbeissuedwhentheriskfromrapidalarmdangerfromthekeyboardcanbesetfreely.Theotherthreedirectionsusingphotoelectricsensorstodetectobstaclesthereisanobstructiontothedriverwillonlyobstaclepositionandissuedahastyalarm.Thatthissystemissimpleclearprinciplesapplicationofrelativelystrongcost-effective.Althoughlimitedinscoperangingbutrelativelystrongscalabilityitsworkingrangedependsprimarilyonsensorsyoucanchooseothertypesofsensorstochangetherange.Keywords:monolithicintegratedcircuit;ultrasonicwave;crash;ranging目录TOC\t标题_谢辞及参考文献1标题_附录1第2级标题2第3级标题3第1级标题11绪论
11.1课题的意义
11.2汽车防撞测距报警系统的设计内容
11.3单片机简介及在系统中的应用
21.4本文的内容安排32汽车防撞测距报警系统的总体方案设计
42.1方案论证
42.
1.1测距传感器介绍
42.
1.2测距传感器的选择
52.
1.3系统方案
52.2汽车防撞测距报警系统的硬件设计
62.3汽车防撞测距报警系统的软件设计
62.4可行性及性价比分析83汽车防撞测距报警系统的硬件设计
93.1单片机及其基本电路
93.
1.1单片机及内部定时器/计数器
93.
1.2时钟电路
103.
1.3复位电路
103.2传感器电路
113.
2.1超声波测距传感器电路
113.
2.2光电传感器检测电路
133.3键盘电路
153.4数码管显示电路
153.5指示及报警电路174汽车防撞测距报警系统的软件设计
184.1主程序设计
184.2子程序设计
184.
2.1按键识别程序
184.
2.2超声波测距程序
194.
2.3数制转换程序
214.
2.4显示程序
224.
2.5报警子程序235系统调试与分析
245.1单片机仿真系统介绍
245.2汽车防撞测距报警系统的硬件调试
245.3汽车防撞测距报警系统的软件调试
255.4汽车防撞测距报警系统的软硬件联调
255.5汽车防撞测距报警系统的调试结果及其分析
265.
5.1调试故障及解决方案
265.
5.2测试结果
265.
5.3误差计算及精度估计
275.
5.4误差分析27结论28社会经济效益分析29参考文献30致谢31附录Ⅰ元器件清单32附录Ⅱ整体电路图33附录Ⅲ程序清341绪论随着社会经济的发展,交通运输业日益兴旺,汽车的数量在大幅攀升交通拥挤状况也日趋严重,撞车事件屡屡发生,造成了不可避免的人身伤亡和经济损失,针对这种情况,设计一种响应快,可靠性高且较为经济的汽车防撞测距报警系统势在必行,超声波测距法是最常见的一种距离测量方法,应用于汽车的前后左右防撞的近距离,低速状况,以及汽车防撞报警系统中,超声波作为一种特殊的声波,同样具有声波的传输的基本特性——折射,反射,干涉,衍射,散射超声波测距就是利用其反射特性,当车辆附近有障碍物时,超声波测距传感器利用超声波检测车辆附近的障碍物位置,并利用显示器,指示灯及蜂鸣器把障碍物的位置及距离通知驾驶人员,从而减少意外事故的发生
1.1课题的意义发展汽车防撞技术,对提高汽车智能化水平有重要意义据统计,危险境况时,如果能给驾驶员半秒钟的预处理时间,则可分别减少追尾事故的30%,路面相关事故的50%,迎面撞车事故的60%;1秒钟的预警时间可防止90%的追尾碰撞和60%的迎头碰撞理论上,汽车防撞装置可在任何天气、任何车速状态下探测出将要发生的危险情况并及时提醒司机及早采取措施或自动紧急制动,避免严重事故发生车辆防撞技术作为智能运输系统的一个子课题,将不断成熟和完善,防撞系统的应用可以缩短车辆间的安全行车距离,还可以实现安全超车,保证高速运行车辆的安全性,提高公路运输效率,促进经济的快速发展
1.2汽车防撞测距报警系统的设计内容设计一个汽车防撞测距报警器,能检测出汽车前后左右四个方向的障碍物并发出报警信号要求能检测出前方障碍物的距离,并用数字显示给驾驶员,在危险距离时要发出急促的报警声本毕业设计要求设计汽车防撞测距报警器,装置由检测电路,控制电路,键盘电路和报警电路组成,其特征为1以MCS-51单片机为控制核心2报警电路采用滴滴声加闪光报警3用数码管显示前方障碍物的距离4保护距离可以人为设置
1.3单片机简介及在系统中的应用单片机是在一块硅片上集成了中央处理器(CPU)、存储器(RAM、ROM、EPROM)和各种输入/输出接口(定时器、计数器、并行I/O口、串行口、A/D转换器以及脉冲调制器PWM等),这样一块芯片具有一台计算机的功能,因而被称为单片机由于单片机的硬件结构与指令系统的功能都是按工业控制要求而设计的,常用在工业的检测、控制装置中,因而也称为微控制器或嵌入式控制器单片机根据其基本操作处理的位数可分为1位单片机、4位单片机、8位单片机、16位单片机、32位单片机单片机作为微型计算机的一个很重要的分支,自70年代问世以来,以极其高的性能价格比,受到人们的重视和关注,应用很广,发展也很快单片机的优点很多,如体积小、重量轻、抗干扰能力强、环境要求不高、价格低廉、可靠性高、灵活性好、开发较为容易等单片机主要可用于以下几方面:
(1)测控系统中的应用控制系统特别是工业控制系统的工作环境恶劣,各种干扰也强,而且往往要求实时控制,故要求控制系统工作稳定、可靠、抗干扰能力强单片机是最适宜用于控制领域例如炉子恒温控制、电镀生产线自动控制等
(2)智能仪表中的应用用单片机制作的测量、控制仪表,能使仪表向数字化、智能化、多功能化、柔性化发展,并使监测、处理、控制等功能一体化,使仪表重量大大减轻,便于携带和使用,同时降低了成本,提高了性能价格比如数字式RLC测量仪、智能转速表、计时器等
(3)智能产品单片机与传统的机械产品结合,使传统机械产品结构简化、控制智能化,构成新型的机电一体化产品如数控车床、智能电动玩具、各种家用电器和通信设备等
(4)在智能计算机外设中的应用在计算机应用系统中,除通用外部设备键盘、显示器、打印机外,还有许多用于外部通信、数据采集、多路分配管理、驱动控制等接口主机和单片机能并行工作,这不仅大大提高系统的运算速度,而且单片机还可对接口信息进行预处理,以减少主机和接口间的通信密度、提高接口控制管理的水平如绘图仪控制器,磁带机、打印机的控制器等等综上所述,单片机在很多应用领域都得到了广泛的应用由于单片机体积小、重量轻、抗干扰能力强、环境要求不高、价格低廉、可靠性高、灵活性好、开发较为容易等,本系统采用AT89C52单片机作为整个系统的控制核心,它对本系统中的键盘电路和传感器检测电路等部分输出的信号进行分析和处理,来控制显示电路、指示电路和报警电路等有序的工作
1.4本文的内容安排本文共5章,各章内容如下第1章为绪论,主要介绍了本设计的课题意义、设计内容及单片机的发展和应用第2章为汽车防撞测距报警系统的总体方案设计,主要介绍了本设计的软件和硬件的总体设计、方案的选择及可行性分析第3章为汽车防撞测距报警系统的硬件设计,本部分详细介绍了各个电路的组成及工作过程第4章为汽车防撞测距报警系统的软件的软件设计,本部分对各个子程序进行了详细介绍第5章为系统的调试与分析,本部分主要介绍了软硬件的调试和联调过程,并对调试结果进行分析处理2汽车防撞测距报警系统的总体方案设计本课题是利用单片机的运算和控制功能设计了一个汽车防撞测距报警系统,实现了检测出汽车前后左右四个方向的障碍物位置和前方障碍物的具体距离,并用数字显示,在危险距离时发出急促的报警声本章主要介绍了汽车防撞测距报警系统的方案论证和本系统所采用的软件方案和硬件方案
2.1方案论证
2.
1.1测距传感器介绍测距传感器主要有激光测距传感器http://www.gzjunkai.com/cuansong
3.asp、超声波测距传感器及红外测距传感器激光测距传感器http://www.gzjunkai.com/cuansong
3.asp工作时,先由激光二极管对准目标发射激光脉冲经目标反射后激光向各方向散射部分散射光返回到传感器接收器,被光学系统接收后成像到雪崩光电二极管上雪崩光电二极管是一种内部具有放大功能的光学传感器,因此它能检测极其微弱的光信号记录并处理从光脉冲发出到返回被接收所经历的时间,即可测定目标距离超声波测距的原理一般采用渡越时间法TOF(timeofflight)首先测出超声波从发射到遇到障碍物返回所经历的时间,再乘以超声波的速度就得到二倍的声源与障碍物之间的距离常温下超声波在空气中的传播速度为C=340m/s,根据计时器记录的时间T,就可计算出发射点到距障碍物的距离S,即红外测距传感器利用红外信号遇到障碍物距离的不同反射的强度也不同的原理,进行障碍物远近的检测红外测距传感器具有一对红外信号发射与接收二极管,发射管发射特定频率的红外信号,接收管接收这种频率的红外信号,当红外的检测方向遇到障碍物时,红外信号反射回来被接收管接收,经过处理之后就可测出实际距离
2.
1.2测距传感器的选择激光测距需要注意人体安全,且制做的难度较大,成本较高,而且光学系统需要保持干净,否则将影响测量红外测距精度低,距离近,方向性差汽车防撞测距报警系统的工作环境复杂,测量距离要求也比较高,所以这两种测距传感器都不适合而超声波测距比较耐脏污,即使传感器上有尘土,只要没有堵死就可以测量,可以在较差的环境中使用,测量距离可达几十米甚至上百米,完全满足本系统的要求,所以本设计采用超声波测距传感器实现障碍物距离测量
2.
1.3系统方案根据设计任务要求,本文所设计的汽车防撞测距报警系统的原理框图如图
2.1所示系统选择MCS—51系列单片机89C52作为控制核心,门控信号由89C52内部的定时器/计数器产生,所测数值通过由4位LED构成的显示电路显示出来报警电路用于实现危险时的声光报警,键盘可以根据实际需要设置危险距离的数值光电传感器用于检测左右和后方的障碍物,超声波测距传感器用于检测前方障碍物的距离图
2.1系统框图工作过程传感器部分要有一个超声波测距传感器实现前方远距离测距,另外还要有三个光电传感器来实现左右后三个方向的检测,当左右后三个方向有障碍物时光电传感器输出开关量信号传送给单片机,通过单片机处理控制发光二极管指示障碍物位置并控制报警器实现报警超声波传感器输出的信号通过单片机计算获得障碍物距离并通过LED显示器显示,并与键盘设定的保护距离作比较,小于保护距离就通过反光二极管指示障碍物位置并报警该方案电路结构简单,原理清晰,应用性比较强,性价比高,可扩展性比较强检测范围只受传感器的性能影响,可根据实际需要更换传感器型号来实现预期目的,实现了电路测量范围的可变性
2.2汽车防撞测距报警系统的硬件设计根据系统原理框图,可知本系统的硬件部分主要是由指示电路、键盘电路、数码管显示电路及单片机相关电路组成指示电路用单片机控制四个发光二极管实现指示四个方向障碍物位置键盘电路包括3个键盘,包括默认键、自加键和确认健当默认键按下时,系统取消保护距离设定,将采用系统默认保护距离当自加键按下时,百位数字将在0~9循环中加一,实现保护距离设置当确认键按下时,保护距离设置完成数码管显示电路采用四位共阴极七段数码管实现保护距离和前方实际障碍物距离的显示,其中后三位用来显示测量值,第一位用来显示设定值单片机采用89C52是系统控制及数据处理的核心
2.3汽车防撞测距报警系统的软件设计硬件是基础,软件是灵魂通过软件控制单片机的功能是单片机的主要特点和优点,程序的设计要考虑合理性和可读性程序遵循模块化设计的原则,采用自顶向下的设计方法模块化设计使程序的可读性好、修改及完善方便本系统的程序由主程序和数个子程序组成其中子程序包括系统初始化程序、键盘识别程序、超声波测距程序、数制转换程序和显示程序等本系统软件总体流程图如图
2.2所示图
2.1系统软件流程图上电后,系统软件开始运行,首先进入初始化程序,然后通过键盘对保护距离进行设定并显示,设定结束后对左右后三个方向进行检测有无障碍物,有就跳转至指示位置和报警子程序,没有就启动超声波传感器对前方进行检测并计算出障碍物距离,然后显示障碍物距离,并与设定的保护距离进行比较,小于保护距离就报警和指示障碍物位置,然后再返回进行检测,显示,指示及报警,如此循环
2.4可行性及性价比分析本设计采用的器件都是比较常用的器件,都可批量生产,功能比较稳定并且价格也十分低廉如AT89C52单片机、超声波传感器、光电传感器、同相驱动器7407以及七段数码管等尤其是本次设计的核心元件AT89C52单片机,软件成熟,并具有种类齐全的支持芯片这类微处理器既可用作控制器又适合于做数据处理,而且成本也比较低廉由于本次设计着重考虑硬件电路的简单性,故尽可能减少硬件的复杂性,节省线路板的空间,达到硬件电路最优化设计软件采用汇编语言编写,采用模块化设计思想,程序可读性强总的说来,本次设计具有电路简单、低成本、高性能的优点,如投入使用是能够为社会带来较高的经济效益的3汽车防撞测距报警系统的硬件设计汽车防撞测距报警系统的硬件部分主要是由数码管显示电路、指示电路、键盘电路及单片机相关电路组成
3.1单片机及其基本电路
3.
1.1单片机及内部定时器/计数器单片机是把那些作为控制应用所必需的基本内容都集成在一个尺寸有限的集成电路芯片上它由微处理器、数据存储器、程序存储器、并行I/O口、串行口、定时器/计数器、中断系统及特殊功能寄存器等功能部件组成,能完成算术运算、过程控制、显示等功能,而且具有极为灵活的可编程性,能方便地对系统进行功能扩展及改进本设计以89C52单片机为核心,利用它内部的定时器/计数器完成待测信号的测量单片机89C52内部具有3个16位定时器/计数器,定时/计数器的定时、计数和计数溢出中断等功能可通过编程实现其引脚图如图
3.1所示图
3.1单片机芯片引脚图本设计中,最主要的测距功能是利用单片机内部的定时/计时器实现的,采用T0作为定时器,T1作为计时器计时器T1对外部信号的高电平持续时间进行计时,如果外部信号没有高电平变化,系统就会等待高电平而不能继续执行,此时就需要定时器来控制等待时间,定时时间到就放弃计时,使系统正常工作
3.
1.2时钟电路时钟是计算机的心脏,控制着计算机的工作节奏单片机内部有一个由高增益反相放大器组成的振荡器反相放大器输入端为XTAL1,输出端为XTAL2单片机的振荡方式有两种,即内部方式和外部时钟方式单片机的内部时钟如图
3.2所示它是利用芯片内部反相器和电阻组成的振荡电路,在XTAL1和XTAL2引脚上跨接晶体振荡器和微调电容,从而构成一个稳定的自激振荡器,构成单片机的时钟电路晶振可以在
1.2MHz~12MHz之间选用,电容C
1、C2可以在20pF~100pF之间选择,它的主要作用是帮助振荡器起振,其值的大小对振荡器频率有微调作用本系统中的晶振选择为
11.0592MHz,C1=C2=30PF图
3.2单片机内部时钟电路
3.
1.3复位电路89C52的复位输入引脚RST(即RESET)为89C52提供了初始化的手段有了它可以使程序从指定处开始执行,即从程序存储器中的0000H地址单元开始执行程序在89C52的时钟电路工作后,只要在RST引脚上出现两个机器周期以上的高电平时,单片机内部则初始复位只要RST保持高电平,则89C52循环复位只有当RST由高电平变成低电平以后,89C52才从0000H地址开始执行程序本系统的复位电路是采用按键复位的电路,如图
3.3所示,是手动复位和上电复位的组合当89C52的ALE及PSEN两引脚输出高电平,RST引脚为高电平时,单片机复位当系统运行出现异常或死循环时,通过按动按钮产生高电平复位称手动复位上电时,刚接通电源,电容C相当于瞬间短路,高电平立即加到RST/VPD端,该高电平使89C52全机自动复位,这就是上电复位按下按钮,则直接把高电平加到了RST/VPD端从而复位称为手动复位若运行过程中需要程序从头执行,只需按动按钮即可,复位后,P0到P3并行I/O口全为高电平,其它寄存器全部清零,只有SBUF寄存器状态不确定为了保证电容充电时间足够长,应是电容值较大R7和R8的选择主要考虑到R7的分压作用,使R7的分压值最大能达到高电平,各参数选择为C=22,R7=1K,R8=100,在按键后复位端的电平能达到
4.5V图
3.3单片机复位电路
3.2传感器电路
3.
2.1超声波测距传感器电路本部分采用DYP-ME007超声波测距传感器,DYP-ME007超声波测模块可提供3cm--
3.5m的非接触式距离感测功能,包括超声波发射器、接收器与控制电路其基本工作原理为给予此超声波测距模块一触发信号后发射超声波,当超声波投射到物体而反射回来时,模块输出一回响信号,以触发信号和回响信号间的时间差,来判定物体的距离主要技术参数1 使用电压DC5V2 静态电流小于2mA3 电平输出高电平VCC-
0.2V低
0.2V4 感应角度不大于15度5 探测距离2cm-500cm6 探测精度3MM超声波测距模块的接脚图如图
3.4,使用上只需要5V电源供应、地线连接、触发信号输入、与回响信号输出等四支接脚使用方法
(1)采用IO触发测距,给TRIG至少10μs的高电平信号(实际上25μs最佳;
(2)模块自动发送8个40kHz的方波,自动检测是否有信号返回;
(3)有信号通过ECHO返回,ECHO输出一高电平,高电平持续的时间就是超声波从发射到返回的时间根据公式
2.1方可算出距离.如此不断的周期测就可以测出距离图
3.4超声波测距模块的接脚图超声波测距传感器与单片机的连接图如图
3.5所示,工作时单片机P
3.1口首先输出一个10μs高电平脉冲,然后P
3.3口等待高电平,利用单片机的计时功能获得高电平时间,从而实现测距功能图
3.5超声波测距传感器与单片机连接图
3.
2.2光电传感器检测电路在汽车防撞测距报警系统中,汽车的左、右及后方三个方向也要对障碍物进行检测,由于此部分不要求测出实际距离,只需检测车体附近有无障碍物即可,所以本部分选择了光电开关光电开关工作原理是通过把光强度的变化转换成电信号的变化来实现控制的光电开关在一般情况下,有三部分构成,它们分为发送器,接收器和检测电路发送器对准目标发射光束,发射的光束一般来源于半导体光源,发光二极管(LED)和激光二极管光束不间断地发射,或者改变脉冲宽度接收器有光电二极管或光电三极管组成在接收器的前面,装有光学元件如透镜和光圈等在其后面是检测电路,它能滤出有效信号和应用该信号此外,光电开关的结构元件中还有发射板和光导纤维三角反射板是结构牢固的反射装置它由很小的三角锥体反射材料组成,能够使光束准确地从反射板中返回,具有实用意义它可以在与光轴0到25的范围改变发射角,使光束几乎是从一根发射线,经过反射后,还是从这根反射线返回其原理图如图
3.6图
3.6光电开关的原理图本系统中光电传感器采用三个E3F3-DS50N1型光电开关,分别对汽车左后及后方三个方向的障碍物进行检测,测量范围为50cm,当障碍物距离车体距离小于50cm时,光电开关输出信号的电平变化会被单片机获取,单片机会控制指示电路和报警电路指示障碍物位置并报警其与单片机的连接电路如图
3.7vccvccvcc图
3.7光电开关与单片机的连接电路
3.3键盘电路在本设计中,利用键盘进行各个功能的选择,它是系统进行人机对话的重要部件由于系统需要的按键较少,因此只采用了独立式键盘此种键盘各键相互独立,每个按键各接一根输入线,通过检测输入线的电平状态可以很容易的判断哪个按键被按下独立式键盘电路的连线图如图
3.8所示采用查询方式,通过判断P
0.0~P
0.2的高低电平变化来识别键盘上是哪个功能键闭合图
3.8电路中,1号键为默认功能键,2号键为自加功能键,3号键为确认功能键123Vcc
3.9KΩ3图
3.8键盘原理图
3.4数码管显示电路LED是发光二极管的缩写LED显示器由发光二极管构成的,所以在显示器前面冠以“LED”LED显示器在单片机系统中的应用非常普遍常用的LED显示器为8段,每一个段对应一个发光二极管,有共阳极和共阴极两种,本系统中采用的是共阴极的LED显示器共阴极LED显示器的发光二极管的阴极连接在一起,通常此公共阴极接地,当某个发光二极管的阳极为高电平时,发光二极管点亮,相应的段被显示为了使LED显示器显示不同的符号或数字,就要把不同段的发光二极管点亮,这样就要为LED显示器提供代码,因为这些代码可使LED相应的段发光,从而显示不同字型,因此该代码称之为段码LED外观图如图
3.9所示,内部图如图
3.10所示图
3.9LED外观图图
3.10共阴极LED内部图显示电路中,由四位LED显示器组成,后三位显示所测量的数值,第一位显示设定值在硬件设计中,其电路图如图
3.11所示显示电路采用动态显示,工作时AT89C52单片机的P
0.4~P
0.7引脚控制四位共阴极显示器的位选,P2口输出段码A74LK7777741234Vcc.100Ω8图
3.11显示电路图
3.5指示及报警电路本部分电路由五个发光二极管和一个蜂鸣器组成,指示电路利用四个发光二极管实现指示障碍物位置;报警电路是由一个发光二极管作为闪光灯和一个蜂鸣器发出急促的报警声组成指示及报警电路如图
3.12Vcc470Ω470Ω图
3.12指示及报警电路图本电路中,P
1.0-P
1.3口控制四个发光二极管,分别指示前后左右四个方向是否有障碍物,哪个方向有障碍物哪个二极管就亮;P
1.4控制报警电路,报警时P
1.4口输出一个方波信号,使发光二极管不停地闪烁和蜂鸣器发出急促的报警声蜂鸣器由PNP型三极管驱动4汽车防撞测距报警系统的软件设计软件的设计应遵循结构化设计原则,在总体概况设计的基础上进行具体的详细设计、功能分解、模块划分、细化软件层次、优化软件结构,以达到模块功能的独立性,执行的高效性该系统的软件程序由主程序和数个子程序模块组成,其中子程序包括系统初始化程序、按键识别程序、超声波测距程序、数制转换程序、报警和显示程序等
4.1主程序设计系统软件开始运行,首先进入初始化程序,然后通过键盘对保护距离进行设定并显示,设定结束后对左右后三个方向进行检测有无障碍物,有就跳转至指示位置和报警子程序,没有就启动超声波传感器对前方进行检测并计算出障碍物距离,然后显示障碍物距离,并与设定的保护距离进行比较,小于保护距离就报警和指示障碍物位置,然后再返回进行检测,显示,指示及报警,如此循环其主程序流程图如图
2.2所示
4.2子程序设计
4.
2.1按键识别程序本系统中,键盘采用编程扫描的工作方式按键识别程序由三个部分组成1判断有无键闭合1去除键的机械抖动其方法为,判别出键盘上有键闭合后,延迟一段时间后再判别键盘的工作状态,若仍有键闭合,则认为键盘上有一个键处于稳定的闭合期,否则认为是键的抖动1判别是哪个键按下,再转入相应的功能测试程序中该程序流程图如图
4.1所示图
4.1键盘识别程序流程图
4.
2.2超声波测距程序在本模块中,采用单片机内部时钟方式进行计时和定时,选用
11.0592MHz的晶振被测信号由P
3.3引脚输入,P
3.1作为超声波传感器的控制信号当P
3.1引脚为10us高电平以后,启动定时器定时5ms,然后等待P
3.3引脚由低电平变为高电平如果在5ms后P
3.3口电平还没有变化,则说明超声波没有检测到障碍物,此时停止等待,去执行下一模块程序;如果在5ms内P
3.3口电平低电平变为高电平,才开始计时,即启动计时器T1对外部超声波传感器产生信号的高电平时间进行测量,当检测到单片机P
3.3引脚变为低电平时停止计时,获得高电平时间该程序流程图如图
4.2所示图
4.1超声波测距程序流程图
4.
2.3数制转换程序为显示距离,必须将二进制码转换为BCD码在二进制中,每向左移一位表示数乘以二倍每四位为一组对二进制数分组当第四位向第五位进位时,数由8变到16,若按十进制读数,则丢失6可见,转换可由移位的方法实现单片机中DA指令可完成这一调整DA操作数为8位数字量经过系数调整后,高8位存入31H中,低8位存入30H中,并设置R
3、R
4、R5来转换信息,R2控制循环次数为16次,即完成16位数的一个整体循环移位将移出的数进行保存、调整直到移位结束,调整完毕由于调整后R
3、R
4、R5中存放的是两位的十进制数后进行BCD码分离,将百位放在41H中,十位和个位分别放在42H和43H中,以便于显示该程序流程图如图
4.3所示图
4.3数制转换程序流程图
4.
2.4显示程序四位显示器采用动态显示的方式在89C52单片机内部RAM中设置4个显示缓冲单元40H~43H,分别存放显示器要显示的三位数据和设定值首先将#40H赋给R1,将第一位位选地址送给R0,最后将段码送出,送完一位后,R1加1,而R0对应的位选也移至下一位,这样显示器的四位就动态地显示出缓冲区中显示数据所确定的字符89C52单片机的P
0.4~P
0.7用来控制四位共阴极显示器的位选口,而P2口则输出段码该程序的流程图如图
4.4所示NY图
4.4显示程序流程图
4.
2.5报警子程序报警子程序是控制P
1.4口输出一个方波信号,使发光二极管不停地闪烁和蜂鸣器发出急促的报警声该程序的流程图如图
4.5所示图
4.5报警子程序流程图5系统调试与分析汽车防撞测距报警系统的调试分为系统的硬件、软件单独调试和软硬件联调调试是系统最后的步骤也是系统特别重要的环节,因为设计和开发出的系统是否成功,功能是否完善,通过调试才得以检验所以为了保证设计系统能够正常工作,必须认真对软件以及硬件电路的每一个部分进行调试和分析
5.1单片机仿真系统介绍单片机的仿真系统有很多,本次采用的仿真系统是由南京伟福实业有限公司开发的伟福仿真器进行软件调试的,此系统可以开发、调试应用软件,也可以对硬件电路进行诊断、调试等它可以进行CPU仿真,可以单步、跟踪、断点和全速运行程序,这样可以使调试变的非常方便而且,程序的编译过程中,可以对软件程序进行语法检测,并自动给出错误原因,方便用户调试同时用户调试程序时,可以通过窗口观察寄存器的工作状况,以便及时发现和排除编程中可能出现的错误可以看出,该仿真系统是一款功能强大,实用性强的仿真系统
5.2汽车防撞测距报警系统的硬件调试硬件调试工作的主要任务是完成硬件组成单元的逻辑测试,测试基本功能能否实现,排除故障,主要包括完善设计方案和焊接工艺上的工艺性故障(例如虚焊,短路等)在焊接硬件电路之前,反复进行此系统的硬件电路的可行性分析,确定了在理论上确定方案的硬件电路是可行的,才进行焊接在焊接电路以前,对一些拿不准的电路在面包板上做些简单的连接实验,确定无误后,进行焊接工作在焊接硬件前,首先做布局工作,防止在焊接电路时出现电路板不够用或不宜走线的情况如果布局不合理,很容易造成干扰,还容易出现虚焊等问题当这种情况发生时,就得重新焊接硬件调试有以下的步骤1对照系统电路图,仔细检查焊接好的电路连线是否和电路图一致1用实验室的万用表按照设计的电路图检查所焊接的各个部件的电源、接地及各个引脚的连接线是否正确、电路是否导通,是否有虚焊,短路等情况发生在焊接完成后,要给电路板接通电源,检测每个底座的电流有多大,如若检测后,所有部件都为正常,方可插入芯片做以后的调试工作1在保证电路芯片没有插错,电路连接全部正常时,接到仿真器件上进行调试,通过观察各个部件输出和响应,结果表明所设计的电路满足设计要求
5.3汽车防撞测距报警系统的软件调试汽车防撞测距报警系统的软件部分的部分子程序是通过唐都实验箱来调试的,具体的调试步骤如下1把系统的各个子程序在仿真软件中逐个调试,如按键识别程序、数制转换程序、显示程序、报警程序等对程序进行单步调试,观察仿真器窗口,看输出结果、内存单元以及各个特殊寄存器中的值是否符合理论值如果不符合,观察是在什么地方发生了错误,并及时进行改正这个步骤是至关重要的,如果各个子程序都正确,那么一般来说整个程序都是正确的1把各个子程序组合起来,全速运行,看程序是否能实现设计的系统的所有功能如果不能实现,单步运行,检查程序运行次序,查看是否在调用子程序或跳转的时候发生错误,并进行改正
5.4汽车防撞测距报警系统的软硬件联调软硬件的联调是利用伟福仿真器及其自带软件来实现一个模拟仿真系统伟福仿真器的仿真头代替89C52芯片,插在硬件电路板的原来插89C52芯片的插座上,就可以软硬件调试了本次设计的联调采用先分块联调,再总体联调的方法下面介绍本设计的软硬件联调的过程联调过程主要是对以下几个部分的调试
1.显示部分的调试过程在实际过程中,首先用已编制好的显示程序与硬件显示部分联调,程序运行后,硬件电路LED显示亮度不够,这使读取数据很不方便经检查是由于上拉电阻过大,使电流过小,修正硬件后,显示电路显示的数据清晰且和编程所要显示的数据一致,显示电路联调成功
2.键盘部分的调试过程在这部分调试中,也是用预先编好的键盘程序,该程序对独立式键盘进行了检测,看每一个键是否能够被正确识别但按键不受控制,经查是由于软件的累加器运用时没有入栈保护,导致应用时重复
3.整体调试过程进行整体的联调,用焊接好的电路板,压入程序,看整体运行是否正确在联调时,起初程序运行的不是很正确,程序总是在某一行来回跳转,经过排查、修改后,程序可正常运行了经过联调后,程序修改正确无误系统调试成功后,这样该汽车防撞测距报警系统就成为一个独立的系统了,而且可以投入运行了
5.5汽车防撞测距报警系统的调试结果及其分析
5.
5.1调试故障及解决方案在软硬件联调时,出现了一些问题,经过仔细的排查,这些问题都得到了解决
(1)当全速执行程序时,执行到按键识别程序后,总是在某地跳转,不能继续执行解决方案经排查,发现寄存器设置错误
(2)在显示模块中,开始上拉电阻用
5.1K的电阻,但由于过大,导致发光二极管的电流过小,LED显示很暗,这给数据的读取带来了不方便解决方案将上拉电阻改为
1205.
5.2测试结果为了衡量设计的汽车防撞测距报警系统的工作情况和测量精度对系统进行了测试以超声波传感器对障碍物的距离为基准用设计的汽车防撞测距报警系统对障碍物的距离进行了测量测量数据如表
5.1所示表
5.1距离测量数据表第一组第二组第三组第四组第五组实际距离(cm)100200300400500测量的距离(cm)
981962943924905.
5.3误差计算及精度估计
1.误差计算引用误差是直读式仪表中通用的一种误差表示方法它是测量的绝对误差于仪表的满量程之比,一般亦用百分数表示,即100﹪(
5.1)式中,X表示测量值,L表示真实值,A表示仪表的满量程,本设计中A=500根据式
5.1对上表分别进行引用误差计算,得到=
0.4﹪,=
0.8﹪,=
1.2﹪,=
1.6%,=
2.0%
2.精度估计仪表的精度等级是根据最大引用误差来确定的国家规定电工仪表的精度等级分为
0.1,
0.2,
0.5,
1.0,
1.5,
2.5,
5.0七级
0.1级表的引用误差的最大值不超过
0.1﹪由引用误差的计算值得出,本汽车防撞测距报警系统的精度等级在
0.2~2之间
5.
5.4误差分析本设计的测量部分是通过超声波传感器实现的,由于温度影响超声波在空气中的传播速度,超声波反射回波很难精确捕捉,致使超声波在空气中传播时间很难精确测量空气中传播的超声波是由机械振动产生的纵波,由于气体具有反抗压缩和扩张的的弹性模量,气体反抗压缩变化力的作用,实现超声波在空气中的传播因此,超声波的传播速度受气体的密度,温度及气体分子成分的影响另外单片机在计数过程中也会有产生误差结论近年来,我国道路交通安全形式越来越严峻,在众多的交通事故中,以追尾碰撞与超车侧向碰撞事故这两种类型最为常见如果能够在事故发生前提醒驾驶员并采取一定的安全措施,对减少交通事故的发生则是非常有用的,汽车防撞测距报警系统正是基于提高车辆的主动安全性来实现在行车过程中,给驾驶员提供必要的技术设施发展汽车防撞技术,对提高汽车智能化水平有重要意义理论上,汽车防撞装置可在任何天气、任何车速状态下探测出将要发生的危险情况并及时提醒司机及早采取措施或自动紧急制动,避免严重事故发生本系统主要利用了89C52单片机的运算、控制功能,实现了检测出汽车前后左右四个方向的障碍物位置和前方障碍物的具体距离,并用数字显示,在危险距离时发出急促的报警声该汽车防撞测距报警系统的电路结构简单、原理清晰、应用性比较强、性价比高经测试,该汽车防撞测距报警系统具有较高的测量精度和反应速度,满足了任务要求虽然测量量程有限,但可扩展性比较强,要想获得较远的测量可以对电路传感器部分进行改进社会经济效益分析本汽车防撞测距报警系统的设计电路简单、精度高、成本低、性能好、显示直观、操作方便简单编程采用模块化设计,便于系统的升级和改进本汽车防撞测距报警系统主要采用的器件有AT89C52单片机、同相驱动器
7407、LED数码管显示器、超声波测距传感器、光电开关等,这些都是比较常用的器件,成本价格大概在80~100元,价格较低廉,可批量生产车辆防撞技术作为智能运输系统的一个子课题,将不断成熟和完善,防撞系统的应用可以缩短车辆间的安全行车距离,还可以实现安全超车,保证高速运行车辆的安全性,提高公路运输效率,促进经济的快速发展参考文献
[1]张毅刚.单片机原理及应用.哈尔滨:哈尔滨工业大学出版社.
2004.6
[2]何立民.MCS-51系列单片机应用设计.北京:北京航空航天大学出版社.1990
[3]李华.MCS-51系列单片机使用接口技术.北京:北京航空航天大学出版社.1993
[4]赵茂泰.智能仪器原理与应用.北京:电子工业出版社.
2004.7
[5]王洪宝.电子测量.北京:科学出版社.2005
[6]王金凤.单片机实用系统设计技术.北京:国防工业出版社.
1996.6
[7]阎石.数字电子技术基础.高等教育出版社.
1997.12
[8]陈勇甫.常用电子元件及其应用.人民邮电出版社.2005
[9]王昊,李昕,郑凤翼.通用电子元器件的选用与检测.电子工业出版社.2006
[10]张毅刚,刘杰主编.单片机原理及应用.哈尔滨工业大学出版社.
2004.6
[11]杨振江.流行单片机实用子程序及应用实例M].西安电子科技大学出版社.2002
[12]陈莹.基于单片机的超声波测距系统.华中科技大学硕士学位论文.
2004.4
[13]邱平.略论我国非金属超声波检测仪器的发展状况.工程质量.
1998.1
[14]李丽霞.单片机在超声波测距中的应用.电子技术.
2002.6
[15]董敏学.汽车倒车碰撞防止系统设计.上海汽车.
2001.11
[16]黄建兵.超声波精确测距的研究.南京理工大学硕士学位论文.
2004.2
[17]荀殿栋.数字电路设计实用手册.北京电子工业出版社.2003
[18]朱月秀.单片机原理与应用(第2版).北京科学出版社.
2004.2
[19]余永权.单片机在控制系统中的应用.电子工业出版社.2004
[20]张立科.单片机典型模块设计实例导航.人民邮电出版社.2004
[21]吴金戌.8051单片机实践与应用.清华大学出版社.2002致谢本次毕业设计中,无论是课题分析与深入,硬件焊接,软件编程还是软硬件联调的过程中,自己遇到了许多困难,但最终还是比较圆满的完成了课题任务本次毕设的完成,除了自己的努力外,好多人给予了很多的帮助在此,我非常感谢在实验室一起奋战的同学,和他们的共同学习、讨论中我获得了大量的信息和宝贵的经验本次毕业设计的主要研究工作是在我的导师王艳辉老师的悉心指导下完成的从老师的身上我看到了老师对待学问的严谨和一丝不苟的态度在这次的毕业设计中学到很多的东西,以往不注意的细节,在这一次中是必须让自己去注意的也是我这四年来所学到知识的一个体现我深深知道每一次的学习实践环节都是那么的来之不易都是通过老师的深思熟虑后才给我们定下目标然后让我们在知识的海洋里翱翔让我们随着年龄的增长不断的扩充自己的知识领域也逐渐成熟逐渐长大附录Ⅰ元器件清单元器件型号数量(个)单片机AT89C521驱动芯片74072数码管共阴极4电阻100Ω10470Ω51KΩ12KΩ
13.9kΩ6电容22uF230pF2晶振12MHz1发光二极管LED5三极管NPN1蜂鸣器1按键3附录Ⅱ整体电路图附录Ⅲ程序清ORG0000HJMPMAINORG1000HMAIN:MOV40H#00HMOV41H#01HMOV42H#00HMOV43H#00HSHEZHI:JNBP
0.0SHEZHI1JNBP
0.1SHEZHI1JNBP
0.2SHEZHI1CALLLEDAJMPSHEZHISHEZHI1:CALLLEDCALLLEDCALLLEDCALLLEDCALLLEDCALLLEDCALLLEDCALLLEDCALLLEDJNBP
0.0RSJNBP
0.1RS2JNBP
0.2RS3CALLLEDAJMPSHEZHIRS:MOV41H#01HMOV40H#01HACALLLEDAJMPSAOMIAORS2:CALLLEDMOVR1#41HMOVA@R1INCACJNEA#0AHAAMOV41H#00HMOV40H#00HAJMPSHEZHI1AA:MOV41HAMOV40HAAJMPSHEZHI1RS3:MOVR1#41HMOV40H@R1ACALLLEDAJMPSAOMIAOSAOMIAO:JBP
1.5S1JBP
1.6S2JBP
1.7S3ACALLCEJUAJMPSAOMIAOS1:CLRP
1.1ACALLBAOJINGSETBP
1.1AJMPSAOMIAOS2:CLRP
1.2ACALLBAOJINGSETBP
1.2AJMPSAOMIAOS3:CLRP
1.3ACALLBAOJINGSETBP
1.3AJMPSAOMIAOCEJU:CLRP
3.1MOVSP#60HMOVTMOD#91HMOVTL1#00HMOVTH1#00HMOVTL0#0ECHMOVTH0#78HMOVR2#00HMOVR3#00HSETBP
3.1NOPNOPNOPNOPNOPNOPNOPNOPNOPNOPCLRP
3.1SETBTR0CEJU1:JBCTF0CEJU3JNBP
3.3CEJU1SETBTR1CEJU2:JBP
3.3CEJU2CLRTR1MOVR2TH1MOVR3TL1JISUAN:MOVR4#00HMOVAR2MOVB#06HDIVABMOVR2AMOVABSWAPAMOVR4AMOVAR3ANLA#0F0HSWAPAADDAR4MOVR4AMOVB#06HDIVABSWAPAMOVR4AMOVAR3ANLA#0FHMOVR3AMOVABSWAPAADDAR3MOVB#06HDIVABADDAR4MOVR3ABCD:CLRAMOVR4AMOVR5AMOVR6AMOVR7AMOVR0#16BCD2:CLRCMOVAR3RLCAMOVR3AMOVAR2RLCAMOVR2AMOVAR6ADDCAR6DAAMOVR6AMOVAR5ADDCAR5DAAMOVR5AMOVAR4ADDCAR4DAAMOVR4ADJNZR0BCD2MOVAR5ANLA#0F0HSWAPAMOVR4AMOVAR5ANLA#0FHMOVR5AMOVAR6MOVR7AANLA#0F0HSWAPAMOVR6AMOVAR7ANLA#0FHMOVR7AMOV41HR5MOV42HR6MOV43HR7ACALLLEDBIJIAO:CLRCMOVR1#40HMOVAR5SUBBA@R1JZBJJCBJACALLLEDAJMPSAOMIAOBJ:CLRP
1.0ACALLBAOJINGSETBP
1.0RETCEJU3:MOV41H#09HMOV42H#09HMOV43H#09HACALLLEDAJMPSAOMIAOBAOJING:SETBP
1.4MOVR2#10HBAOJING1:ACALLLEDACALLLEDACALLLEDCPLP
1.4DJNZR2BAOJING1RETLED:MOVR0#0EFHMOVR1#40HAGAIN:MOVAR0MOVP0AMOVA@R1MOVDPTR#SEGMOVCA@A+DPTRMOVP2AMOVAR0MOVP0AACALLDELAYJNBACC.7LED1INCR1RLAMOVR0AAJMPAGAINLED1:RETDELAY:MOVR3#04HDL1:MOVR4#0FFHDL:DJNZR4DLDJNZR3DL1RETSEG:DB3FH06H5BH4FH66H6DH7DH07H7FH6FHEND
2.1光电传感器89C52单片机发光二极管报警电路超声波测距传感器LED显示器键盘开始系统初始化设定保护距离显示保护距离扫描左右后三个方向传感器是否有信号变化?YN超声波测距子程序计算实际距离并显示比较是否小于保护距离?YN指示位置加报警VCCP
0.0P
0.1P
0.2P
0.3P
0.4P
0.5P
0.6P
0.7EAALEPSENP
2.7P
2.6P
2.5P
2.4P
2.3P
2.2P
2.1P
2.0AT89C52P
1.0P
1.1P
1.2P
1.3P
1.4P
1.5P
1.6P
1.7RST/PP
3.0P
3.1P
3.2P
3.3P
3.4P
3.5P
3.6P
3.7X1X2VSS40393837363534333231301292827262524232122101415161720191813129874116532XLAT1CC晶振30PF30PFXLAT2XLAT1AT89C52RSTAT89C52+5VCR7R8SVCCTrigEchoOUTGND超声波测距传感器AT89C52P
3.1P
3.3光电开关AT89C52P
1.5P
1.6P
1.7VCCOUTGND光电开关VCCOUTGND光电开关VCCOUTGNDAT89C52P
0.0P
0.1P
0.2abcdefgdpdgdp7404AT89C52P
0.7P
0.6P
0.5P
0.4P
2.0P
2.1P
2.2P
2.3P
2.4P
2.5P
2.6P
2.77407AT89C52P
1.0P
1.1P
1.2P
1.3P
1.4蜂鸣器20Ω2KΩ470Ω470Ω470Ω开始N判断是否有键按下?Y调用延时程序消抖判断是否真的有键按下?NY确定按键位置调用相应功能模块返回开始设置T0T1控制字P
3.1口输出10us高电平启动定时器T0定时时间到?YNNP
3.3口是否变为高电平?Y启动计时器T1P
3.3口是否变为低电平?NY关闭计时器T1读TH1TL1的值返回二进制数据左移BCD数加2进位Y存储十进制调整后的数数字移位结束?N位数到?YN返回存储计数器的计数值存储二进制数移动位数开始开始R1显缓首地址R0最左位片选码查表取段码段码送P2口R1+1R0左移位码送P0口延时4位显示完?返回电平持续时间到?返回报警时间到?P
1.4口电平取反置P
1.4口为高电平设置报警时间设置电平持续时间开始NYNY。