




已阅读5页,还剩57页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
宁波理工学院毕业设计(论文) 题 目 汽车防撞报警系统设计 姓 名 学 号 专业班级 10电子信息工程1班 指导教师 学 院 信息科学与工程学院 完成日期 2014年5月19日 II摘 要为了提高汽车驾驶安全性,设计一个汽车防撞报警系统。系统以51单片机为控制核心,用HC-SR04超声波测距模块测量距离,通过12864液晶进行显示,用NY3P016AP8语音模块报警。当汽车倒车时,语音提示汽车与障碍物的距离,当汽车与障碍物之间的距离小于警戒距离时,喇叭会发出“危险,危险”提示声。从5cm1m,间隔5cm进行测量,1m4m,间隔10cm进行测量。距离小于50cm时,误差几乎为0,50cm100cm,误差在2cm左右,100cm400cm,误差最大为7cm。测量结果表明,系统在汽车与障碍物距离1m以内,工作可靠。关键词:单片机控制;超声波测距;语音报警AbstractIn order to improve the driving safety, it is necessary to design an automotive anti-collision alarm system. The control core of this system is 51Mcu. This system uses HC-SR04 ultrasonic ranging module to measure distance, and the 12864 LCD as its result display, the NY3P016AP8 module as its alarm. Voice prompt gives the distance between the car and obstacles when car is reversing. If the distance is less than the safe distance, the alarm will give the voice watch out to remind diver to be careful. When the distance is between 5cm to 1m, it will do measure every 5cm and the error is almost 0. When the distance is between 1m to 4m, it will do measure every 10cm. When the distance is less than50cm, the error is almost 0, from 50100cm, the error is about 2cm, from 100400cm, the error can reach the maximum to 7cm. Measurement results show that the system is useful if the distance between car and obstacle is less than 1m.Keywords: MCU control;Ultrasonic Ranging;Voice Alarm57目 录摘 要IAbstractII第1章 概述11.1 选题的背景意义11.2 国内外现状1第2章 系统体系结构42.1 系统构成42.2设计方案选择42.2.1 控制模块42.2.2 测距模块72.2.3 显示模块102.2.4 语音播报模块112.2.5 按键设置模块12第3章 硬件系统设计133.1单片机最小系统133.2 超声波测距电路143.3显示电路153.4语音播报电路153.5 按键电路173.6 系统电路原理图18第4章 系统软件设计194.1 系统软件设计思想194.2 系统程序设计194.2.1 主程序设计194.2.2 按键设置程序设计214.2.3 语音播报程序设计214.2.4 测距程序设计22第5章 系统调试245.1 方法与过程245.2 问题及解决方案275.3 完整硬件电路29第6章 测试结果及分析326.1 测试环境326.2 测试结果336.3 分析误差396.3.1 声速引起的误差396.3.2 单片机时间分辨率的影响406.3.3 系统误差的影响40第7章 总结与展望42参考文献44附 录 系统源程序45致 谢57第1章 概述1.1 选题的背景意义随着汽车工业的快速发展,汽车方便快捷的优点使汽车普及率飞速提高。但是在汽车带给我们方便、快捷的同时,它也越来越多的表现出了它的弊端危险性。根据统计可知,75%至90%的交通事故是因为驾驶员的操作不当引起的。在美国、日本、德国等一些发达国家,购车者会将选购汽车的重点放在驾驶汽车的安全程度上。假如不考虑驾驶员的驾驶技能,最有效让事故降低的方法就是使车具有防撞报警的功能。如今人们对交通的安全越来越关注,使得汽车前向防撞报警系统(forward collision warning systems,FCWS)、前向主动避撞系统(forward collision avoidance systems, FCAS)等比较先进车辆主动安全技术飞快发展。以上这些系统的共同之处是通过车上的测距雷达测量车与目标车、车与障碍物之间的距离,更有甚者是测量车与目标车之间的相对速度以及相对方位角等等这些信息,并且将这些信息发送给系统的控制模块。车用的测量距离的雷达俗称车用雷达,它是实现汽车主动安全技术的关键技术之一,也是现今智能交通、信号处理以及传感器工业的研究热点1。相关专业机构统计过,现今我们国家私家车越来越多,随之车位也越来越多,而泊车位却越来越小,新司机和女司机越来越多,刮蹭等这类倒车事故发生的越来越频繁,由于倒车事故引发的纠纷更是不计其数。对于很多司机朋友尤其是对刚拿到驾照的新手来说,倒车的确是一件非常令人头疼的事情。假如能够有一种用声音或者更加直观的显示方式提示驾驶员车附近障碍物的状况,消除了驾车者泊车或者起动车辆时因附近探视而引起的烦恼,而且帮助了驾车者解除了视野死角和视线模糊等缺陷,使得驾驶更加安全的汽车倒车安全辅助系统装备在汽车上后,十分有效地解决了汽车倒车引起的安全问题。这就是汽车倒车雷达。1.2 国内外现状倒车雷达系统经过了五年左右的发展,已经经过了五代的技术改善,不仅仅从结构外观方面,而且从性能价格方面,这五代产品都各自有各自的特色,其中使用率最高的是魔幻镜、荧屏显示以及数码显示倒车雷达这三种。第1代轰鸣器,轰鸣器是倒车雷达系统的鼻祖,驾驶员在倒车的过程中,假如车后1.41.9m处存在障碍物,轰鸣器就会发出鸣叫声。鸣叫声频率越高,代表车身离障碍物越近,但遗憾的是它没有语音提示以及距离显示这种直观的功能,司机虽然知道存在障碍物,但是他并不能明确车离障碍物到底有多远,可见它对驾驶员的帮助并不是特别大,不能有效地解决汽车倒车过程中的安全问题。第2代数码波段显示,第2代的产品相对于第1代的轰鸣器要先进很多,数码波段显示装置安装在汽车仪表台上的位置,它能够显示车辆距障碍物的距离。数码波段显示具备两种显示方式,而波段显示产品用三种颜色来区别:显示绿色的时候表示是安全距离,它表明车离障碍物的距离有0.8m以上;显示黄色的时候表示警告距离,它表明车离障碍物的距离仅仅有0.60.8m;显示红色的时候表示危险距离,它表明车离障碍物小于0.6m,你得马上中断倒车。而数码产品显示距离数字。假如是物体的话,在车距离物体1.8m的时候开始显示;如果是人的话,在车距离人大约0.9m的时候开始显示。这代产品将数码与波段合二为一,还算是挺实用的。反应不够快、使用寿命较短是它最突出的缺点。第3代液晶显示屏动态显示,液晶显示屏这代产品在屏幕显示开始出现动态显示方面十分受人关注。它无需挂倒挡,只需要将车发动,显示屏上立马会显示车离障碍物的距离,并且还能出现汽车的图案。它不仅外表结构美观,而且可以非常方便地直接粘贴在仪表盘上。它所显示的距离更加准确,能给人一种舒适的感觉。与其他倒车雷达产品相比,这个产品更能被广大车主所接受。存在抗干扰能力不强的问题是液晶显示器的弊端,所以这个产品有时候会出现误报。第4代魔幻镜倒车雷达,魔幻镜倒车雷达集合了之前代产品的优点,使用最新仿生超声雷达技术,并配备了高速电脑的控制,可以准确地测量2m 范围内的障碍物,提醒驾车者的方式是用不同等级的直观显示以及声音提示。魔幻镜倒车雷达不仅增加了语音播报功能,另外它还可以将免提电话功能、温度显示功能、后视镜功能、倒车雷达功能等集合到一块。不占用车内空间是它的优点,可以非常方便地直接安装在车内后视镜的位置。但是它的价格相对比较高。第5代整合影音系统,整合影音系统是专门为高档轿车定制的,它比前几代产品在功能上增加了很多。该系统在外观上来看比前几代产品更加精致典雅,在功能上,它不仅仅具备前几代代产品的所有功能,而且还整合了高档轿车具备的影音系统,极具诱惑的是可以在显示器上观看DVD 影像 2 。第2章 系统体系结构2.1 系统构成汽车防撞报警系统是以AT89C51单片机为控制核心,实现汽车倒车时自动检测车与障碍物的距离,在液晶显示距离的同时,并能通过喇叭进行语音距离播报。当汽车与障碍物之间的距离小于警戒距离时,进行语音报警。警戒距离可以根据自己的偏好进行设置。根据系统设计要求,将汽车防撞报警系统分为五个模块,由控制模块、超声波测距模块、液晶显示模块、语音播报模块、按键设置模块组成。如图2.1所示。图2.1 系统框图2.2设计方案选择2.2.1 控制模块控制模块主要用于对距离测量信号的接受和处理、控制显示电路对距离值实时显示、控制语音模块实时播报距离以及控制键盘实现对警戒值的设定等。本设计控制器选用AT89C51单片机,它具有编程灵活、算术运算功能强、自由度大,可用软件编程实现各种算法和逻辑控制,它还有功耗低、成本低、体积小等优点。AT89C51单片机将多功能8 位CPU 和闪烁存储器组合在单个芯片中,是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。AT89C51 封装图如图2.2 所示。图2.2 AT89C51 封装图1主要特性:89C51CPU 与MCS-51 兼容4K 字节可编程FLASH 存储器(寿命:1000 写/擦循环)全静态工作:0Hz-24KHz三级程序存储器保密锁定1288 位内部RAM32 条可编程I/O 线两个16 位定时器/计数器5 个中断源32管脚说明:VCC:供电电压。GND:接地。P0 口:它是一个8 位漏级开路双向I/O 口,每脚可以吸收8TTL 门电流。当P1 口的管脚第一次被写1 时,它被定义成高阻输入。P0 能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH 编程时,P0 口作为原码输入口,当FIASH 进行校验时,P0 输出原码,此时P0 外部必须被拉高。P1 口:P1 口是一个内部提供上拉电阻的8 位双向I/O 口,P1 口缓冲器能接收输出4TTL 门电流。P1 口管脚写入1 后,被内部上拉为高,可用作输入,P1 口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH 编程和校验时,P1 口作为第八位地址接收。P2 口:P2 口为一个内部上拉电阻的8 位双向I/O 口,P2 口缓冲器可接收,输出4 个TTL 门电流,当P2 口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2 口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2 口当用于外部程序存储器或16 位地址外部数据存储器进行存取时,P2 口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2 口输出其特殊功能寄存器的内容。P2 口在FLASH 编程和校验时接收高八位地址信号和控制信号。P3 口:P3 口管脚是8 个带内部上拉电阻的双向I/O 口,可接收输出4 个TTL 门电流。当P3 口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3 口将输出电流(ILL)这是由于上拉的缘故。P3 口也可作为AT89C51 的一些特殊功能口,如下所示:口管脚备选功能P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2 /INT0(外部中断0)P3.3 /INT1(外部中断1)P3.4 T0(记时器0 外部输入)P3.5 T1(记时器1 外部输入)P3.6 /WR(外部数据存储器写选通)P3.7 /RD(外部数据存储器读选通)P3 口同时为闪烁编程和编程校验接收一些控制信号。RST:复位输入。当振荡器复位器件时,要保持RST 脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH 编程期间,此引脚用于输入编程脉冲。在平时,ALE 端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE 脉冲。如想禁止ALE的输出可在SFR8EH 地址上置0。此时,ALE 只有在执行MOVX,MOVC指令是ALE 才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE 禁止,置位无效。/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN 有效。但在访问外部数据存储器时,这两次有效的/PSEN 信号将不出现。/EA/VPP:当/EA 保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),无论是否具有内部程序存储器。注意加密方式1 时,/EA会把内部锁定成RESET;当/EA 端为高电平时,则在此期间内部程序存储器。当在FLASH 编程的时候,该引脚也常用于施加12V 编程电源(VPP)。XTAL1:反向振荡放大器的输入和内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出4。2.2.2 测距模块测量距离的关键在于距离信号的采集,因此选择一个合适的测距传感器是本次设计的重点所在。方案一 超声波传感器测距HC-SR04超声波传感器可用于非接触型测量,测量距离范围为2-450厘米,精度可达0.3厘米,盲区只有2厘米,受温度影响小。此超声波测距传感器模块性能稳定,能和国外的SRF05,SRF02等超声波测距模块相媲美。此模块使用方法简单,只要给控制口发一个10US以上的高电平,就可以在接收口等待高电平输出,一有输出就可以开定时器计时,当此口变为低电平时就可以读定时器的值,此值就为此次测距的时间,很容易算出距离。方案二 红外传感器测距红外传感器用于非接触型测量,测量距离较短,最远只能测1.5米,精度不高。另外受光线的影响比较大。价格略贵于超声波传感器模块。方案三 激光传感器测距激光测距传感器功能十分强大、并且耐用,是为工业测量市场量身设计的。它拥有很多卓越的性能,是目前为止最先进的检测系统,它拥有具有十分不错的测试精度和极高的稳定性。因为是通过发射激光束到目标物体,然后利用反射的光束来计算距离。激光传感器用于非接触型测量,测量距离范围0.5-300米,3000米(要使用反光板),精度误差20毫米,可连续使用寿命超过5万个小时5。比较以上三种方案,对照本设计的要求可知,由于汽车倒车过程中测量的距离不需要太远,又考虑到价格等因素,采用方案一,超声波测距传感器HC-SR04模块与单片机相连,减少了外部的硬件电路,具有成本低,易使用和软件设计容易实现等特点。以下是对HC-SR04模块的介绍。(1)产品特点:HC-SR04模块可用于2cm-400cm的非接触式测距,测距精度可以达到3mm。(2)基本工作原理:采用IO 口TRIG 触发测量距离,提供至少10us的高电平信呈;模块会自动发送8 个40khz 的方波,也会自动检测是否有信号返回;当有信号返回时,通过IO口的ECHO端输出一个高电平,高电平所持续的时间为发射到返回的时间。测试距离=(高电平时间*声速(340M/S)/2。(3)实物图HC-SR04的实物图如图2.3所示,VCC供5V电源, GND为地线,TRIG触发控制信号输入,ECHO回响信号输出等四个接口端6。图2.3 实物图(4)电气参数HC-SR04模块的工作电压,工作电流,工作频率,最远及最近射程等电气参数如表2.1所示。表2.1 电气参数电气参数HC-SR04超声波模块工作电压DC 5V工作电流15mA工作频率40kHz最远射程4m最近射程2cm测量角度15度输入触发信号10uS 的TTL 脉冲输入回响信号输出TTL 电平信号,与射程成比例规格尺寸45*20*15mm(5)超声波时序图时序图如图2.4所示,只需要提供给它持续10uS 以上的脉冲触发信号,此模块就会自动发出8个40kHz 周期的电平并检测回波。但检测到有回波信号则输出回响信号。回响信号的脉冲宽度与所测的距离成正比。由此通过发射信号到收到的回响信号时间间隔可以计算得到距离。公式:距离=高电平时间*声速(340M/S)/2;建议测量周期为60ms 以上,以防止发射信号对回响信号的影响。注明:此模块不宜带电连接,若要带电连接,则先让模块的 GND端先连接,否则会影响模块的正常工作。测距时,被测物体的面积不少于 0.5平方米且平面尽量要求平整,否则影响测量的结果7。图2.4 超声波时序图2.2.3 显示模块本设计的显示使用的是LCD12864。主要显示车与障碍物之间的距离以及设定的警戒距离。带中文字库的12864液晶是一种具有4位/8位并行、2线或3线串行多种接口方式,内部含有国标一级、二级简体中文字库的点阵图形液晶显示模块;其显示分辨率为12864, 内置8192个16*16点汉字,和128个16*8点ASCII字符集.利用该模块灵活的接口方式和简单、方便的操作指令。它还可以显示84行1616点阵的汉字,也可完成图形显示,低电压低功耗是其又一显著特点。由该模块构成的液晶显示方案与同类型的图形点阵液晶显示模块相比,不论硬件电路结构或显示程序都要简洁得多,且该模块的价格也略低于相同点阵的图形液晶模块8。LCD12864实物图如图2.5所示。图2.5 12864实物图2.2.4 语音播报模块本设计中需要语音距离播报以及语音报警的功能,用喇叭播报车与障碍物之间的距离,距离小于警戒距离时,进行语音报警。使用的语音芯片是市场推出的一款具有PWM输出的NY3P016AP8 OPT语音标准芯片。共有3个IO口,语音芯片引脚图如图2.6所示。图2.6 语音芯片引脚图工作时各IO口的作用:BUSY:芯片工作时(播放声音),输出低电平,停止工作或待机时,保持高电平;DATA:接受控制脉冲的脚位。收到几个脉冲,就播放第几个地址的内容;REST:任何时候,收到一个脉冲的时候,可以使芯片的播放指针归零(就是DATA脚恢复到初始状态),同时即刻使芯片停止,进入待机状态。2.2.5 按键设置模块本设计用户可以通过此模块设置所需的警戒距离。只需要两个按键用于设置警戒距离,一个用于警戒距离值的加数,另一个用于警戒距离值的减数。键盘按照其结构可以分为独立键盘和矩阵键盘,由于独立键盘编程简单,虽然浪费IO口,但是本设计所占用的IO口有剩余,而且只需两个按键,所以选择独立键盘。第3章 硬件系统设计3.1单片机最小系统单片机能够正常工作的最低配置,电路图如图3.1所示,构成包括一个AT89C51单片机,一个晶振电路(就是时钟电路),一个复位电路。复位电路采用RC充电电路组成按键复位单片机电路,当按下按键后,通过两个电阻分压,使RST端产生高电平。按键按下的时间决定了复位时间。同时按键复位也存在上电复位的功能,当系统上电时,在上电初期,电容C充电,使复位脚持续高电平,当C充电到达一定程度复位脚电位会慢慢变低,最后被电阻R完全拉低,高电平复位的时间由充电的时间决定,充电时间又由R与C的阻值和容值之积决定。AT89C51中有一个用于构成内部振荡器的高增益反相放大器,引脚XTAL1和XTAL2分别是该放大器的输入端和输出端。时钟可以由内部方式产生或外部方式产生。这个放大器与作为反馈元件的片外石英晶体或者陶瓷谐振器一起构成自激振荡器。片外石英晶体或者陶瓷谐振器及电容C1、C2接在放大器的反馈回路中构成并联振荡电路。晶体可以在1.2MHz到20MHz之间选择,电容一般在5pF到30pF之间选择,对外接电容C1、C2虽然没有十分严格的要求,但电容容量的大小会轻微影响振荡频率的高低、振荡器工作的稳定性、起振的难易程序及温度稳定性,这里我们采用电容33pF,晶振采用11.0592M。外部方式的时钟电路XTAL1接地,XTAL2接外部振荡器。对外部振荡信号无特殊要求,只要保证脉冲宽度,一般采用频率低于12MHz的方波信号。时钟发生器把振荡频率两分频,产生一个两相对时钟信号供单片机使用9。图3.1 单片机最小系统3.2 超声波测距电路本设计采用HC-SR04模块对车与障碍物之间的距离进行实时检测采集,并将采集到的信号传给单片机中进行处理。HC-SR04模块的TRIG(OUT)引脚与单片机P2.1引脚相连,ECHO(IN)引脚与单片机P2.0引脚相连。电路图如图3.2所示。图3.2 原理图3.3显示电路本设计使用的显示模块是LCD12864,显示的内容包括文字“汽车防撞报警系统”、当前距离以及警戒距离,距离的单位为米。LCD12864显示电路图如图3.3所示。图3.3 原理图3.4语音播报电路使用的语音芯片内置电阻,外围最低仅需要一个104电容就可以稳定的工作,产品方案成本极低。工作电压2.2-5.5V,适用范围很宽。喇叭为8-16范围内的任何喇叭。语音芯片采用了模拟串行的控制方式,如果需要播放第几个地址的内容就发送几个脉冲(大于0.2ms即可,建议采用1ms左右)的原理,可以快速的控制多达32段地址的任意组合。芯片中的语音内容如表3.1所示。表3.1 语音内容地址内容地址内容1.17当前2018距离3119危险4220滴53216422752386249725108261192712十2813百2914点3015米3116厘米32控制原理:首先发送一个复位脉冲到(Rest)脚,脉冲宽度为2ms,接着发送N个脉冲到DATA脚。芯片就开始工作了,播放的声音为地址N的内容。控制脉冲示意图如图3.4所示。图3.4 控制脉冲示意图芯片内部录制了本设计需要的录音,不同的内容存放在不同的地址上。单片机处理计算得出的距离值,通过调用语音芯片中与距离值相对应的内容,就可以实时播报汽车与障碍物之间的距离了。语音播报电路图如图3.5所示。图3.5 语音播报原理图3.5 按键电路独立键盘中的按键是彼此相互独立的,每个按键接一根I/O口线,一根I/O口线上的按键工作状态不会影响其他I/O口线的工作状态。所以可以通过检测I/O口线上的电平高低状态,来判断键盘上哪个按键被按下。警戒距离设置减键与单片机P3.3引脚相连接,警戒距离设置加键与单片机P3.2引脚相连接。键盘电路图如图3.6所示。图3.6 键盘电路图3.6 系统电路原理图系统电路原理图包括:超声波测距电路、按键设置电路、显示电路(LCD12864显示)、语音播报电路以及单片机最小系统,如图3.7所示。系统把HC-SR04超声波测距模块的测距信号给单片机处理计算,得出的距离由单片机发给液晶显示模块显示距离,同时给语音播报模块进行当前距离的播报,按键设置模块负责警戒距离的设置,单片机计算出的距离会和警戒距离作比对,当前距离小于警戒距离时,单片机会让语音播报模块进行语音报警。 图3.7 系统电路原理图第4章 系统软件设计4.1 系统软件设计思想系统的软件主要是采用C语言,对单片机进行编程实现各项设计所需的功能。主程序对模块进行初始化,而后调用启动信号、距离计算、显示、语音等模块。主程序的主要功能是读出并处理HC-SR04测量的当前距离值并负责调用各子程序对距离值进行语音播报以及液晶显示,并判断当前距离与警戒距离的大小,是否做出语音报警。具体实现功能如下:1.定时器初始化,调用启动信号,超声波传感器模块HC-SR04自动发送方波到接收到信号,即刻开启定时器,ECHO从高电平变为低电平时。定时器关闭。调 用距离计算的子程序算出距离。2.用软件实现对键盘的控制,读出对应的按键;3.对LCD12864进行初始化子程序、写指令及数据和设定显示位置等操作,显示所测得的距离,判断是否超出测量,如果是,就显示超范围。用C语言来实现控制;4.调用语音播报子程序,播报当前距离,判断是否小于警戒距离,如果是则进行语音报警,用C语言来实现控制。4.2 系统程序设计4.2.1 主程序设计系统程序主要流程为先将LCD12864、定时器、外部中断进行初始化,然后单片机给超声波模块TRIG12us 的高电平启动信号,当检测到ECHO为高电平时即检测到回波时开启定时器,判断定时器是否溢出,如果溢出就显示超范围,当检测到ECHO为低电平时,关闭定时器。调用计算距离程序算出距离,然后调用液晶显示程序显示当前距离,接着调用语音播报程序播报当前距离。如果距离小于警戒距离,发出危险警报,以此循环重复进行。系统程序框图如图4.1所示。图4.1 系统程序框图4.2.2 按键设置程序设计按键设置采用外部中断的方式,由于扫描方式对语音播报有影响,扫描中的延时会让语音播报的更新速度大大减小。外部中断0和外部中断1的请求触发方式均使用脉冲触发。当在一个机器周期中检测到P3.3引脚为高电平,下一个周期检测到低电平时,触发了外部中断1,引脚P3.3向CPU申请中断,警戒距离减一位。当在一个机器周期中检测到P3.2引脚为高电平,下一个周期检测到低电平时,触发了外部中断0,引脚P3.2向CPU申请中断,警戒距离加一位。按键设置的外部中断0/1程序框图分别如图4.2和图4.3所示。 图4.2 外部中断0程序框图 图4.3 外部中断1程序框图4.2.3 语音播报程序设计语音芯片根据单片机输出控制播放语音,语音段落都是提前录好的,程序中只要实现语音的播放就可以了。如图4.4 则为语音播报模块程序框图。图4.4 语音播报程序框图4.2.4 测距程序设计测距程序包括超声波发送程序、超声波回波探测程序、读取计数值程序以及数据处理程序。计数、读取计数值和数据处理是由单片机完成的。测距过程首先由单片机给超声波模块的TRIG至少10us的高电平,模块自动发送8个40khz 的方波,自动检测是否有信号返回,当有信号返回,ECHO 输出一个高电平,单片机开启定时器,当ECHO从高电平变为低电平时,关闭定时器。本设计使用的晶振频率为11.05926MHZ,则定时的时间为N*(1/11.05926)*12,测得的距离为N*(1/11.05926)*12/2*10-6*344/100。如果当定时器溢出,ECHO还没有变为低电平,定时器T0 溢出中断,表明此次测距不成功,返回主程序重新初始化各项参数,重新测量,如图4.5。图4.5 测距程序框图第5章 系统调试软件程序使用Keil4软件进行编程与编译,Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统。由于超声波模块,语音模块不能在Proteus上仿真,所以我就用开发板上搭好硬件直接进行调试。5.1 方法与过程系统软件编写的时候,我把系统要实现的功能分解为几个模块,逐步完成所需功能,最后将各部分功能进行整合,并最终完成整体设计功能。第一个调试的模块是LCD12864显示,主要的功能是完成“汽车防撞报警系统”,“当前距离”,“警戒距离”的显示。经调试,LCD12864可以正常显示本设计所需要的信息,如图5.1所示。图5.1 液晶显示调试第二个调试模块是按键设置模块,根据功能要求,本设计的警戒距离设置只需要两个按键,一个是设定警戒距离值加键,另一个是设定警戒距离值减键。可调范围为1米,警戒距离初始值为0.5米。如图5.2所示。图5.2 按键设置调试第三个调试模块是对HC-SR04超声波测距模块正确检测距离并显示在液晶当前距离的后面。刚开始要给TRIG口最少10us 的高电平信呈,如图5.3和图5.4所示,由图可得,给的高电平时间约12us。图5.3 调试图1图5.4 调试图2经调试,超声波可以正常测出距离并在液晶上显示,超声波当时距障碍物0.2米,用卷尺测出的距离和本系统测出的距离几乎相同。如图5.5所示。图5.5 超声波测距调试第四个调试模块是语音播报模块,主要功能是实时播报当前距离。初次使用语音芯片,以前没有接触过,对其工作原理没有完全了解,为了提高初次调试的成功率,我进行了最简单的测试方式。如图5.6所示,电路连接好后,任何时候按下按键K2,都会有声音播出,同时与BUSY引脚相连的LED就会亮起来。停止工作后,LED熄灭。连续按下K2就可以更换不同地址的声音内容,停止按下后,则会播放最后指向的这段声音;任何时刻按下K1键都可以让正在播放的声音立刻停止。图5.6 语音测试电路5.2 问题及解决方案问题一:在调试按键设置时,刚开始按键设置是采用扫描的方式,由于延时的原因导致语音播报的频率太低,好久才能播报一次距离,无法达到此设计的要求。解决方案:根据这个问题,我采用了外部中断的方式来进行按键设置,将设定警戒距离值加键与单片机P3.2引脚相连(外部中断0),而将设定警戒距离值减键与单片机P3.3引脚相连(外部中断1)。当在一个机器周期中检测到P3.2引脚为高电平,下一个周期检测到低电平时,触发了外部中断0,引脚P3.2向CPU申请中断,警戒距离加一位。警戒距离的减与加同理。问题二:按键设置过程中,语音播报会出乱,同时液晶显示中的“当前”会乱码,如图5.7所示。另外也很难准确的控制按键,在调整警戒距离时会产生一下跳变很多数字的现象。图5.7 显示出乱解决方案:根据这个问题,我采用语音在播报过程中,无法进行设置距离。该方案比较容易实现,因为语音芯片的BUSY引脚在芯片工作时(播放声音),输出低电平;停止工作或者待机时,保持高电平。所以只要在外部中断中,加个判断,判断BUSY脚是否为高电平,如果是高电平,才能设置。问题三:测量距离比较远的时候,当前距离会出乱,距离显示不稳定,判断应该是随机的。解决方案:根据这个问题,我觉得是模块的性能造成的,模块测距范围有限,所以我加了定时器溢出中断,只要超过模块测距范围,就会在当前距离之后显示超范围”,如图5.8所示。图5.8 距离超范围5.3 完整硬件电路完整硬件图包括开发板一块,超声波测距模块,语音播报模块,液晶显示模块,按键设置模块。完整硬件图如图5.9所示。图5.9 完整硬件图最后将完整程序编译好下载到单片机进行综合调试。接上电源,把探头放置在垂直于探测面。打开电源,当我们把探头拿到距被测物0.03米的时候时,液晶上显示当前距离0.03米,同时喇叭发出警报起“0.03米,危险”。刚开始程序设置警戒距离为0.5米。如图5.10所示。图5.10 距离0.03米时把探头慢慢地远离被测物,最远可测距离为4.72米,同时喇叭响起“4.72米,4.72米”。如图5.11所示。图5.11 测得的最远距离当把探头继续远离障碍物后,测距超过范围,液晶的当前距离显示“超范围”。如图5.12所示。图5.12 测距超范围第6章 测试结果及分析6.1 测试环境本次数据测试地点为浙江大学宁波理工学院石麟大楼7楼楼梯口。测试时间为2014年5月12日20:00。如图6.1所示。图6.1 现场测量1如图6.2所示,测量过程中,系统测量值为2.58米,液晶显示当前距离为2.58米,而用卷尺测得的距离为2.60米。图6.2 现场测量26.2 测试结果本系统的重点是距离的检测,所以对距离的分析比较重要。由于倒车距离在1米内最重要,所以我在0-1米内间隔5cm进行测量,1-4米之间间隔10cm进行测量。每个值测量5次,求取平均值。测量距离时,用面积比较大的墙面作为探测面,测出的距离与卷尺测出的距离值相比较,可得到误差值。如表6.1所示,为5cm和10cm的测量数据。表6.1 5cm和10cm测量数据实际距离cm555551010101010测量距离cm555551010101010误差cm0000000000如表6.2所示,为15cm和20cm的测量数据。表6.2 15cm和20cm测量数据实际距离cm15151515152020202020测量距离cm14151515162020202020误差cm1000-100000如表6.3所示,为25cm和30cm的测量数据。表6.3 25cm和30cm测量数据实际距离cm25252525253030303030测量距离cm25242524272930303031误差cm0101-21000-1如表6.4所示,为3cm和40m的测量数据。表6.4 35cm和40cm测量数据实际距离cm35353535354040404040测量距离cm35353535354039414040误差cm0000001-100如表6.5所示,为45cm和50cm的测量数据。表6.5 45cm和50cm测量数据实际距离cm45454545455050505050测量距离cm45454346464850494949误差cm002-1-120111如表6.6所示,为55cm和60cm的测量数据。表6.6 55cm和60cm测量数据实际距离cm55555555556060606060测量距离cm54555453545959585960误差cm1012111210如表6.7所示,为65cm和70cm的测量数据。表6.7 65cm和70cm测量数据实际距离cm65656565657070707070测量距离cm63636463626867686968误差cm2212323212如表6.8所示,为75cm和80cm的测量数据。表6.8 75cm和80cm测量数据实际距离cm75757575758080808080测量距离cm74747474747878777879误差cm1111122321如表6.9所示,为85cm和90cm的测量数据。表6.9 85cm和90cm测量数据实际距离cm85858585859090909090测量距离cm83838483828988888887误差cm2212312223如表6.10所示,为95cm和100cm的测量数据。表6.10 95cm和100cm测量数据实际距离cm9595959595100100100100100测量距离cm95949493949899989897误差cm0112121223如表6.11所示,为110cm和120cm的测量数据。表6.11 110cm和120cm测量数据实际距离cm110110110110110120120120120120测量距离cm110109109110107118118118118118误差cm0110322222如表6.12所示,为130cm和140cm的测量数据。表6.12 130cm和140cm测量数据实际距离cm130130130130130140140140140140测量距离cm129128128127128138138138138138误差cm1223222222如表6.13所示,为150cm和160cm的测量数据。表6.13 150cm和160cm测量数据实际距离cm150150150150150160160160160160测量距离cm147147147148136157157157157157误差cm3332433333如表6.14所示,为170cm和180cm的测量数据。表6.14 170cm和180cm测量数据实际距离cm170170170170170180180180180180测量距离cm170169168169169178177178179178误差cm0121123212如表6.15所示,为190cm和200cm的测量数据。表6.15 190cm和200cm测量数据实际距离cm190190190190190200200200200200测量距离cm187187187187199199199199199199误差cm3333311111如表6.16所示,为210cm和220cm的测量数据。表6.16 210cm和220cm测量数据实际距离cm210210210210210220220220220220测量距离cm108207207207206217217217217217误差cm0110333
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 教师招聘之《小学教师招聘》通关测试卷及参考答案详解(满分必刷)
- 基于2025年的体检中心服务质量提升与特色增值服务创新报告
- 2025年二级建造师建筑工程管理与实务备考试题及答案
- 二级建造师考试《水利水电工程管理与实务》2025年真题及答案
- 2025内蒙古呼伦贝尔农垦谢尔塔拉农牧场有限公司调整部分岗位报考专业要求笔试及答案详解参考
- 2025纪检监察业务知识考试题及参考答案
- 教师招聘之《幼儿教师招聘》强化训练模考卷附参考答案详解【达标题】
- 2025年教师招聘之《幼儿教师招聘》题库及答案详解(各地真题)
- 教师招聘之《小学教师招聘》试题(得分题)【达标题】附答案详解
- 2025年教师招聘之《幼儿教师招聘》通关练习试题含答案详解(b卷)
- 人教版初中英语七八九全部单词(打印版)
- 某自来水厂运营管理项目服务方案(技术方案)
- DBJ50-T-164-2021 民用建筑电线电缆防火设计标准
- 2025年浙江省建设工程检测技术人员(建筑材料及构配件)考试题库(含答案)
- 测试婴儿肌张力的六个动作
- NB/T 11536-2024煤矿带压开采底板井下注浆加固改造技术规范
- 变电站消防设施技术规范书
- 新能源电力市场交易与运营考核试卷
- 2015-2024年十年高考数学真题分类汇编专题21 立体几何大题综合
- 《车船税法》课件
- 2023-2024学年广东省广州市海珠区九年级(上)期末语文试卷
评论
0/150
提交评论