基于单片机倒车防撞报警系统设计(4)

2019-04-21 15:25

XX学院 物理系 201X届 电子信息工程专业 毕业设计

开始

有回波吗?

Y 外部中断子程序

图4-1 主程序流程图

返回 定时子程序 N

Y 停止发射 三方向是否发射完? 发射超声N

定时器初始化 定时程序入口 单片机初始化 4.1.1 40KHz脉冲的产生与超声波发送

在脉冲产生前先对定时/计数器T0进行初始化,在这里选择的是工作方式1定时器模式,所以TMOD应该设计为01H。接着用STEBTRO指令开启T0,在开启T0的同时开发发射超声波脉冲。

测距系统中的超声波传感器采用UCM40的压电陶瓷传感器,它的工作电压是40KHz的脉冲信号,这由单片机执行下面程序来产生。

PUZEL:MOV 14#,#12H;超声波发射持续200ms HERE:CPL P1.0;输出40KHz方波 NOP NOP NOP

DJZN 14H,HERE RET

前方测距电路的输入端接单片机P1.0端口,单片机执行上面的程序后,在P1.0端口输出一个40KHz的脉冲信号,经过三极管T放大,驱动超声波发射头

____________________________________________________________________________________________

16

XX学院 物理系 201X届 电子信息工程专业 毕业设计 UCM40T,发出40KHz的脉冲超声波,且持续发射200ms。右侧和左侧测距电路的输入端分别接P1.1和P1.2端口,工作原理与前方测距电路相同。这里省略,只研究正对方向的障碍物。 4.1.2 超声波的接收与处理

超声波的接收是由外部中断口INT0是否有中断脉冲产生来判断的。定时子程序转回来的时候,要对中断进行初始化。选定的是INT0口,工作方式为脉冲方式。

STEB EA;中断总允许 STEB EXO;INT0中断允许

STEB PXO;设置INT0为高优先级中断 STEB IT0;设置INT0为脉冲方式 HERE:JMP $;等待中断

接收头采用与发射头配对的UCM40R,将超声波调制脉冲变为交变电压信号 ,经运算放大器IC1A和IC1B两级放大后加至IC2。IC2是带有锁定环的音频译码集成块LM567,内部的压控振荡器的中心频率f0=1/1.1R8C3,电容C4决定其锁定带宽。调节R8在发射的载频上,则LM567输入信号大于25mV,输出端8脚由高电平跃变为低电平,作为中断请求信号,送至单片机处理。

前方测距电路的输出端接单片机INT0端口,中断优先级最高,左、右测距电路的输出通过与门IC3A的输出接单片机INT1端口,同时单片机和P1.3和P1.4接到IC3A的输入端,中断源的识别由主程序查询来处理,中断优先级为先右后左。部分源程序如下: RECEIVE:PUSH PSW

PUST ACC CLR ACC

JNB P1.1,RIGHT;P1.1引脚为0,转至右测距电路中断服务程 序

JNB P1.2,LEFT;P1.2引脚为0,转至左测距电路中断服务程序 RETURN:SETB EXZ1;开外部中断INT1 POP ACC

____________________________________________________________________________________________

17

XX学院 物理系 201X届 电子信息工程专业 毕业设计

POP PSW RET1 4.1.3 数据读取和储存

为了得到发射信号与接收回波间的时间差,要读出T0计数器的计数值,然后存储在RAM中,而且每次发射周期的开始,需要对计数器清零,以备后续处理。

RECEIVE0:PUSH PSW PUSH ACC

CLR EXO;关外部中断0 MOV R7,THO;读取时间值 MOV R6,TL0 CLR C MOV A,R6

SUBB A,#0BBH;计算时间差 MOV 31H,A;存储结果 MOV A R7 SUBB A,#3CH MOV 30H,A

SETB EXO;开外部中断0 POP ACC POP PSW RETI

4.1.4 计算超声波传播时间

T0中读取出来的时间差数据并不能作为距离值直接显示输出,因为时间差值与实际的距离值之间转换公式为S=0.5*V*T。其中,V为声音在常温下的传播速度,T为发射信号到接收之间经历的时间,在这个部分中,信号处理包括计数值与距离值换算,二进制与十进制转换。

4.2 显示子程序和蜂鸣报警程序

考虑到提高系统资源的利用率,显示采用动态显示法实现。采用8155芯片

____________________________________________________________________________________________

18

XX学院 物理系 201X届 电子信息工程专业 毕业设计 作为单片机应用系统的扩展I/O口。8155的PA口作为LED的字形输出口,PC口作为LED的位选控制口,采用共阴显示接法。将计算好的距离数据设置显示缓冲区其实地址,显示缓冲区中被显示的字符的字形码的地址偏移量预先制表放入。流程图及部分源程序如图4-2所示。

外部中断入口

关闭外部中断

读取T0时间值

计算距离

结果送显示并报警提示

开外部中断

返回

图4-2 子程序流程图

N 返回 返回 蜂鸣报警 距离小于50cm? Y LED显示 取值测量 显示报警子程序 部分源程序:

DISP:MOV DPTR,#7FOOH;指向8155控制口 MOV A,#0DH ;8155初始化 MOVX@DPTR,A

MOV R7,#01H ;从右边第一位显示器开始 MOV R1,#30 ;显示缓冲区首地址送R1 LOOP:MOV DPTR,#7F03H;指向8155控制口地址 MOV A,R7 ;位控码初值 MOVX@DPTR,A

MOV DPTR,#7F01H ;指向8155段控制口地址

____________________________________________________________________________________________

19

XX学院 物理系 201X届 电子信息工程专业 毕业设计

MOV A,@R1 ;取待显示数据 MOV DPTR,#TAB ;取字形段码表首地址 MOVX A,@A+DPTR ;查表获取字形段码 INC R1 ;指针指向下一缓冲单元 MOV A,R7

JB A CC.5,RETURN ;判断是否到最高位?返回 RL A ;不到,左移一位 MOV R7,A

AJMP LOOP ;继续扫描 RETURN:RET

TAB:DB OCOH,OF9H,OA4H,OBOH,99H DB 92H,82H,OF8H,80H,90H DB 88H,83H,OC6H,OA1H,86H DB 8EH,OBFH,8CH,OFFH

5 结论

本文在分析了汽车业现状的基础上,提出了汽车防撞报警设计及其重要性。文中对超声波测距的原理和实现进行了详细论述,并详细介绍了AT89C51的内部结构以及各管脚的功能。在此理论知识基础上,本文利用AT89C51单片机对系统发射与接收、显示报警及复位等硬件电路进行了设计,并对设计电路作了分析。通过掌握了系统的工作流程,设计了该系统的主程序、显示子程序和蜂鸣报警程序。

文中对倒车防撞报警系统的设计可应用于汽车倒车等场合,用于提醒驾驶员在倒车时能有效的避开可能对倒车造成危害和障碍物和行人,具有较强的实用性。

但是,该系统的测量距离有限,只有在10-300cm距离情况下可表现比较明显的线性关系。另外,当测距障碍物时斜面或是其他复杂界面也会影响测量的准确性,以上不足需要进一步改进,相信未来随着科学的不断完善发展,倒车防撞系统可完美的实现在驾驶工作中。

____________________________________________________________________________________________

20


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

下一篇:配置实现NATPAT - 图文

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

马上注册会员

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