超声波倒车雷达

发布时间 : 星期一 文章超声波倒车雷达更新完毕开始阅读

基于单片机的超声波倒车雷达系统设计-

AT89C51123456789RXD 1011121314151617181920P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7RSTP3.0P3.1P3.2P3.3P3.4P3.5P3.6P3.7XTALRESETGNDP0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7VCCVPPPROGPSENP2.0P2.1P2.2P2.3P2.4P2.5P2.6P2.7403938373635343332313029282726252423222174IS2445K123456789101G1A11A21A31A42A12A22A32A4GNDVCC2G2Y42Y32Y22Y11Y41Y31Y21Y1VCC201918171615141312111K12345678DS1DPYaabcfbgdeecdfdpgdp12345678DS2DPYaabcfbgdeecdfdpgdp12345678DS3DPYaabcfbgdeecdfdpgdp2KPNPPNPPNPVCC

图3-6单片机及显示系统电路图

3.2.6 温度测量电路

由于超声波的传播速度V受到空气中的温度、湿度、压强等因素的影响,其中温度的影响最为突出,温度每升高1℃,速度增加约0.6m/s。因此在测量精度要求很高的场合,应通过温度补偿对超声波的传播速度进行校正,以提高测量精度,减小误差。

目前,大多数温度测控系统在检测温度时,都采用温度传感器将温度转化为电量,经信号放大电路放大到适当的范围,再由A/D转换器转换成数字量来完成。这种电路结构复杂,调试繁杂,精度易受元器件参数的影响。为此,利用一线性数字温度计即集成温度传感器DS18B20和单片机,构成一个高精度的数字温度检测系统。DS18B20数字式温度传感器与传统的热敏电阻温度传感器不同,能够直接读出被测温度值,并且可根据实际要求,通过简单的编程,实现9~12位的A/D转换。因而,使用DS18B20可使系统结构更简单,同时可靠性更高。温度测量范围从-55~+125℃,在-10~+85℃检测误差不超过0.5℃,而在整个温度测量范围内具有±2℃的测量精度。本设计温度测量选用DALLAS公司的DS18B20数字式温度传感器,独特的一线接口,只需要一条口线通信多点能力,简化了分布式温度传感应用,无需外部元件,可用数据总线供电电源范围为3.0V至5.5V无

第 5 页 共 30 页

基于单片机的超声波倒车雷达系统设计-

需备用电源。它通过输出9位(二进制)数字来直接表示所测量的温度值,温度值是通过DS18B20的数据总线直接输入CPU,无需A/D转换,而且读写指令,温度转换指令都是通过数据总线传入DS18B20。DS18B20数字温度传感器除了具有相当的测量范围和精度外,还具有温度测量精度和不受外界干扰等的优点。其电路连接如图3-7温度测量电路所示。

RXD1KVCC1223

图3-7温度测量电路

温度测量第 6 页 共 30 页

基于单片机的超声波倒车雷达系统设计-

4软件设计

超声波倒车雷达系统的软件设计主要由主程序、超声波发射子程序、INT0超声波接收中断程序、显示子程序、报警程序及报警刷新程序六个主要模块组成。软件设计的总体结构框图

如图4-1

系统各系统初始化程序 数码管显示模块 功 发射接收控制模块 能 模 运算结果处理模块 块 声 光 报 警 模 块

图4-1 系统模块框图

(1) 系统初始化模块:即系统刚上电的时候对系统的各个引脚的电平分配和对各寄存器的初值赋值。

(2) 数码管显示模块:通过该模块的设计能够让所测得的距离显示在数码管上。 (3) 发射接收控制模块:发射控制模块是软件控制超声波发射电路发射超声脉冲启动定时器工作,同时启动接收电路工作,当接收电路有信号输入时,对输入信号进行处理。

(4) 运算结果处理模块:运算结果处理模块将多次所测得时间进行处理,进行软件取大值工作,根据公式计算出距离,然后再对计算得出的结果进行修正处理,数据处理后送至数码显示模块。

(5) 声光报警模块:当所测距离小于一定值时,通过声光报警来提醒驾驶员。 我们知道C语言程序有利于实现较复杂的算法,汇编语言程序则具有较高的效率且容易精细计算程序运行的时间,而超声波测距仪的程序既有较复杂的计算(计算距离时),又要求精细计算程序运行时间(超声波测距时),所以控制程序可采用C语言和汇编语言混合编程。

主程序除了完成定时器T0、中断源TNT0初始化外,主要实现超声波的巡回

第 7 页 共 30 页

基于单片机的超声波倒车雷达系统设计-

发射(调用超声波发射程序)和距离的动态扫描显示;INT0中断服务程序计算车尾距离障碍物的距离数据,该数据一方面交由主程序显示,另一方面与设定值(比如1m)进行比较,如小于1.5m,接蜂鸣器报警,否则关闭报警;如果车尾距离障碍物的距离较远,超声波往返时间就会超过了定时器T一次性最长的定时时间,则T0发生溢出而中断,这时进行距离计算,并显示“OFF”,以示车后无障碍物,可放心倒车。

4.1 软件设计的要求

本系统的设计要求是利用超声波测距原理设计一个车用的倒车雷达。要求通过设计能够测出并显示车与障碍物的距离,并能在距离小于1m的时候根据设定值进行声光报警。

4.2 超声波测距的算法设计

超声波测距的原理:通过超声波发射装置发出超声波,根据接收器接到超声波时的时间差就可以知道距离了。这与雷达测距原理相似。 超声波发射器向某一方向发射超声波,在发射时刻的同时开始计时,超声波在空气中传播,途中碰到障碍物就立即返回来,超声波接收器收到反射波就立即停止计时。(超声波在空气中的传播速度为340m/s,根据计时器记录的时间t,就可以计算出发射点距障碍物的距离(s),即:s=340t/2)

在启动发射电路的同时启动单片机内部的定时器T0,利用定时器的计数功能记录超声波发射的时间和收到反射波的时间。当收到超声波反射波时,接收电路输出端产生一个负跳变,在INT0或INT1端产生一个中断请求信号,单片机响应外部中断请求,执行外部中断服务子程序,读取时间差,计算距离。在使用时,如果温度变化不大,则可以认为声速是基本不变的。如果测距精度要求很高,则应通过温度补偿的方法加以校正。其部分源程序如下:

RECEIVE0:PUSH PSW

PUSH ACC

CLR EX0 //关外部中断0 MOV R7, TH0 //读取时间值 MOV R6, TL0 CLR C MOV A, R6

SUBB A, #0BBH //计算时间差 MOV 31H, A //存储结果 MOV A, R7

第 8 页 共 30 页

联系合同范文客服:xxxxx#qq.com(#替换为@)