基于单片机的倒车雷达的系统设计(5)

2019-03-16 13:09

东北大学秦皇岛分校毕业设计(论文) 第 17 页 的信号控制四个三极管的B极,利用三极管的开关特性,实现数码管的点亮,从而实现动态显示。采用LED动态显示,数据经过单片机芯片的计算后传到LED上,显示精度是分米。

单片机AT89S52采用12mHz高精度的晶振,以获得较稳定的时钟频率,减少测量误差。单片机用P1.0端口输出超声波换能器所需的40kHz方波信号,利用外中断INT0口检测超声波接收电路输出的返回信号。显示电路采用简单实用的4位共阳LED数码管,用于显示车尾障碍物的距离,由单片机P0.0—P0.7接LED的八个段码,P2.0~P2.3接四位8550的公共端,通过软件以动态扫描方式显示。段码用上拉电阻驱动,位码用PNP三极管8550驱动。

C11930pFU1XTAL1X1CRYSTAL18XTAL2C2930pFRSTP0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7P2.0/A8P2.1/A9P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P2.7/A15P3.0/RXDP3.1/TXDP3.2/INT0P3.3/INT1P3.4/T0P3.5/T1P3.6/WRP3.7/RD39383736353433322122232425262728R4393837363534333210kR110kR510k293031PSENALEEAR2100P1.01P1.12345678P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7AT89S52C322u101112INT01314151617R610kR710k 图3.6 单片机及显示系统电路图

东北大学秦皇岛分校毕业设计(论文) 第 18 页 4 系统软件设计

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

系统各功能模块 单片机系统初始化程序

图4.1 系统模块框图

超声波发射接收控制模块 数据 处理 模块 显示和声音 报警 模块 1、系统初始化模块:即系统刚上电的时候对系统的各个引脚的电平分配和对各寄存器的初值赋值。

2、发射接收控制模块:发射控制模块是软件控制超声波发射电路发射超声脉冲启动定时器工作,同时启动接收电路工作,当接收电路有信号输入时,对输入信号进行处理。

3、运算结果处理模块:运算结果处理模块将测得时间进行处理,根据公式计算出距离,然后再将计算得出的数据送至数码显示模块。

4、显示和声音报警模块:通过该模块的设计能够让所测得的距离显示在数码管上。当所测距离小于一定值时,通过声音报警来挺行驾驶员。 4.1 软件设计的要求

系统设计思路为:当汽车开始倒车时,系统开始初始化,首先对定时器、中断系统及其他参数进行设置,然后发出40kHz的PWM信号,等待接收中断的到来,当主程序检测到接收成功的标志位后,将计数器T0中的数按距离计算公式,即可得被测物体与测距离之间的距离,测出距离后结果将以十进制BCD码方式送往LED显示,通过蜂鸣器发出提示声音,然后再发超声波脉冲重复测量过程。软件采用模块化设计,程序由主

东北大学秦皇岛分校毕业设计(论文) 第 19 页 程序、超声波发射子程序、超声波接收及中断子程序、LED显示子程序及报警提示子程序组成。

主程序除了完成定时器T0、中断源TNT0初始化外,主要实现超声波的巡回发射(调用超声波发射程序)和距离的动态扫描显示;INT0中断服务程序计算车尾距离障碍物的距离数据,该数据一方面交由主程序显示,另一方面与设定值(1m)进行比较,如小于1m,接蜂鸣器报警,否则关闭报警。 4.2 超声波测距的算法设计

超声波测距的原理:即为超声波发生器T在某一时刻发出一个超声波信号,当这个超声波遇到被测物体后反射回来,就被超声波接收器R所接收到。这样只要计算出从发出超声波信号到接收到返回信号所用的时间,就可算出超声波发生器与反射物体的距离。距离的计算公式为:

d?s2?c?t2 (4.1)

