基于AT89C52超声波测距倒车防撞报警系统
我国汽车的拥有量在大幅增加,造成道路拥堵,交通事故频发,给人们的生命和财产安全带来了巨大的损失。安全驾驶成为大家关注的焦点,其中汽车防撞系统(Collision Avoidance System,CAS)的设计和需求显得非常重要和迫切。针对这种情况,设计一种响应快、可靠性高且较为经济的汽车防撞报警系统势在必行。
超声波作为一种频率超过20 kHz的机械波,其指向性强,能量消耗缓慢,在介质中传播距离远,因此超声波测距法是最常见的一种距离测量方法。利用超声波检测距离,设计比较方便,计算处理也较简单,而且精度也较高。本设计采用AT89C52单片机作为主控器,结合超声波测距原理,设计了汽车倒车防撞报警系统。该系统采用软、硬件结合的方法,具有模块化和多用化的特点。
1 超声波的测距原理
本系统选用的是压电式超声波传感器。超声波测距原理有两种方式:共振式和脉冲反射式。因为共振式的应用要求复杂,在此使用脉冲反射式。超声波测距原理如图1所示。
图1中被测距离为H,两探头中心距离的一半用M表示,超声波单程所走过的距离用L表示,由图中关系可得:
式中:v为超声波的传播速度;t为传播时间,即为超声波从发射到接收的时间。
将式(4)代人式(3)可得:
由此可见,要想测得距离H,只要测得超声波的传播时间t即可。
2 系统的实现
根据设计要求并综合各个方面因素,可以采用AT89C52单片机作为主控制器,用动态扫描实现LCD数字显示,超声波驱动信号用单片机的定时器完成,其具体的系统框图如图2所示。
该系统主要由单片机系统及显示电路、超声波发射电路和超声波检测接收电路等部分组成。采用AT89C52来实现对CX20106A红外接收芯片和TCT40-10系列超声波转换模块的控制。其中超声波接收电路使用集成电路CX20106A,可用来完成信号的放大、限幅、带通滤波、峰值检波和波形整形等功能。显示器件采用的是LCD12864显示器,并选用D18B20温度传感器进行温度检测,实行温度补偿。主控器AT89C52单片机是一种低功耗、高性能CMOS 8位微控制器,具有8 KB的系统可编程FLASH存储器。与AT80C51引脚和指令完全兼容。拥有1个8位CPU,1个片内振荡器及时钟电路,3个16位定时/计数器,21个特殊功能寄存器,4个8位并行I/O口,共32条可编程I/O端线,1个可编程全双工串行口,8个中断源。
本设计的实物如图3所示。
3 系统的软件设计
系统软件部分包括主程序、中断子程序和其他子程序。主程序流程图如图4所示,其中中断子程序的核心代码如下:
4 结语
此倒车防撞报警系统,可以应用于汽车倒车等场合,提醒驾驶员在倒车时能有效地避开可能对倒车造成危害的障碍物和行人。本系统针对普遍存在的抗干扰性问题加强了软硬件处理措施。硬件方面例如把超声波接收电路用金属壳屏蔽起来,提高了系统的抗干扰能力;软件方面系统结合使用DS18B20温度传感器实现温度补偿矫正,使系统可以正常工作在任何温度下,误差都不会超过指定范围。并用带字库功能的LCD12864液晶实时显示距离,当满足距离条件时,蜂鸣器蜂鸣工作提示驾驶员,具有较强的实用性,且硬件结构简单,体积小,使用方便。但该系统的测量距离有限,只有在10~300 cm距离内有效,需要进一步的改进和提高。