《毕业设计(论文)-汽车倒车测距仪设计(38页).docx》由会员分享,可在线阅读,更多相关《毕业设计(论文)-汽车倒车测距仪设计(38页).docx(38页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、-毕业设计(论文)-汽车倒车测距仪设计-第 31 页TAIYUAN UNIVERSITY OF SCIENCE & TECHNOLOGY 毕业设计题目:汽车倒车测距仪设计姓 名: _学 号: _专业班级: _指导教师: _日 期: _电子信息工程学院太原科技大学毕业设计(论文)任务书学院(直属系):电子信息工程学院 学 生 姓 名指 导 教 师设计(论文)题目汽车倒车测距仪设计主要研究内容 掌握单片机控制系统的设计方法,掌握单片机的编程方法,利用单片机实现汽车倒车测距仪的设计。研究方法理论研究 主要技术指标(或研究目标)1、掌握单片机控制系统的设计方法;2、完成控制系统硬件设计,给出控制系统原
2、理图;3、完成控制系统软件设计,编制控制程序;4、调试系统,完成设计初期目标。教研室意见教研室主任(专业负责人)签字: 年 月 日 说明:一式两份,一份装订入学生毕业设计(论文)内,一份交学院(直属系)。目录摘要IABSTRACTII引言1第1章 功能需求分析与设计方案21.1系统功能需求分析21.1.1硬件功能需求分析21.1.2软件功能需求分析31.2主控模块方案设计31.3测距模块方案设计41.4显示模块方案设计41.5报警模块方案设计51.6补偿模块方案设计51.7本章小结5第2章 系统硬件设计62.1 主控制模块设计62.2 时钟电路与复位电路设计62.3 超声波测距模块设计72.4
3、 报警电路的设计92.5 显示模块102.6 温度补偿电路10第3章 系统软件设计123.1 主程序的设计123.2中断服务程序及流程图133.3显示程序及报警程序143.4信号处理程序153.5数据内部处理15第4章 调试18第5章 结论19致谢20参考文献21附录1 整机电路图22附录2 部分源原程序22摘要本文完成了对超声波倒车测距系统的设计。主要目的是设计一种倒车测距显示报警系统,能够2cm到4m范围内实时显示车后障碍物到车尾距离,并在小于危险距离时报警已保证倒车时的安全。采用了单片机最小系统,超声波测距模块,数码管显示模块,蜂鸣器报警模块以及温度补偿模块。可以在2cm到4m范围内测量
4、车障碍物到车尾的距离,温补模块可补偿不同温度下测量距离的误差。并且数码管可以显示当前所测距离。当距离小于规定的警戒值时,报警模块报警。能够给驾驶员一个客观明确的车尾距障碍物距离,报警系统也能给驾驶员一个明确的提醒。关键词:超声波传感器 单片机 温度补偿 ABSTRACTThe ultrasonic reversing range system is designed in this paper.Reversing ranging display alarm system is designed as the main purpose,The rear obstruction can be me
5、asured between 2cm and 4m,And when the alarm is less than the dangerous distance has been guaranteed when the safety of reversing.This design uses the minimum single-chip system, ultrasonic distance measurement module, digital display module, buzzer alarm module and temperature compensation module.T
6、he rear obstruction can be measured between 2cm and 4m,The error of the measurement distance at different temperatures is compensated by the temperature compensation module.And the current distance measured by the digital display.When the distance is less than the specified warning value, the alarm
7、module is enabled alarm.The distance from the rear of the obstacle is presented objectively and clearly to the driver,The driver can get a clear reminder from the alarm module.Keywords:Ultrasonic sensor Single chip microcomputer Temperature compensation 引言根据美国的最新统计表明,因各种原因造成的车辆倒车事故占公路交通事故总量的90%左右。因此
8、,要降低公路交通事故,必须大力降低车辆倒车事故,而汽车倒车技术的发展及应用有助于减少汽车倒车事故的发生。因此,国内外都在研究如何利用先进的技术,即汽车倒车技术,辅助汽车驾驶者对影响公路交通安全的人、车、路环境进行实时监控,在危急情况下由系统主动干涉驾驶操纵、辅助驾驶者进行应急处理、防止汽车倒车事故的发生。 随着国经济的飞速发展,交通运输车辆的不断增多,由此产生的交通问题越来越成为人们关注的问题。其中倒车事故由于发生的频率极高,已引起了社会和交通部门的高度重视。倒车事故发生的原因是多方面的,倒车镜有死角,驾车者目测距离有误差,视线模糊等原因造成倒车时的事故率远大于汽车前进时的事故率,尤其是非职业
9、驾驶员以及女性更为突出。而倒车事故给车主带来许多麻烦,例如撞上别人的车、消防水笼头,如果伤及儿童更是不堪设想,有鉴于此,汽车高科技产品家族中,专为汽车倒车泊位设置的“倒车雷达”应运而生,倒车雷达的加装可以解决驾驶人员的后顾之忧,大大降低倒车事故的发生。 目前测定汽车之间的安全距离一般有三种:超声波测距、微波雷达测距、激光测距。本文着重研究超声波测距。超声波测距由于其能够进行非接触测量和相对较高的测量精度,越来越被人们所重视。就目前形势来看,汽车市场的快速发展将带动倒车雷达市场的繁荣。国内倒车雷达主流市场已经开始有进口高档汽车向中低档汽车发展。技术上向着单芯片功能成灵敏度更高、可视化发展,设备趋
10、于小型化、人性化、智能化等方向发展。由此可见,超声波汽车倒车雷达系统将会在人类今后的生活中扮演越来越重的角色,为人类的发展作出重要贡献。超声波倒车雷达系统一般由超声波传感器(俗称探头)、控制器和显示器等部分组成,现在市场上的倒车雷达大多采用超声波测距原理,驾驶者在倒车时,启动倒车雷达,在控制器的控制下,由装置于车尾保险杠上的探头发送超声波,遇到障碍物,产生回波信号,传感器接收到回波信号后经控制器进行数据处理,判断出障碍物的位置,由显示器显示距离并发出警示信号,得到及时警示,从而使驾驶者倒车时做到心中有数,使倒车变得更轻松。第1章 功能需求分析与设计方案1.1系统功能需求分析在对汽车倒车测距仪的
11、设计中,基础功能应该能够对车后障碍物到车尾的距离进行测量,并将测量结果显示在驾驶员眼前。而本次设计不仅有这些基础功能,还应包括其他功能,具体功能如下:1、 能够对车为后障碍物到车尾进行实时测量;2、 对所测得数据进行运算处理,得出障碍物到车尾的垂直最小距离;3、 将计算所得最小距离按一定周期显示出来;4、 当垂直最小距离小于警戒值时,系统能够报警提示驾驶员;5、 可用自主规定警戒值;6、 利用补偿模块减小测量时带来的误差。测量范围是2cm到4m,即测量的是车尾障碍物到车尾距离在2cm到4m;测量的精度是0.5cm。由于无论用那种传感器进行测距,都会存在外界环境对测量数据的影响,为了减小误差,是
12、有必要引入测距补偿模块,来提高数据的准确性和可靠性。由于此次设计主体为数据采集,数据分析处理以及简单的显示和报警,不存在大规模的运算以及系统的变动,系统的稳定性和可靠性还是有一定的保障。1.1.1硬件功能需求分析首先要确立要实现的功能:距离的测量,数值运算,数据的显示,警戒值的规定,系统报警以及误差的补偿。在功能确立后要进行模块的设计已经系统结构框图的设计。主要包含以下几个模块:主控制模块,测距模块,补偿模块以及人机交互模块。其中人机交互模块包含按键输入,显示模块和报警模块。系统的结构框图如图1.1所示。1、 测距模块:用来检测车后障碍物到车尾传感器距离;2、 按键控制模块:可自主规定警戒值;
13、3、 报警模块:当系统计算最小距离小于警戒值时进行报警;4、 补偿模块:对环境影响造成数据采集的误差进行补偿;5、 显示模块:对系统计算后的距离进行显示。图1.1 系统总体方框图1.1.2软件功能需求分析要实现上述硬件部分各模块的,需要软件部分设计以及程序写入的支持。需要包含主程序部分,测距模块部分的收发电路以及程序,对采集信号的读取运算以及输出,显示模块的显示,延时及中断程序,补偿模块的实现及程序,按键控制警戒值部分和报警模块的设计。硬件的测量部分是由传感器构成,传感器的数据采集是有时间间隔的,间隔20ms,这其中就需要延时程序和中断服务程序的支持;不仅仅是测量模块,在显示模块中,显示数字的
14、刷新间隔为300ms,这就决定了系统的周期为300ms,这期间也需要延时和中断服务程序的支持。而主控部分决定了系统的基本工作方式,需要用编程来实现对测量模块的发送接收信号控制;输出信号显示模块进行控制;将数据信号与按键电路输入的数据信号进行比对,决定是否给报警模块信号使其报警以及补偿模块的信息采集和其对传感器采集距离 信息进行的补偿。这些都需要软件部分的设计支持以及编程来实现。1.2主控模块方案设计方案1:选用一片CPLD(如EPM7128LC84-15)作为系统的核心部件,实现控制与处理的功能。CPLD具有速度快、编程容易、资源丰富、开发周期短等优点,可利用VHDL语言进行编写开发。但CPL
15、D在控制上较单片机有较大的劣势。同时,CPLD的处理速度非常快,而超声波测距对处理速度要求不可能太高,那么对系统处理信息的要求也就不会太高,在这一点上,MCU就已经可以胜任了。若采用该方案,必将在控制上遇到许许多多不必要增加的难题。为此,我们不采用该种方案,进而提出了第二种设想。方案2:采用单片机作为整个系统的核心,用其处理超声波数据,以实现其既定的性能指标。充分分析我们的系统,其关键在于实现超声波测距,而在这一点上,单片机就显现出来它的优势控制简单、方便、快捷。这样一来,单片机就可以充分发挥其资源丰富、有较为强大的控制功能及可位寻址操作功能、价格低廉等优点。因此,这种方案是一种较为理想的方案
16、。在综合考虑了传感器等诸多因素后,我们决定采用一片单片机,充分利用STC89C52单片机的资源。综上所述,选择了方案2。1.3测距模块方案设计方案一:红外传感器,红外传感器的优点是构成简单,可自主制作,缺点是短距离测量时受到光线影响,误差较大。而光线所带来的误差不容易进行补偿。方案二:超声波传感器,利用声波遇障反弹原理进行测距,短距离内精度较高。虽然存在温度影响,但对温度带来的误差极易进行补偿,适用于本设计需求。因此,综合考虑,决定选用超声波传感器。1.4显示模块方案设计方案1:用LCD液晶进行显示。LCD由于其显示清晰,显示内容丰富、清晰,显示信息量大,使用方便,显示快速而得到了广泛的应用。
17、对于此系统我们显示要求并不是很高,用LCD显示没有充分发挥出LCD的显示优势,因此我们放弃了此方案。方案2:用数码管进行显示。数码管由于显示速度快,使用简单,显示效果简洁明了而得到了广泛应用。在这里我们需要显示的是测得的距离值和温度值,用数码管显示足以满足要求,因此选择了此方案。1.5报警模块方案设计方案1:采用语音芯片提示,优点可以自由设定要提示的声音。缺点使用复杂,需要专门的编程软件,成本高控制复杂,不便于普及。方案2:采用蜂鸣器提示,电路简单实用,可靠性高。综上所述选择方案21.6补偿模块方案设计在这一模块中,我们采用的是DS18b20温度传感器对温度造成的影响进行补偿。DS18b20温
18、度传感器的优点是具有独特的单线接口,仅需一个接口引脚即可通信,同时它也不需要外部再接部件和单独的电源,使用起来方便,因此我们选用了它。1.7本章小结本章对此次设计功能需求进行了阐述,并根据要实现的功能进行了各模块的软硬件方案设计以及各模块的选择。下面将就系统的软硬件分别进行详细的设计。第2章 系统硬件设计根据系统的功能分析,确定系统的工作模块:电源模块、主控模块、测距模块、显示模块、按键模块、补偿模块和报警模块。基本工作原理:先通过按键电路设置好警戒值,超声波传感器将所测量距离送到单片机进行处理,期间温度传感器对采集的数据进行补偿,单片机把处理好的信息通过数码管显示,并在计算所得数值小于警戒值
19、时启动蜂鸣器报警模块报警。总体电路图见附录1。2.1 主控制模块设计单片机主最小系统电路如图2.1所示。其中p1.0到p1.7分别接数码管的段选,p3.4到p3.7分别接数码管的位选;P3.2、p3.3接超声波传感器的接收发送引脚;VCC和VPP接电源;p2.0到p2.2接按键电路;p2.3接蜂鸣器报警电路;p2.4接DS18b20温度补偿电路。 图2.1 单片机主控电路2.2 时钟电路与复位电路设计本系统采用STC系统列单片机,相比其他系列单片机具有很多优点。一般STC单片机资源比其他单片机要多,而且执行速度快;STC系列单片机使用串口对单片机进行烧写,下载程序较为方便;STC52单片机内部
20、集成了看门狗电路;且具有很强抗干扰能力。本系统采用内部方式的时钟电路和加电自复位的复位电路,如下图2.2图2.3所示: 图2.2 时钟电路 图2.3 复位电路由于单片机P0口内部不含上拉电阻,为高阻态,不能正常地输出高/低电平,因而该组I/O口在使用时必须外接上拉电阻。2.3 超声波测距模块设计在测距模块的设计中有多种选择方案,如微波雷达测距,激光测距以及本次设计所采用的超声波测距。其中微波雷达测距原理是接收的回波信号,只要有回波产生,其就认定为完成一次测距,只适用于单纯无移动物体移动影响的环境。而在汽车倒车过程中,周围的环境复杂多变,显然不符合。而且最主要的是微波雷达不能安装在不停移动的物体
21、上,显然是无法满足我们的工作需求的。而激光测距在测量时要保证光线与被测物体的垂直才能使反射回来的信号强度够大,当信号过于微弱是是无法准确测量的。而且激光测距发射和接受的是光信号,本系统要适用于不同环境,光线亮度,障碍物颜色环境下的汽车倒车时应用,此时对光信号的误差是极其明显的。因而我们不采用激光测距。超声波测距模块基本原理是声波的发射与接收,其时间间隔与声波速度的乘积即是所测得距离。由于声波信号是发散的,不存垂直与否的影响;而周围环境颜色以及环境中光线亮度也不会对声波信号有影响。其唯一的缺点便是受外界温度影响,而这种影响我们可以采用DS18b20温度补偿模块进行消除。因此最合适本系统的测距模块
22、便是超声波测距模块。超声波模块采用现成的超声波模块,该模块可提供 2cm-400cm 的非接触式距离感测功能,测距精度可达高到 3mm。模块包括超声波发射器、接收器与控制电路。HC-SRO4的基本参数如下表:电器参数C-SRO4超声波模块工作电压工作电流DC 5V15mA工作频率40KHz最远射程4m最近射程2cm测量角度15度输入触发信号10us的TTL脉冲输出回响信号输出TTL电平信号,与射程成比例规格尺寸45*20*15mm表2.1 HC-SRO4参数表基本工作原理:采用 IO 口 TRIG 触发测距,给至少 10us 的高电平信号;模块自动发送 8 个 40khz 的方波,自动检测是否
23、有信号返回;有信号返回,通过 IO 口 ECHO 输出一个高电平,高电平持续的时间就是超声波从发射到返回的时间。测试距离=(高电平时间*声速(340M/S)/2。实物如下图2.4。其中VCC 供5V 电源,GND 为地线,TRIG 触发控制信号输入,ECHO 回响信号输出等四支线。图2.4 超声波接口电路图如图2.5所示,超声波发射器向某一方向发射超声波,在发射时刻的同时开始计时,超声波在空气中传播,途中碰到障碍物就立即返回来,超声波接收器收到反射波就立即停止计时。超声波在空气中的传播速度为340m/s,根据计时器记录的时间t,就可以计算出发射点距障碍物的距离(s),即:s=340t/2就是所
24、谓的时间差测距法。图2.5测距原理2.4 报警电路的设计如下图所示,用一个Speaker和三极管、电阻接到单片机的P13引脚上,构成声音报警电路,如图2.6示为声音报警电路。当系统处理所得距离信号小于事先规定的警戒值时,单片机给蜂鸣器输入一个低电平,蜂鸣器开始报警;图2.6声音报警电路图2.5 显示模块显示模块采用数码管显示接口电路如图2.7其中数码管是共阴极,其中p1.0到p1.7分别接数码管的段选,p3.4到p3.7分别接数码管的位选。P3.4到p3.7管脚中哪个输出低电平控制数码管的哪一位;而p1.0到p1.7决定此位数码管显示的数字。图2.7数码管电路2.6 温度补偿电路温度采用DS1
25、8B20传感器进行测量,P2.4接DS18B20数据总线,控制DS18B20进行温度转换和传输数据,同时数据总线上还接10k的上拉电阻。本系统对DS18B20采用外部供电,其优点在于I/O线不需要强上拉,而且总线控制器无需在温度转换期间一直保持高电平。这样在转换期间可以允许在单线总线上进行其他数据传输,硬件结构如图2.8所示。图2.8 温度传感器接口电路图第3章 系统软件设计硬件和软件的结合才能发挥本设计的功能,因此在梳理硬件电路后,须配合软件,方能实现本系统的功能。本设计可分为发送超声波、计算测量距离、显示测量距离等。 软件包括四个主要模块组成分别是主程序、超声波发射子程序、INT0中断服务
26、程序、定时器T0溢出中断程序。 3.1 主程序的设计 超声波测距的软件设计主要由主程序、超声波发生子程序、超声波接收程序及显示子程序组成。超声波测距的程序既有较复杂的计算(计算距离时),又要求精细计算程序运行时间(超声波测距时),所以控制程序可采用C语言编程。 主程序首先是对系统环境初始化,设定时器0为计数,设定时器1定时。置位总中断允许位EA。进行程序主程序后,进行定时测距判断,当测距标志位cl=1,即进行测量一次,程序设计中,超声波测距频度是2次/秒。测距间隔中,整个程序主要进行循环显示测量结果。当调用超声波测距子程序后,首先由单片机产生6-8个频率为38.46kHz超声波脉冲,加载的超声
27、波发送头上。超声波头发送完送超声波后,立即启动内部计时器T0进行计时,为了避免超声波从发射头直接传送到接收头引起的直射波触发,这时,单片机需要延时约1.5 -2ms时间(这也就是超声波测距仪会有一个最小可测距离的原因,称之为盲区值)后,才启动对单片机P3.7脚的电平判断程序。当检测到P3.7脚的电平由高转为低电平时,立即停止T0计时。由于采用单片机采用的是12 MHz的晶振,计时器每计一个数就是1s,当超声波测距子程序检测到接收成功的标志位后,将计数器T0中的数(即超声波来回所用的时间)来计算,即可得被测物体与测距仪之间的距离。主程序的流程图如图3.1所示。图3.1 主程序流程图3.2中断服务
28、程序及流程图中断是单片机实时地处理内部或外部事件的一种内部机制。当某种内部或外部事件发生时,单片机的中断系统将迫使CPU暂停正在执行的程序,转而去进行中断事件的处理,中断处理完毕后,又返回被中断的程序处,继续执行下去。而中断服务程序:处理器处理“急件”,可理解为是一种服务,是通过执行事先编好的某个特定的程序来完成的。而中断服务程序又可以分为外部中断和内部中断,通常有3个内部中断源T0,T1,串行口,2个外部中断源INT0,INT1,这两个外部中断源都是低电平有效。这个系统用到了两个中断子程序,定时中断子程序和外部中断子程序。外部中断执行过程中,只要定时中断能产生并且能进入定时中断子程序,定时器
29、就可以计数,这跟设置的中断优先级有关系。使用定时器中断,则把中断重新启动工作放在外部中断服务程序中,一旦定时器从新启动,延时固定的时间。系统中的超声波测距模块测量间隔是20ms,数码管显示模块显示间隔为300ms,也就是说每20ms中断一次进行超声波所测得距离信息的读取,即在此时运行每300ms中断一次进行数码管显示。当这两个中断程序同时发生时,先运行每20ns一次的中断服务程序。图3.2 中断服务程序流程图3.3显示程序及报警程序显示的目的是让驾驶员更为明确的得知障碍物到车尾的距离,从而做出正确的判断。系统测距的目的就是对驾驶员进行倒车时的辅助,如果不显示距离只进行报警,辅助的作用就不全面,
30、驾驶员对车后障碍物的距离无法做到一个很好的把控。由于人的视觉暂留及断电时数码管的断点余晖影响,数码管采用的是静态显示,刷新的周期为300ms,在加入中断服务程序后,单片机最小系统完全可以实现。因为这个系统要不断的显示出距离,如果采用静态显示则占用的I/0口资源多,为了节约系统资源,我们采用动态显示法。动态扫描显示法在多位7段LED显示中,为了简化电路,降低成本,则讲所有的问的段选线并联在一起,刚好由8个I/O来控制8个段。而公共端则分别由相应的I/O控制。动态扫描显示主要是靠人眼的视觉停留原理。人眼的视觉暂留时间为0.1秒,其实数码管是一个一个亮过去的,每个数码管显示它该现实的数字,中间只间隔
31、十毫秒,由于断电的那几毫秒数码管有余晖,人眼看过去好像整排数码管都是量的。设计时,要注意每位显示的间隔时间,由于一位7段LED的熄灭时间不能超过100ms,也就是说点亮其它位所用的时间不能超过100ms,这样当有N位的7段LED用来显示时,每一位间隔的时间t就必须要符合下面的式子:t100ms/(N-1)这里使用了3位,也就是N =3,则由上面式子可以算出t50ms,就是每一位的间隔时间不能超过50ms。PC口做为LED的位选控制口,采用共阴显示接法。将计算好的距离数据设置显示缓冲区起始地址,显示缓冲区中被显示的字符的字形码的地址偏移量预先制表放入。报警模块的启用是在单片机处理所得最小距离小于
32、警戒值时启用,当最小距离大于警戒值时停止报警。声音报警是可以很好地提示驾驶员障碍物到车身距离过小,行车有危险。因为数据的采集间隔是20ms,显示间隔是300ms,在这期间对驾驶员的提示就需要报警系统实现。当然,报警模块也存在误报的可能,然而以为采样间隔是20ms,也就是说最小距离与警戒值的比较是20ms一次,误报可以被很快的消除,不如为虑。3.4信号处理程序空中有各种干扰信号,如汽车鸣笛,排气时发出的噪声。这些噪声中含有40KHz的谐波成分,被放大后可能引起显示干扰。另外,汽车运行特别是刚启动时,电源中也有许多干扰脉冲。因此,除在硬件电路中采取措施外,软件中还可以加入抗干扰装置。一般可根据倒车
33、的速度和回波信号脉宽来分析,对接收的信号进行甄别,筛选出正确信号。在一般情况下,超声回波信号十分微弱,转换电信号的幅值也较小,必须采用高增益的放大电路。同时,复杂的工作环境又使得超声回波信号中包含了较多的噪声干扰。因此在设计电路时,既要进行信号的放大又要做适当的滤波处理。信号处理首先判断有无回波信号。若超过设定的时间还没有接收到回波,则说明车后无障碍物,此时置闪烁显示“-”并发出长嘟声;或障碍物距离较远已超出最大探测距离,当测量超过上限值收不到回波时显示“C C C”由于CPU工作速度比倒车速度快的多,所以不需要每次收到信号后立即显示,收到信号可先存起来,存满4个信号,连同原来显示的信号共五个
34、信号,从中筛选一个正确信号。3.5数据内部处理因为超声波测距模块测量的是障碍物到传感器的距离,而我们需要显示以及与警戒值比较的距离是障碍物到车尾的最小距离。也就是说需要把采集到的距离信号进行运算处理,然后在决定是否显示以及与警戒值比较决定是否报警。况且采集到的距离信号受环境温度影响而具有误差,需要温度补偿模块进行补偿,此时也需要运算处理。如果不进行数据的处理,数据会受到障碍物与车位处置面角度,环境温度的影响而产生的误差,因而数据处理是必须的。数据进行处理后,不但消除了环境因素以及角度因素对系统数据的误差影响。而障碍物到车尾的最小垂直距离小比较障碍物到传感器的距离个具有代表性和说服力。数据处理流
35、程图如下图3.3。图3.3 数据处理流程图在本系统中超声波传感器的采样间隔位20ms;考虑到显示模块为数码管,为了避免视觉残留带来的影响,显示间隔为300ms;也就是说整个系统的工作周期为300ms。而采样周期为20ms,也就是说并不是每一个数据采集录入运算处理后都显示出来,而是每15组数据进行一次保留,每300ms输出这一组数据中在这一时刻的数据。这就用到了上面所表述的延时程序和中断程序。因为采集到的信号是障碍到超声波传感器的距离,而我们所需要显示的是障碍物到车尾的最小垂直距离,因此要对接收到的距离数据进行处理。此处采用的是三角形推理方法。具体情况图如下图3.3.图3.3 算法推理图其中O点
36、为障碍物,M,N是两个平行于车尾面的测距传感器。MN之间的距离是给定值,即x+y是定值,我们用c表示。M,N所测得距离分别用a,b表示,最小垂直距离为h。则有以下公式:综合以上公式,可得出最小垂直距离h的公式:h就是经过单片机运算处理后的距离,因为采样间隔为20ms,也就是说h的产生周期为20ms,因为系统的工作周期为300ms,也就是说h的数据会被暂存起来,在每300ms时将此时刻的h值送入数码管显示模块显示。第4章 调试本次试验目的是为了验证系统能够按照设计要求完成相应的功能。验证在倒车时随着距离不断地缩小能否准确的测量障碍物到车尾的最小垂直距离以及显示,当距离小于警戒值时能否开始报警,当
37、距离大于警戒值时能否停止报警。是否存在误差,误差是否在可接受范围内。此次试验用一把T型尺作为障碍物,用整体系统不断靠障碍物模拟倒车时的情景,用钢尺测量此时障碍物到系统的距离和系统显示距离进行比较,观察误差。不断逼近使距离小于警戒值看能否报警;当报警开始后继续逼近一段距离后开始远离障碍物,观察当距离大于警戒值时是否停止报警。测量时用按键输入设置报警距离为9.5cm。而后不断靠近作为障碍物的T型尺,并在一旁放一把钢尺对所测数据与实际数据进行比较。发现所测的显示距离与实际距离存在0.2到0.4cm的误差。当显示距离小于9.5cm时,系统开始报警;当距离大于9.5cm时,系统停止报警。超声波测距原理是
38、声波发出和接收的时间差,以此和声波的传递速度结合,运用公式计算,得出距离。而声波接收时要尽量的避免余波信号的干扰。所以测量是存在盲区的,这个盲区大概是2cm左右。而且本设计理论上的测量距离范围为2 cm5 m,测量的误差比较小,测量显示值稳定,可以精确到0.5 cm,能满足设计要求。测量结果如图4.1。图4.1现场测试图第5章 结论此次毕业设计是采用一个AT89C52单片机控制系统来进行倒车防撞报警系统的制作,并有效的进行控制和报警,它具有全集成化,智能化,精度高,性能高,可靠性高和价格低等优点,是一个值得推广的一种方法。设计的最终结果是使超声波测距仪能够产生超声波,实现超声波的发送与接收,从
39、而实现利用超声波方法测量物体间的距离。用DS18b20作为温度补偿模块补偿外界温度对测量结果带来的误差。利用单片机内部运算将传感器与障碍物之间的距离计算成障碍物到车尾的最小垂直距离距离并用数码管显示出来。当最小垂直距离小于警戒值时蜂鸣器报警,而一旦最小垂直距离大于警戒值时,蜂鸣器停止报警。测量范围为2cm到4m,精度为0.5cm。测量间隔为20ms,数码管静态显示周期为300ms。在设计本作品时,通过查阅网络与书籍上搜集到的资料,再加上指导老师的指导与资料提供,与生活中对于超声波的工作原理的观察研究相结合,设计出了这一套超声波汽车倒车防撞系统的主要硬件结构,基本完成了课题的要求,但是由于设计的
40、理论基础尚浅,对课题的研究经验还不成熟,使得在技术的解决与运用上显得粗糙了一些,在某些技术关键上的叙述不能达到详细、精辟。 超声波测距仪的软件设计主要由主程序、超声波发生子程序、超声波接收中断程序及显示子程序组成。我们知道C语言程序有利于实现较复杂的算法,汇编语言程序则具有较高的效率且容易精细计算程序运行的时间,而超声波测距仪的程序既有较复杂的计算(计算距离时),又要求精细计算程序运行时间(超声波测距时),所以控制程序可采用C语言和汇编语言混合编程。但是由于汇编语言较难,实现起来不是很容易,所以我全文都用C语言来实现所有功能。 致谢首先,我感谢金坤善老师。本设计文是在金坤善老师精心指导和大力支
41、持下完成的。他们平日里工作繁多,但在我做毕业设计的每个阶段,从确定命题查阅资料,设计草案的确定和修改,中期检查,后期详细设计,论文写作等整个过程中都给予了我悉心的指导。我对金坤善老师的感激之情是无法用言语表达的。 本课题在选题及研究过程中金坤善老师多次询问研究进程,并为我指点迷津,帮助我开拓研究思路,精心点拨、热忱鼓励。金坤善老师一丝不苟的作风,严谨求实的态度,踏踏实实的精神,不仅授我以文,而且教我做人,给以终生受益无穷之道。金坤善老师以其严谨求实的治学态度、高度的敬业精神、兢兢业业、孜孜以求的工作作风和大胆创新的进取精神对我产生重要影响。他渊博的知识、开阔的视野和敏锐的思维给了我深深的启迪。
42、在他们的引导下,我认识了有了设计的思路,极大的开拓了我的学术视野,也为本篇论文打下了理论基础。在这次设计中金坤善老师又给我提出了许多宝贵的意见。虽然我遇到了许多困难,但是我及时的和金坤善老师讨论这些问题,最终问题都迎刃而解了。减少了我在这次设计中的困惑和完成时间。在论文撰写方面更是给予了方向性的指导和建设性的意见和建议。 最后感谢在大学四年期间,传授我知识的老师们,感谢在学习和生活上给予我帮助的同学们,没有他们的帮助就没有我今天的骄人成绩。经过几个月的忙碌和工作,本次毕业设计已经接近尾声,作为一个本科生的毕业设计,由于经验的匮乏,难免有许多考虑不周全的地方,毕竟这次设计是我第一次进行全面和系统
43、的设计,疏漏和不足之处在所难免,可能存在许多细节未做到及时处理,请老师指正,以帮助我不断提高,不断进步。我相信通过这次全面系统的设计以及在这个过程中各位老师的不断点拨,在今后的工作中我一定会做到更好。参考文献1 何秋生. 单片机原理与应用(第二版),电子工业出版社,2010. 2 李全利. 单片机原理及应用技术,第二版,北京高等教育出版社,2005.3 胡文金. 单片机应用技术实训教程,重庆大学出版社,2010. 4 夏继强, 单片机实验与实践教程,北京北京航空航天大学出版社, 2009.5 陈少航. 单片机实训教程,机械工业出版社,2008. 6 张毅刚. 新编MCS-51单片机应用设计,
44、哈尔滨工业大学出版社, 2008.7 贾伯年. 传感器技术,南京东南大学出版社, 2010. 8 刘畅生. 传感器简明手册及应用电路,西安电子科技大学出版社,2008.9 马西秦. 自动检测技术,北京机械工业出版社,2003. 10 刘守亦. 单片机应用技术, 陕西西安电子科技大学出版社,1998. 11 李雅轩. 单片机实训教程,北京航空航天大学出版社,2008.附录一 整机电路图附录二 部分源程序/*主函数*/void main()beep = 0; delay_1ms(150);P0 = P1 = P2 = P3 = 0xff;send_wave();smg_display();time
45、_init();init_eeprom(); send_wave();send_wave();while(1)if(flag_300ms = 1)flag_300ms = 0;temperature = read_temp();clock_h_l(); send_wave();if(menu_1 = 0)smg_display();if(menu_1 = 2) dis_smg0 = 0xff; dis_smg1 = smg_dutemperature % 10; dis_smg2 = smg_dutemperature / 10 % 10 ; dis_smg3 = 0xff; key();if(key_can 10)key_with();/*小延时函数*/void delay_uint(uint q)while(q-);/*1ms延时函数*/void delay_1ms(uint q)uint i,j;for(i=0;iq;i+)for(j=0;j120;j+);/*处理距离函数*/void smg_display()dis_smg0 = smg_dudistance % 10;dis_smg1 = smg_dudistance / 10 % 10;dis_smg2 = smg_dudistance / 100 % 10 & 0x7f;/*把数据保存到单片机内部*