MCS51系列单片机汽车防碰撞报警系统设计.docx
《MCS51系列单片机汽车防碰撞报警系统设计.docx》由会员分享,可在线阅读,更多相关《MCS51系列单片机汽车防碰撞报警系统设计.docx(24页珍藏版)》请在冰豆网上搜索。
MCS51系列单片机汽车防碰撞报警系统设计
摘要
本次设计主要从实验研究分析的角度,分析了汽车防撞系统的基本设计原理以及目前国内外此类防撞系统存在的问题。
并详细的介绍一种超声波测距系统以及根据该系统设计、研制的汽车防撞报警器。
它能自动检测车尾障碍物的距离,当达到极限位置的时候,并能发出声光报警,提醒司机刹车。
设计采用国内生产厂家的通用元件,成本低、性能可靠,有利于推广。
超声波距离传感器采用压电元件锆钛化铅,一般称为RZT,这种传感器的特点在于具有方向性,汽车所用的倒车声纳系统利用超声波距离传感器的“回声”现象制成的,倒车时向车辆后方发射超声波,测定超声波遇到障碍物后返回的时间,就可以得到车到障碍物的距离。
本文设计的防撞装置在结构上采用微电脑技术和专用芯片设计,具有结构简单,小型化的特点,非常适合用于测控系统;在软件设计上,突出模块的灵活性,并且C51语言简洁,大大简化了编写程序的工作量。
比较现在市场上已有的汽车防撞器,该系统结构紧凑,成本低,可靠性好,通信能力强,能有效地避免汽车相撞事故的发生,具有一定的市场价值。
且适合广大电气系专业学生的参考与借鉴。
同时,本设计也存在一定的不足,尽请老师给予指出并纠正错误。
关键字:
超声波、汽车倒车、防撞、报警器、传感器
目录
摘要1
目录2
绪论4
第一章汽车防撞报警系统设计简介5
1.1设计概要5
1.1.1设计任务与要求5
1.1.2研究方法5
1.1.3解决的关键问题5
1.2汽车防撞报警系统设计的意义6
第二章设计思路分析8
2.1系统总体方案8
2.2工作原理9
2.3控制器AT89C2051的功能特点9
第三章系统硬件电路设计10
3.1系统硬件方案设计10
3.2遥控器控制框图11
3.3工作原理剖析12
3.3.1传感器的选择12
3.3.2超声波的发射与接收电路12
3.3.3测速原理13
3.4实物设计所能达到的功能及操作说明13
第四章系统软件电路设计14
4.1主程序14
4.2串口通信模块——transplant.C15
4.3程序编写16
第五章调试与测试18
总结19
参考文献21
附录122
附录223
致谢26
绪论
随着时代的发展及社会的进步,越来越多的汽车进入了普通人的家庭。
汽车逐渐成为人们生活中不可缺少的一部分。
尽管公路条件在不断地改进,但仍然避免不了公路上汽车拥挤的现状,再加上设计车速不断提高,恶性交通事故无时无刻不在发生,给人们和社会带来了巨大的生命与财产损失。
汽车防撞报警系统也因此应用而生。
汽车防撞报警系统是一种当汽车离障碍物较近时向司机预先发出报警信号的装置,通常系统的各个探测器安装于汽车的几个关键的车身部位,能探测到接近车身的行人、车辆和周围的障碍物,能向司机或乘客提前发出即将发生撞车危险的信号,促使司机甚至撇开司机采取应急措施处理特殊险情,避免损失。
同时当汽车发生故障时,可以通过按动警示信号键向过往的车辆发送无线警示信号,提醒过往车辆的司机注意,从而更有效地避免交通事故的发生。
汽车的各种方便性正不断地被人们所接受,现如今如同是一般的家用电器一样地进入平常百姓的家中,开发本系统,可以广泛地安装于各种家用轿车、客车、货车等,如与车载微型电脑相配合,可以实现更多的人工智能化操作,是实现汽车无人驾驶必不可少的一个组成部分,也是未来汽车的发展方向,因此运用前景是相当可观。
本设计采用了以AT89C52为主控芯片,利用三极管的开关特性驱动T40—16(40kHz超声波发射端子)发射40kHz方波,然后接收端子R40—16接收信号,经放大电路及后级处理后单片机接收到一个下降沿中断,对信号传输期间所计数据进行处理后实现LED显示障碍物与汽车发射端的距离。
本文重点介绍了三极管的开关特性,发射端与接收端的压电效应,检波整流电路以及运放的简单应用。
经过实际验证,在车体上合理布置该报警器,利用超声波测量汽车与障碍物距离,实现汽车前行和倒车时与障碍物之间距离的检测;通过LED点阵实时显示距离,使汽车避免和障碍物发生碰撞。
实验表明该汽车防撞报警器具有测距速度快、准确度高、易于实现等优点,具有很好的应用前景。
而且本设计的应用领域也将十分广泛,不仅可以在汽车工业中运用,当配上相应执行机构,还可以运用于工业机床的限位自动控制当中。
第一章汽车防撞报警系统设计简介
本设计利用MCS-51系列单片机为核心器件并结合比较常规的超声波传感器以及价格低廉的电子元件,由超声波发生电路、超声波信号接收电路、微波信号发生电路、感应信号放大及处理电路、中央处理单元电路,报警电路以及无线报警信号发射电路组成一个低误差,高精度,多功能的汽车防撞系统。
1.1设计概要
1.1.1设计任务与要求
1)设计一套汽车倒车防撞报警系统:
◆要求有一台主机;
◆汽车与物体距离小于设定值时,利用蜂鸣器进行报警;
◆通过按键选择报警的距离;
◆数码显示选择的档位。
2)已知条件:
防撞报警仪的主要设计指标
◆报警距离:
5~30m,根据用户的具体需要连续可调;
◆根据用户的需要选用分档:
0.6m,1.0m,1.5m,1.8m,2.4m;
◆电源:
车载电瓶12V;
◆环境温度:
-20~+70℃;
◆报警器尺寸:
155mm×155mm×63mm,重量:
3.5kg。
3)主要技术指标:
◆输入电源:
车用直流电源,DC12V;
◆发射频率:
40kHz;
◆接收频率:
40kHz(中心频率);
◆报警音量:
≥……分贝;
◆探测距离:
三档可调。
1.1.2研究方法
通过超声波和微波双重探测器、通过采样放大输入单片机系统、通过单片机的处理、完成对车辆周围障碍物的探测与报警,通过无线电信号向周围事物传递信息。
1.1.3解决的关键问题
解决周围无线电信号对系统准确性的干扰,准确区分障碍是否位于有效的范围内。
解决汽车防撞报警系统装备,需完成物体检测传感器的选型,设计放大器电路、控制信号转换电路、无线警示信号发射电路、报警电路。
编写本设计所需要的程序,并对各部分电路进行实验、调试,最后完成系统的联调。
最终达到:
1)具有测距功能,防护距离可人为预置;
2)具备测角能力,目标的方位角信息对于去除虚警是必不可少的;
3)信息传输选用无线射频方式,工作频率315MHz;
4)易于产生抗干扰性能强的复杂发射信号,配合实时高效的信号处理和目标检测算法,用以去除虚警;
5)能避开前后、左右、上下的障碍物;
6)当道路上故障车及事故车打开警示灯时,随即发射防撞信号。
附近驶近车辆在150米处,能及时收到故障车及事故车发出的遇障语音提示,即三声“注意防撞”,在声音启动时本产品另有一红灯同时闪烁,直到驶离遇危区域红灯自动解除。
图1-1系统总体框图
1.2汽车防撞报警系统设计的意义
汽车防撞系统是一种高科技的产物,它将伴随着光机电一体化技术的进步而得到新的发展。
汽车防撞系统的核心在于快速准确地测量出汽车前方障碍物之间的距离,并及时发出报警信号以及自动刹车等应急措施,从而实现防撞。
奔驰公司和沃尔沃公司在汽车防撞器方面走在世界前列。
美国的《大众机械师》杂志介绍了戴姆勒-克莱斯勒公司汽车防撞器的研究情况。
该防撞器结构主要是两个测距仪和一个影像系统,能够测出安全距离,如果发现车前有障碍物,计算机能够自动引发刹车装置。
戴姆勒-克莱斯勒公司的实验结果显示,汽车以每小时20英里(32.18公里/小时)的速度行驶,在距离障碍物40英尺(12.19米)时,若司机仍在加速,自动防撞器的执行机构就会自动刹车,在距离障碍物1英寸(2.04厘米)的地方使车停下来,从而避免了撞车。
第二章设计思路分析
本设计主要由计数器、中断接收器、计算距离、二进制数到BCD码的转换、比较报警和显示模块组成。
介绍了基于AT89C2051单片机的性能及特点,及以其为核心的一种低成本、高精度、微型化、数字显示的汽车防撞报警器。
该防撞报警器利用超声波及集成霍尔原件实现对汽车的测距和测速,利用单片机的实时控制和数据处理功能,完成系统的控制。
设计中给出了报警器的硬件电路原理及软件设计。
随着现代化节奏的加快,交通事故发生的频率也在增加,为提高汽车运行的安全性,本设计介绍了一种单片机控制的汽车防撞报警系统。
该装置将单片机的实时控制及数据处理功能,与超声波的测距技术、传感器技术想结合,可检测汽车运行中后方障碍物与汽车的距离及汽车车速,通过数显装置现实距离,并由发生电路根据距离远近情况发出警告声。
2.1系统总体方案
汽车防撞报警仪采用由AT89C52单片机为核心组成的微机系统,对仪器进行控制,其硬件系统如图2-1所示。
图2-1仪器硬件框图
2.2工作原理
本防撞装置利用声波作为检测波,利用超声波作为机械波,其频率为20kHz~20MHz。
随着频率的增加,检测距离减小,使用频率在15~40kHz之间,检测距离为0.5~3.0m,由发射器、接收器、控制器和反射板组成。
发射器、接收器和控制器安装在防撞主体(指由产品控制能实现防撞功能的汽车面板)上。
发射器发出检测波,经反射面反射给接收器,通过判断处理后,发送控制器执行规定的功能。
基于单片机的天车防撞系统采用AT89C52单片机和专用芯片测量超声波发射到反射回所需的时间t,由S=vt(v=314m/s,计算时加入温度补偿)得到从声波发射到反射面的距离。
此距离随时显示在汽车驾驶室内,软件可以设置几级提示和报警,当车障之间距离小于安全距离时,设置在驾驶室的声光报警仪即发出声光信号,通知驾驶员谨慎操作,从而有效地防止碰撞事故发生,保证人身及设备的安全。
2.3控制器AT89C2051的功能特点
AT89C2051是一个低耗能、高性能的CMOS8位微处理器,与MCS-51系列指令集和引脚兼容,有一下特点:
128bytes内部RAM,2KbytesEPROM,15根I/O线,2个16位定时/计数器5个两级中断源,1个全双工串行口,一个片内精密模拟比较器和片内振荡器,低功耗的闲置和掉电模式。
工作电压范围4.25V~5.5V,工作频率取12MHz。
AT89C2051中的两个16位定时.计数器寄存器T0和T1,作定时器时,可计数机器周期,计数频率为振荡频率的1/12;作计数器时,可对外部输入引脚P3.4/T0和P3.5/T1上出现从1至0的变化时增1,计数频率为振荡频率的1/24。
第三章系统硬件电路设计
从功能上划分可以分成方波信号产生部分,开关部分,信号放大部分,检波整流及稳压部分,人机交换部分。
超声波发射部分:
由信号发生电路产生方波信号,利用三极管的开关管特性,信号经过放大处理后,通过发射端子发射。
超声波接收部分:
通过接收端子接收反射回来的信号,经过放大电路处理后,利用整流检波电路将交流信号变换为直流电压信号,再经过稳压处理后送往单片机,通过C语言编程进行测距,人机交换部分是由LED(液晶)显示及一些功能按键组成。
3.1系统硬件方案设计
该报警器由控制系统、超声波发射电路、接受电路、测速电路、报警电路、LED显示电路组成,电路原理框图如下。
。
图3-1系统原理图
超声波发射电路由CC7555时基电路和超声波发射探头组成。
单片机AT89C2051的P1.7引脚控制CC7555时基电路产生40KHz的频率信号给超声波发生器,由超声波探头发射的超声波射向障碍物。
利用超声波测距具有以下特点:
测量灵敏度高,穿透力强,测量速度快,测量角度大,可对较大范围内的物体进行检测。
超声波接收电路由超声波接收探头、放大器和整形器组成。
由障碍物反射回来的超声波经接收探头,变换成电脉冲信号,再由放大器、整形器放大和整形后送入到单片机AT89C2051的P3.2引脚。
放大器宜选拥有足够增益和较低噪声的宽带放大器,以保持脉冲信号尤其是前沿不发生畸变,提高测距的精度。
测速电路由传感器、脉冲放大器、整形器、CC7555时基信号电路。
选通门组成。
霍尔集成传感器将车轮转速信号变成脉冲信号输出,经放大、整形电路后送入选通门,由CC7555时基电路产生的单位时基信号控制选通门的开与闭,以控制转速信号在单位时间内通过选通门,送入单片机AT89C2051的P3.5引脚,控制T1计数器计数,实现了在单位时间内的计数。
报警电路由CC7555电路和扬声器组成。
AT89C2051的P1.6控制CC7555电路根据测量结果,产生一定频率的信号驱动扬声器发出报警声。
在扬声器发出报警声时,时基电路CC7555处于暂稳态,此时电源向电容充电,从而使CC7555结束暂稳状态,输出低电平,使扬声器停止发出报警声,直到下一次测距结束产生新的报警声。
LED显示电路由数码管和驱动电路组成。
用两个数码管显示距离,数码管采用静态显示,由芯片MCS14495驱动显示,P1.4、P1.5分别作为驱动芯片MCS14495的锁存信号,用于控制产生的BCD(BinaryCodeDencimal,二进制编码表示的十进制数)码是显示高位还是低位。
控制器AT89C2051主要完成程序的执行、数据的处理和对外部电路的实时控制。
内部定期T0工作在定时方式,T0在超声波发射时开始计数,当P3.2引脚收到回波后,停止计数,T0所计时间即为超声波往返传输时间,单片机对该数据进行处理,即可测出距离。
内部定时器T1工作在计数方式,由P3.5引脚输入的脉冲信号控制T1计数,由T1所计数值确定汽车的转速。
单片机根据所测距离和车速进行比较,判断是否驱动报警电路报警,如设定:
当车速小于等于30Km/S时,安全距离应大于等于1m;当车速小于等于80Km/s时,安全距离应大于等于2m;当车速大于80Km/s时,安全距离应大于等于5m。
3.2遥控器控制框图
遥控器原理参数:
1)测量障碍物距离:
0~5米;
2)显示方式:
静态连续显示;
3)检测人体:
采用红外线传感器,如有盗窃,能及时将信号传到单片机;
4)报警处理:
对所测的参数进行超限判断,如超限,给出声光报警;
5)发射和接收功能:
通过防盗发射器和接收器实现,由单片机控制。
另有遥控器对防盗信号进行遥控。
3-2遥控器控制框图
3.3工作原理剖析
3.3.1传感器的选择
汽车防撞系统涉及到距离的检测,根据测量的环境和要求,利用超声波测距具有测量灵敏度高,穿透力强,测量速度快,测量角度大的特点,可对较大范围内的物体进行检测。
本系统选用MA40EIS型超声波发射传感器和MA40EIR接收传感器。
3.3.2超声波的发射与接收电路
超声波测距的原理是,通过不断检测超声波后遇到障碍物所反射的回波,从而测出发射超声波和接收到回波的时间差T,然后求出距离S=CXT/2,其中,C为超声波波速,常温下取为344m/s。
声速确定后,只要测得超声波往返的时间,即可求得距离。
超声发射电路:
由555时基电路和超声波发射探头组成,单片机AT89C51的P1.5端反相后接4脚,控制555时基电路产生40kHz的频率信号(此时超声波振幅最大)给超声波发生器,由超声波探头发射的超声波射向障碍物。
图3-3超声波的发射原理图
图3-4超声波的接收原理图
3.3.3测速原理
汽车车速的测量是通过霍尔集成传感器来实现的。
即,将装有永久磁铁的转盘的输入轴与车轮的转轴相连,当车轮转动时,转盘随之转动。
此时,转盘上的永久磁铁会经过霍尔集成传感器,从而在霍尔集成传感器的输入端得到一个磁信号,如果转盘不停转动,霍尔集成传感器便会输出转速信号。
可以说,对汽车车速的测量实质上是对转速信号的频率的测量。
3.4实物设计所能达到的功能及操作说明
采用51系列单片机中的简易型产品AT89C2051作为中央处理器,选用专用配对的超声波组件,进行超声波信号与电信号的相互转换,利用超声波传感器的选频特性,对接收到的超声波信号进行幅值判断,从而达到不同距离的选择与报警的目的。
操作说明:
1)接上电源,红色电源指示灯点亮,同时数码管显示"0",此时系统不发送超声波信号;
2)按动距离选择按键,蜂鸣器鸣叫,同时数码管显示0到3这几个数字,当显示1、2、3档时,设计与调试时设定的距离分别表示60厘米、50厘米、40厘米,只要有物体靠近探测器,就会发出"嘟、嘟、嘟"的报警声。
第四章系统软件电路设计
超声波测距的软件部分主要由40kHz方波产生程序和距离显示程序组成。
采用C51语言来实现,该语言具有可移植性好、表达能力强。
方式灵活。
可进行结构化设计、可以直接控制计算机硬件、生成代码质量高、使用方便等优点。
同时具有完善的调试功能。
4.1主程序
为了达到前述仪器的主要功能,程序采用C51的功能模块逐一实现。
程序分为主程序(chret.c)和另外三个模块文件,即display.c,eraseint.a51,transplant.c。
本设计装置的控制软件要完成系统的初始化,控制触发脉冲信号的发射与接受,根据时间计算障碍物的距离,根据计数频率计算汽车车速,判断所测距离是否在车速所对应的安全范围内,并根据计算和判断结果产生BCD码和相应频率的脉冲信号,以驱动显示电路和发生电路实现整个系统功能的主流程图。
图4-1主流程图
本程序对工作过程分了8个状态:
准备状态(t0~t1)、发射超声波(t1~t2)、不接收信号时间(t2~t3)、等待声波反射时间(t3~t4)、测反射的个数(t4~t5)、不计反射波个数,间歇一段时间(t5~t6)、再测波的个数(t6~t7)、间歇时间(t7~t0)。
为测得超声波收发时间差t,换算成距离s和判断是否报警,程序中使用了两个函数:
一个是voidt0Interrupt(void)interTupt:
1using1,它是t0计时中断函数,通过switch语句处理由工作过程分成的8种状态。
另外一个是函数voidintInterrupt(void)interrupt2using2,它处理反射回来的输入信号,发生在t3~r4阶段,主要是由int1外部中断来得出时间distanceIn-time,并启动T1计数器,它用来计算反射波个数。
通过以上两个函数可获得t,后面转换成s和判断是否报警便迎刃而解。
Chret.c的函数组成:
voidenterT0-T1(void);进状态t0~T1
voidentercheck(void);开始的一轮测距
voidt0Interrupt(void)interrupt1using1
voidintLInterrupt(void)interrupt2using2
voidinitMech(void);初始化各中断寄存器
voidstart(void);开始测速
voidcalc(void);计算距离
voiddisplayDis(void);显示距离
voidmain(void);主函数
主程序对抗干扰采取了3个措施(防止误报警):
1)t4~t5状态,给反射回来的波定个窗口,对于高于33.3Hz或小于11.1Hz的波不计数;
2)t6~t7状态,通过测10ms来判断:
若是干扰在此时能测到;若是正常反射,此时应根本测不到波;
3)对报警判断两次(1.3s会自动清0一次)。
4.2串口通信模块——transplant.C
主要将主AT89C52的程序中chDis准确无误传给显示部分(位于驾驶室),设计一个通信协议,以保证不收乱码,即在chDis这个数据前面添加一个报头数据Head,而后面添加一个检验数据check,这样显示部分就只在Head出现时才接收,且检验正确才显示。
由于测t时,程序的时序已经固定,在此基础上进行串口通信,就只能够采用中断方式,而不能采用查询方式,否则将出现“死机”现象。
对于display.c,eraseint.a51这两个模块,在主程序中调用即可,功能单一:
一个用来显示数据;一个用来执行iret指令。
4.3程序编写
AJMPMAIN;主程序入口
ORG0003H
AJMPINT0;转外部中断0服务程序
ORG000BH
AJMPITOP;转T0中断服务程序
ORG001BH
AJMPITOP;转T1中断服务程序
ORG0100H
MAIN:
MOVSP,#60H;堆栈初始化
ACALLPTOM2;对T0,T1初始化
RESET:
AJMPMAIN;复位入口转主程序
ORG0003H
AJMPINT0;转INT0中断服务程序
PTOM2:
MOVTMOD,#16H;T0初始化程序
MOVTL0,#FFH;T0初始化
MOVTH0,#FFH;
SETBTR0;启动T0
SETBET0;允许T0中断
MOVTL1,#0E3H;T1置初值
MOVTH1;#FEH
CLRP1.0
SETBEA;CPU开放中断
RET
TOINT:
CLRTR0;停止T0计数
SETBP1.1;建立标志
RET
ITOP:
MOVTL1,#0E3H
MOVTH1,#0FEH
CPLP1.0;P1.0取反
RETI
LOOP:
MOVC,P1.1;T0产生过中断否?
JNCLOOP
SETBTR1
SETBTR1;启动中断
第五章调试与测试
本汽车防撞报警系统选用单片机AT89C51为信号控制器。
具体工作过程如下:
防撞开关与AT89C51的P2.1引脚相连,开关合上时,AT89C51的P1.5端置0发射超声波,计数器开始计数。
超声波接收电路接收到信号将信号输入到中断1(为边沿触发),接收到信号的同时计数器关闭,读出计数值,进行距离计算;此距离与报警距离比较,当小于报警距离时,显示距离,并且AT89C51P1.6置0进行声光报警,当大于报警距离时,不报警。
遥控器工作过程如图3-2:
遥控器内置单片机AT89C51,当中断0接收到边沿触发信号时进入报警程序,单片机的P1.3端置0,进行声光报警。
当检测到关闭开关合上时,关闭声光报警;单片机的P1.1输出脉冲信号,发射器发射频率信号,由汽车里的报警装置接收(此控制是防止汽车里的声光报警误报警),同时遥控器自身的中断0关闭,以防误报警。
对于本系统的设计,其难点在于40KHz信号的产生。
由于超声波传感器的中心工作频率为40KHz,当偏离这个频率时,其接收器的灵敏度将明显降低,具体可以从超声波传器的特性曲线中得知。
当发送40KHz的频率时,接收到的信号最强,因此距离也就最大,而当偏离时,探测距离也将缩短,这一点是本设计总的设计思路。
对于产生40KHz的驱动信号,方法有多种,可以选用电感、电容振荡元件来完成驱动信号的发生器,但是其频率稳定性较差,不容易调准,因此制作成功的可能性相对较小。
本设计中,选用了单片机作为信号的发生电路,由于采用了频率稳定性好的晶振作为系统的时钟,因此有极高的稳定性,由此产生的驱动信号也较为稳定,当编制不同的程序时,可以得到不同的频率输出。
电路中以接收到的信号强度值作为障碍物的判断依据,因此对起控点的选择也是本设计制作成功非常关键性的一部分。
由于反射回来的超声波信号的强弱与环境因素有关,因此在调试时必须非常细心,注意收集在改变距离时,实际的直流控制电压的大小,合理地选择好电压比较环节的起控点,从而达到距离小于设定值时的报警。
本设计的原理图中所标为我们实际调试好的参数,但由于电子元件都有一定的误差值,同时由于三极管的直流放大倍数也存在差异,因此实物制作中的调试非常重要
总结
随着现代社会交通突飞猛进的发展,车辆的数量急剧增