汽车超声波测距防撞报警系统设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
TECHNOLOGY WIND
[摘要]随着社会的进步和科技的发展,人们对汽车安全性、舒适性、排放性要求的日益严格。汽车超声波测距防撞报警系统能够实现在汽
屛车行驶过程中实时测量与前方物体的距离,并通过液晶进行显示,当距离小于设定的安全距离时,蜂鸣器发出报警声音,提醒驾驶员注意行驶安全,系统可以通过按键设置报警距离。本设计的电路设计合理简单、工作稳定、性能良好、检测速度快、计算简单、易于做到实时控制,并且在测量误差方面能够达到简单工业实用的要求。此测距系统具有可靠性好、体积小、价格低廉等特点,能够大大提高行车的安全性能,为驾驶员提供了相当的方便。
[关键词]AT89S51;HC-SR04测距模块;液晶显示电路
汽车超声波测距防撞报警系统设计
郝玉芳
王权兵
华艳秋
(上海工程技术大学高职学院,上海市
200437)
随着社会的进步和科技的发展,汽车作为最具现代化的代步工具,已经被越来越多的普通百姓所拥有。据调查,就上海市来说,每户家庭汽车的拥有率为12%,并有逐年上升的趋势。汽车的功能也从最开始的单纯驾驶,发展到现在对汽车安全性、舒适性、排放性要求的日益严格。汽车超声波测距防撞报警系统能够实现在汽车行驶过程中实时测量与前方物体的距离,并通过液晶屏进行显示,当距离小于设定的安全距离时,蜂鸣器发出报警声音,提醒驾驶员注意行驶安全,系统可以通过按键设置报警距离,供电采用9V 干电池供电方式。
1硬件电路设计
本系统硬件电路部分由AT89S51单片机控制器的电源电路、按键电路、超声波发射电路、超声波接收电路、HC-SR04测距模块、液晶显示电路组成。
51系列单片机的最大优点就是高度灵活和低成本。充分利用其片内资源,即可在较少外围电路的情况下构成功能完善的超声波测距系统。本系统采用的是AT89S51单片机,下面简单的来介绍一下该单片机各引脚功能:
VCC :电源端。工作电源和编程校验+5V ;VSS :接地端。XTAL1与XTAL2分别作用系统时钟的反相放大器输入端和输出端。ALEALE/PROG :ALE 为地址锁存器允许信号。RESET :AT89S51的重置引脚。EA/Vpp :访问外部程序的控制信号。
PSEN :外部程序存储器ROM 的读选通信号。P0口(P0.0~P0.7):是一个8位漏极开路型双向I/O 口。P1口(P1.0~P1.7):是一个内部带提升电阻的准双向I/O 端口。P2口(P2.0~P2.7):是一个内部带提升电阻的8位准双向I/O 端口。P3口(P3.0~P3.7):是一个内部带提升电阻的8位准双向I/O 端口。
这里介绍一下P3口8个引脚各自的第二功能:P3.0:RX ,串行口输入。P3.1:TXD ,串行口输出。P3.2:INT0,外部中断0输入。P3.3:INT1,外部中断1输入。P3.4:T0,定时器/计数器的外部输入。P3.5:T1,定时器/计数器的外部输入。P3.6:WR :片外数据存储器写选通控制输出。P3.7:RD ,片外数据存储器读选通控制输出。
各端口的负载能力:P0口的每一位能驱动8个LSTTL 门输入端,P1-P3口的每一位能驱动3个LSTTL 门输入端。
集成电路是一款专门用于接受红外线信号的芯片,比较常见的就是用于电视机遥控器的红外线接收器。红外遥控常用的载波频率为38~40kHz ,而本实验中使用的测距的超声波频率40~42kHz ,两者较为接近,所以可以选取它来制作超声波检测接收电路。通过实验证明用接收超声波(无信号时输出高电平),具有很好的灵敏度和较强的抗干扰能力。另外,如果适当的增大或减小电容C4,便可以达到改变接收电路的灵敏度和抗干扰效果。
2软件设计
本系统内部软件重要的参数为安全距离,这也是设计汽车防撞报警系统的意义所在,提醒用户保持一个安全距离。
本系统采用C 语言编写程序,在软件Keil_C51上编译仿真,超声波测距仪的软件设计主要由主程序、超声波发生子程序、超声波接收中断程序及显示子程序组成。
主程序的流程为:完成单片机初始化工作、定子中断子程序、各路超声波发射是否有回波,有回波则继续外部中断子程序。
定时中断服务子程序完成定时器初始化,三方向超声波的轮流发射,最后停止发射并返回。
外部中断服务子程序主要完成关外部中断,读取时间值、计算距离、输出结果,然后开外部中断最终返回的工作。
主程序首先是对系统环境进行初始化,设置定时器T0工作模式为16位定时计数器模式。置位总中断允许位EA 并给显示端口0的位0和位1清0。然后用超声波发生子程序发出的一个超声波脉冲,为了防止超声波从发射器直接传送到接收器引起的直射波触发,需要延时后才打开外中断1接收返回的超声波信号。由于已知具时钟振荡器的频率和计数器每计一个数值,当主程序检测到接收成功的标志位后,将计数器T0中的数(即超声波来回所用的时间)按公式d=(c ×t )/2计算,即可得被测物体与测距仪之间的距离。
超声波发生子程序的作用是通过P1.0端口发送约为2个频率40kHz 左右的方波超声波脉冲信号,脉冲宽度约为12μs ,同时把计数器T0打开进行计时。由于超声波发生子程序较为容易,且要求程序运行准确,所以采用C 语言进行编程。
超声波测距仪主程序的超声波信号利用外中断1检测返回,接收到返回超声波信号后,立即进入中断程序。进入中断后就迅速关闭计时器T0停止计时,并将测距成功标志字赋值x 。如果当计时器溢出时还未检测到超声波返回信号,则定时器T0溢出中断将外中断1关闭,并将测距成功标志字赋值y 以表示此次测距不成功。
3结束语
汽车防撞报警系统以AT89S51单片机为控制器,该芯片为一般控制应用的8位单芯片,晶片内部具时钟振荡器,要比传统的工作频率高,外部程序和存数据储器可扩充至64KB ,拥有2条双向输入输出线,且每条均可以单独做I/O 的控制,8751及8752单芯片具有数据保密的功能且单芯片提供位逻辑运算指令,功能上来讲要好过于AT89C51。超声波测距的原理是利用超声波的发射和接受,根据超声波传播的时间来计算出传播距离。实用的测距方法采用反射波方式,发射波被物体反射回来后接收的反射波方式,适用于测距仪。
在元件和调试方面,由于采用的电路使用了很多集成电路。外围元件调试应该不会太难,元件的数量不是很多。只要电路焊接无误,稍加调试应该会正常工作。电路中除集成电路外,对各电子元件也无特别要求。根据测量范围要求不同,可适当调整与接收换能器并接的滤波电容C0的大小,以获得合适的接收灵敏度和抗干扰能力。若能将超声波接收电路用金属壳屏蔽起来,则可提高抗干扰能力。
[参考文献]
[1]谭浩强.C 程序设计[M].北京:清华大学出版社,1999.
[2]周兴华.手把手教你学单片机[M].北京:北京航空航天大学出版社,2005.
科技前沿
33