其中,d为被测物与测距仪的距离,s为声波的来回的路程,c为声速,t为声波来回所用的时间。超声波的指向性强,能量消耗缓慢,遇到障碍物后反射效率高,是测距的良好载体。测距时有安装在同一位置的超声波发射器和接收器完成超声波的发射与接收,由定时器计时。首先由发射器向特定方向发射超声波并同时启动定时器计时,超声波咋介质传播途中一旦遇到障碍物后就被反射回来,当接收器收到发射波立即停止计时。这样,定时器就记录下了超声波自发射点至障碍物之间往返传播经历的时间t。由于常温下超声波在空气中的传播数的约为340m/s,所以由公式(4.1)知发射点距离障碍物之间的距离为:

S=340t/2=170t

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

东北大学秦皇岛分校毕业设计(论文) 第 20 页 4.3 系统程序设计

主程序是单片机程序的主体,整个单片机端系统软件的功能的实现都是在其中完成的,在此过程中主程序调用了子程序及中断服务程序。程序首先完成初始化过程,然后是一个重复的控制发射信号的过程,即调用发射子程序几遍,而且每次发射周期结束都判断在发射信号后延时等待的过程中是否发生了中断,即是否有回波产生来判断程序的流程。

工作时,微处理器AT89S52先把P1.0置0,启动超声波传感器发射超声波,同时启动内部定时器T0开始计时。要检测返回信号必须在启动发射信号后1.4毫秒才可以检测,这样就可以抑制输出的干扰。当超声波信号碰到障碍物时信号立刻返回,微处理器不停的扫描INT0引脚,如果INT0接收的信号由高电平变为低电平,此时表明信号已经返回,微处理器进入中断关闭定时器。再把定时器中的数据经过换算就可以得出超声波传感器与障碍物之间的距离。然后再根据现场情况进行声音报警。

系统初始化 发射超声波 无等待 检测回波信号 有接收信号处理 显示测量距离

图4.2 系统流程框图

4.3.1 超声波发送子程序

超声波发生子程序的作用是通过P1.0端口发送2个左右超声波脉冲信号(频率约

东北大学秦皇岛分校毕业设计(论文) 第 21 页 40kHz的方波),脉冲宽度为12μs左右,同时把计数器T0打开进行计时。主程序利用为中断INT0检测返回超声波信号,一旦接收到返回超声波信号(INT0引脚出现低电平),立即进入中断程序。进入中断程序后就立即关闭计时器T0停止计时。

超声波发生子程序虽简单,但要求程序运行准确,需要采用汇编语言编程。 测距系统中的超声波传感器采用TCF40—18TR1的压电陶瓷传感器,它的工作电压是40kHz的脉冲信号,这由单片机执行下面程序来产生。

fs:mov 45h,#12h ;P1.0发出40kHz方波 here:cpl p1.0 nop nop nop

djnz 45h,here ret

测距电路的输入端接单片机P1.0端口,单片机执行上面的程序后,在P1.0端口输出一个40kHz的脉冲信号,经过三极管T放大,驱动超声波发射头发出40kHz的脉冲超声波,且持续发射200ms。主程序利用外中断0检测返回超声波信号,一旦接收到返回超声波信号(即INT0引脚出现低电平),立即进入中断程序。进入中断后就立即关闭计时器T0停止计时。

4.3.2 超声波接收及中断子程序

超声波接收子程序的作用是接收发射探头发出的超声波遇到障碍物返回的回波,并在接收到回波的时刻置位单片机的INT0口为低电平,产生外部中断,进入中断程序。

INT0口接收到外部中断后,计时器T0被关闭,同时T0停止计时。单片机内部A寄存器和B寄存器开始按照程序处理计时器T0中的时间数据。

zw:setb f0 ;(INT0中断标志位) reti

w:jnb f0,$ ;中断 clr tr0 lcall _COUNT


基于单片机的倒车雷达的系统设计(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2016年小学生健康教育测试题及答案

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: