基于单片机的汽车防撞报警器的设计 下载本文

基于单片机的汽车防撞报警器设计

摘 要:

本文是基于AT89C51单片机的汽车防撞报警器的设计,主要是利用超声波的特点和优势,将超声波测距系统和AT89C51单片机结合于一体。该系统采用软、硬件结合的方法,具有模块化和多用化的特点。

关键字:

单片机 防撞报警 超声波

一、系统总体方案设计

二、超声波测距原理

超声测距从原理上可分为共振式、脉冲反射式两种。由于应用要求限定,在这里使用脉冲反射式,即利用超声的反射特性。超声波测距原理是通过超声波发射传感器向某一方向发射超声波,在发射时刻的同时开始计时,超声波在空气中传播,途中碰到障碍物就立即返回来,超声波接收器收到反射波就停止计时。常温下超声波在空气中的传播速度为 c=340m/s,根据计时器记录的时间 t,就可以计算出发射点距障碍物的距离(s),即:

s=c*t/2=c*t0 (2-1)

其中,t0就是所谓的渡越时间。

1

三、系统各组成单元设计

该超声波测距系统由超声波发射与接收电路、单片机硬件接口电路、显示报警电路组成,下面主要通过各个模块的各种方案比较,确定设计的最终方案。该系统的核心部分采用性能较好的AT89C51单片机。

3.1发射与接收电路的设计方案

超声波发射接收电路如图3.1所示。该电路简单实用,通过两极放大,增强接收信号,比较适合本设计需要。

测距系统中的超声波传感器采用压电陶瓷传感器,他的工作电压是40kHZ的脉冲信号,前方测距电路的输入端接单片机P1.0端口,单片机执行程序后,在P1.0端口输出一个40kHZ的脉冲信号,经过三极管T放大,驱动超声波发射头UCM40T,发出40kHZ的脉冲超声波,且持续发射200μs。右侧和左侧测距电路的输入端分别接P1.1和P1.2端口,原理和前方测距相同。

图3.1超声波测距系统发射接收电路

由AT89C51单片机编程,执行程序后P1.0 口产生40KHZ的脉冲信号,经三极管放大后来驱动超声波发射探头UCM40T,产生超声波。接收头采用和发射头配对的UCM40R,将超声波调制脉冲变为交变电压信号,经运算放大器两级放大后加至IC2。IC2是带有锁定环的音频译码集成块LM567,内部的压控振荡器的中心频率f0=1/1.1R8C3,电容C4 决定其锁定带宽。调解R8在发射的载频上,则LM567输入信号大于25mv,输出端8脚由高电平越变为低电平,作为中断请求信号,送至单片机处理。

在启动发射电路的同时启动单片机内部的定时器T0,利用定时器的计数功能记录超声波发射的时间和收到反射波的时间。当收到超声波反射波时,接收电路输出端产生一个负跳变,在INTO或INT1端产生一个中断请求信号,单片机响应外部中断请求,执行外部中断服务子程序,读取时间差,计算距离。

发射电路电路图如图3.2所示:

2

图3.2系统发射电路

此电路由一个9V的电源,R1=3.6K欧,R2=360欧,三极管T一个,激励换能器T40-16一个。

其流程图如图3.3所示:

图3.3流程图

发射电路原理:当单片机AT89C51,通过P1.0这个I/O口,发送一系列的脉冲,经过三极管T进行放大,从而使T40-16这个激励换能器发射出超声波。

接收电路如3.4所示:

图3.4接收电路图

3

其原理框图如下:

图3.5 原理框图

此系统为了全方位测距,故有左、右、中三个测距电路,其电路都相同。

3.2 显示报警单元方案设计

显示报警单元是经过超声波发射接收电路及单片机AT89C51处理后把信号转化为人为可以知觉的数字显示和报警响应,以进一步避免事故发生。显示报警电路由显示和报警两部分电路组成,主要实现在出现紧急情况下的显示报警功能,以此提醒驾驶员。

3.2.1系统显示电路设计

显示器是一个典型的输出设备,而且其应用是极为广泛的,几乎所有的电子产品都要使用显示器,其差别仅在于显示器的结构类型不同而已。最简单的显示器可以使LED 发光二极管,给出一个简单的开关量信息,而复杂的较完整的显示器应该是 CRT监视器或者屏幕较大的 LCD 液晶屏。综合课题的实际要求以及考虑单片机的接口资源,采用串行方式显示的 LED 驱动输出设备。由于全程显示的距离范围在 4 米之内,用 3 个 LED 数码管表示距离的 cm数值。

在单片机应用系统中,发光二极管LED显示器常用两种驱动方式:静态显示驱动和动态显示驱动。所谓静态显示驱动,就是给要点亮的LED通以恒定的电流,即每一位LED显示器各引脚都要占用单独的具有锁存功能的I/O接口。单片机只需要把要显示的字形段码发送到接口电路并保持不变即可,如果要显示新的数据,再发送新的字形段码。因此,使用这种方法单片机中CPU开销小,但这种驱动方法需要寄存器、译码器等硬件设备。当需要显示的位数增加时,所需的器件和连线也相应增加,成本也增加。而所谓动态显示驱动就是给欲点亮的LED通以脉冲电流,即采用分时的方法,轮流控制各个显示器的COM端,使各个显示器轮流点亮,这时LED的亮度就是通断的平均亮度。考虑各种因素,本设计选用动态驱动显示。本设计选用8155芯片作为单片机应用系统扩展的I/O口。8155的PA口作为LED的字形输出口,为提高显示亮度,采用8路反相驱动器74LS244驱动;PC口作为LED的位选控制口,采用共阳极的LED显示器,由于8段全亮时位控线的驱动电流较大,采用6路反相驱动器74LS06以提高驱动能力。

4