基于单片机的倒车防撞预警系统
- 格式:doc
- 大小:644.00 KB
- 文档页数:6
基于单片机的倒车防撞预警系统毕业设计倒车防撞预警系统是一种能够帮助驾驶员在倒车过程中避免碰撞的设备。
本文基于单片机设计了一种倒车防撞预警系统,并进行了详细的介绍。
该系统主要由倒车传感器、控制电路、显示屏和蜂鸣器组成。
其中,倒车传感器用于检测车辆周围的障碍物,通过将传感器输出的数据传给控制电路进行处理。
控制电路根据接收到的传感器数据,计算出障碍物与车辆的距离,并控制显示屏和蜂鸣器发出相应的警报。
在设计中,我们选择了超声波传感器作为倒车传感器,因为它能够准确地测量障碍物与车辆的距离。
我们将超声波传感器固定在车辆的后部,并将其与单片机相连。
当车辆开始倒车时,超声波传感器开始工作,并将检测到的障碍物距离传给单片机。
单片机接收到传感器数据后,根据一定的算法计算出车辆与障碍物的距离,并根据距离的大小决定是否发出警报。
为了方便驾驶员了解障碍物的距离,我们在车辆驾驶室内安装了一个显示屏,用于显示障碍物与车辆的距离。
当障碍物与车辆的距离小于一定值时,系统还会通过蜂鸣器发出警报,提醒驾驶员注意。
在系统的设计过程中,我们考虑到了多种因素。
首先,我们要确保传感器的数据准确性,要选择合适的传感器并进行校准。
其次,我们要考虑到驾驶员对系统的操作是否方便,要保证显示屏和蜂鸣器能够清晰地传达信息。
最后,我们还要考虑系统的可靠性和稳定性,要进行充分的测试和优化。
倒车防撞预警系统可以提高驾驶安全性,避免驾驶员在倒车过程中因为盲区而发生碰撞。
我们通过基于单片机的设计,实现了一个简单有效的倒车防撞预警系统。
通过这个设计,我们还深入了解了单片机的应用和原理。
希望这个设计能够对相关领域的研究和开发工作提供一些参考和启示。
摘要随着中国经济的持续发展和汽车价格的持续下降,越来越多的家庭拥有自己的汽车,汽车的安全也成为亟待解决的问题。
对汽车倒车预警技术的研究,具有重要的现实意义。
基于51单片机的超声波测距仪之倒车雷达装置,安装在汽车上,可以与时了解前方与后方的障碍物情况,随时做出正确的判断,保障人类的生命安全。
在此基础上,本文研究了基于51单片机倒车防撞报警系统,首先简要阐述了本文的研究背景、意义、超声波测距的基本理论,并介绍了超声波测距报警系统。
根据型电气设备的设计要求,在传统非超声波测距系统的基础上,设计并实现了超声波测距报警系统。
整个测距系统的实现包括数字电路设计、模拟电路设计和软件的编辑。
关键词:51单片机;倒车防撞报警系统;超声波测距ABSTRACTAs China's economy continues to develop and car prices continued to decline, more and more families have their own cars, car safety has become a problem to be solved. It is of great practical significance to study the warning technology of car astern. Ultrasonic range finder based on 51 single chip microcomputer of reversing radar system, installed on the car, can timely understand the front and rear obstacles, at any time to make the right judgment, to ensure the safety of human life. On this basis, this paper studies the reverse collision warning system based on 51 single-chip processor, this paper expounds the research background, significance of this article, the basic theory of ultrasonic ranging, and introduces the ultrasonic ranging alarm system. According to the design requirement of the electric equipment, the ultrasonic range alarm system is designed and implemented on the basis of the traditional non-ultrasonic range system. The implementation of the whole range system includes digital circuit design, analog circuit design and software editing.Keywords:51 microcontroller; Reversing alarm system Ultrasonic ranging目录摘要1ABSTRACT2目录3第一章绪论41.1课题概述41.2设计容4第二章设计方案选择52.1总体方案设计52.2单片机5第三章硬件电路设计73.1超声波模块73.3超声波检测接收电路的设计73.3声光报警与显示电路83.4供电电路9第四章软件(程序)设计104.1系统程序总体工作流程104.2测距结果显示子程序11第五章系统调试125.1仿真125.2调试125.3总结与展望13参考文献14致15第一章绪论1.1课题概述随着汽车辆保有量的增加,车库与停车位的需求量越来越大,室外停车场,地下停车场,车辆密集停车人多,所以撞车、擦碰不断增多。
• 147•本文针对以单片机为基础的倒车防撞预警系统的设计及实现展开具体论述分析,以期能够对倒车防撞预警系统的设计起到一定借鉴意义。
1 倒车防撞预警系统硬件电路的设计1.1 超声波发射和回波接收电路关于超声波发射和回波接收电路,其主要用于增大对超声波传感器起到驱动作用脉冲电压的幅值,确保电和声之间的良好转换,加大超声波发射的实际距离;同时借助于兼具收发作用的传感器针对返回的超声波实施转换,使其变为较为微弱的电信号。
1.2 超声波电信号放大电路电路图如图1所示。
1脚为超声波信号的输入端口,RC 串联网络在2脚和地面间进行连接,其是内部前置放大电路中负反馈网络系统中重要的构成部分。
利用电阻R 5的数值针对前置放大电路确立出增益。
R 5的阻值变小,相应负反馈也会变弱,放大倍数也会与之加大;相反,放大倍数就会变小。
检波电容C 3连接在3脚和地面间,适宜针对电容大小做出改变,能够变更整形电路与超声波电信号放大的灵敏程度以及抵抗外界干扰的水平。
C 3电容越大,灵敏程度越低,抵抗外界干扰的水平也就越强;C 3电容越小,灵敏程度越高,抵抗外界干扰的水平也就越弱,容易出现错误的动作。
将一个电阻接到5脚和电源之间,用来对内部带通滤波电路中心频率加基于单片机的倒车防撞预警系统设计和实现分析德州职业技术学院 袁秀珍图1 超声波放大和整形电路图2 单片机控制电路与显示、报警电路以设定。
如果R 6=200K Ω,则f 0=40KHz 。
将一个积分电容接到6脚和地面间,标准量值设定为330pF 。
若是这一电容量值过大,会减短实际探测距离。
7脚为电路集电极开路输出的位置,R 7为这一引脚的上拉电阻。
在电路中没有输入信号的过程中,7脚会输出高电平,当针对信号实施整形及放大处理操作之后,7脚就会输出负脉冲电压。
1.3 单片机控制电路及显示、报警电路具体电路图如图2所示,因为整个系统采用单片机的输入和输出端口很少,不对延伸功能加以考虑时,仅仅从够用和缩减成本投入的层面进行考虑,应用AT 89C2051单片机当作控制电路的关键性部件,该单片机包含20引脚,有15个I/O 端口,两个价格便宜且占据空间较小的16位定时器/计数器。
摘要本文设计一种基于AT89C51单片机的倒车防撞系统,搭建硬件电路,软件通过Keil uVision2开发环境进行编辑仿真,并下载到单片机。
倒车时由倒车换挡装置自动接通倒车系统电源,系统上电复位,进入工作状态。
如果小于设定的安全距离则发出报警,提醒司机注意车距。
整个电路采用模块化设计,由超声波发射与接收、LED显示、报警等模块组成。
单片机通过测量超声波在空气中的往返时间,通过程序计算即可完成距离的测量,当距离小于设定值时发出报警。
要实现不同距离下的报警,只需修改单片机源程序中的设定值即可实现。
关键词:倒车系统;单片机;超声波传感器AbstractThe design method, which realizes reverse anti-collision based on the SCM of AT89C51 is introduced in the paper. Building the circuit of hardware and the software is edited through KeiluVision2 development environment, and download to the microcontroller. When the cay is reversing, the reversing automatic shift device connect the system to the power, system reset, enter the working state. If it is less than the safety distance, the system set alarm to remind drivers of reversing .The modular circuit consist of the ultrasonic transmitter and receiver, LED display, alarm module. Single chip program complete the distance measurement calculation by measuring the ultrasonic travel time in the air, when the distance is less than set value, the system give the alarm. Different distance to achieve the alarm can be realized by simply modifying the source code in the MCU settings.Key words: Reversing system;SCM;Ultrasonic sensors目录第1章绪论 (1)1.1 课题的目的及意义 (1)1.2 倒车系统的分类及发展现状 (1)1.3 论文的主要研究内容 (3)1.4 论文主要安排 (3)第2章相关硬件简介 (4)2.1 超声波传感器简介 (4)2.2 单片机简介 (5)2.3 本章小结 (10)第3章倒车防撞系统的硬件设计 (11)3.1 整体设计思想 (11)3.2 系统整体硬件电路设计 (11)3.3 超声波发射与接收部分的设计 (12)3.4 报警部分 (14)3.5 本章小结 (15)第4章系统软件设计 (16)4.1 系统总体程序设计 (16)4.2 T0中断服务程序 (17)4.3 外部中断0服务程序 (18)4.4 系统程序 (18)4.5 本章小结 (19)第5章系统的连接与调试 (20)5.1 电路的连接与调试 (20)5.2 测量距离 (21)5.3 系统误差分析 (22)5.4 本章小结 (22)结论 (23)参考文献 (24)致谢 (25)附录系统源程序 (26)第1章绪论1.1课题的目的及意义近年来,随着汽车产业的迅速发展和人们生活水平的不断提高,我国的汽车数量正逐年增加,同时汽车驾驶人员中非职业汽车驾驶人员的比例也逐年增加。
基于AT89C51单片机倒车防撞报警系统设计摘要本文介绍了基于AT89C51单片机设计的倒车防撞报警系统,该系统可以在车辆倒车时及时发现障碍物,并发出警报以提醒司机注意。
系统由超声波模块、AT89C51单片机、液晶显示模块、蜂鸣器、按键和继电器等组成。
超声波模块用于探测障碍物距离,AT89C51单片机实现对超声波信号的采集和处理,并通过液晶显示模块显示距离信息,当距离过近时,系统会触发蜂鸣器发出警报,并通过继电器控制后置摄像头的开关,方便司机观察周围情况。
该系统可以有效防止发生倒车事故,具有实用价值和推广意义。
关键词:AT89C51单片机;倒车防撞;超声波模块;液晶显示;蜂鸣器;继电器AbstractThis paper introduces a reverse anti-collision alarm system designed based on AT89C51 microcontroller. The system can timely detect obstacles when the vehicle is reversing and issue an alarm to remind the driver to pay attention. The system is composed of ultrasonic module, AT89C51 microcontroller, LCD display module, buzzer, buttons, and relay. The ultrasonic module is used to detect the distance of obstacles. The AT89C51 microcontroller collects and processes the ultrasonic signals, displays the distance information through the LCD display module. When the distance is too close, the system will trigger the buzzer to issue an alarm and control the on/off switch of the rear camera through the relay to facilitate the driver to observe the surrounding situation. This system can effectively prevent reverse accidents and has practical value and promotionsignificance.Keywords: AT89C51 microcontroller; reverse anti-collision; ultrasonic module; LCD display; buzzer; relay一、引言随着汽车数量的增加和停车位紧缺,倒车事故的发生率逐年上升,严重威胁着驾驶员和行人的生命财产安全。
基于单片机的超声波倒车防撞系统设计摘要:本文设计是基于 51 单片机,设计的一个简易的超声波倒车报警防碰撞安全系统。
在车尾分别安装超声波和热释电模块,测量障碍物距离是使用 HC-SR04超声波模块,使用 HC-SR501 热释电模块来检测是否有人体靠近。
该防碰撞系统通过对模块返回的数据分析然后通过无源蜂鸣器进行报警提示,并在 LCD1602液晶屏上显示报警等数据,提示车主障碍物的出现以及时地做出反应。
关键字:HC-SR04 超声波模块;LCD1602液晶显示屏;51单片机最小系统板1.项目背景:近年来随着车辆的增加,不论是汽车还是其它类型车辆,驾驶员都会面临倒车这一挑战,在倒车过程中驾驶员并不能很好的掌握后方车尾情况,车尾部分位置处于驾驶员的视野盲区,而且许多驾驶人员在倒车这一方面并不熟练,因此造成了许多事故的发生,全球每年由于倒车事故造成的人员和财产损失的数目是惊人的,因此,车辆倒车问题已引起人们的高度重视。
对大量交通事故的分析表明,80%以上的车祸是由于驾驶员反应不及时引起的,超过65%的车辆相撞属于追尾相撞,其余则属于侧面相撞和正面相撞。
有关研究表明,若驾驶员能够提早1s 意识到有事故危险并采取相应的措施,则 90%的追尾事故可以避免。
2.项目目的:为了减少驾驶员倒车交通事故,车载系统的功能需得到改善。
在驾驶员信息系统的关键技术挑战是降低生产成本,同时提供智能安全的系统。
例如,目前国内大多数普通汽车和一些小型车辆并没有类似的倒车报警防撞系统,国外绝大多数车辆也并没有此种防撞系统,一方面是部分车辆公司并没意识到倒车的安全隐患,另一方面便是报警防撞系统过于昂贵,而我们所设计的倒车防撞系统,不仅价格低廉,而且具有极高的安全性能。
防撞系统开发技术的主要挑战是降低成本的同时,也提高了感应功能,以提高准确性和可靠性。
车辆将共享许多防撞系统的传感元件,可以不断地评估不断变化的环境和驾驶环境。
这样就会大大提高汽车倒车的安全性,减少车祸的发生。
基于单片机的汽车防追尾碰撞报警系统设计随着汽车数量的不断增加,交通事故也日益频繁,其中追尾碰撞事故成为了一个较为普遍的类型。
为了减少此类事故的发生率,我们可以设计一个基于单片机的汽车防追尾碰撞报警系统。
本文将从系统设计的整体框架、具体的硬件设计、软件设计和实施效果等方面进行讨论。
首先,我们来看设计的整体框架。
该系统分为传感器模块、处理器模块和报警模块三个主要部分。
传感器模块负责检测车辆周围的情况,包括前方道路情况、前车的距离以及车速等;处理器模块负责接收传感器模块的数据并进行处理,判断是否存在追尾风险并触发报警;报警模块则负责发出报警信号,提醒驾驶员注意安全。
其次,我们来看具体的硬件设计。
传感器模块可以选择使用超声波传感器或红外传感器来检测前方车辆的距离。
通过测量距离和车速,我们可以计算出与前车的相对速度,并据此判断是否存在追尾风险。
处理器模块可以选择使用8051单片机来实现,该单片机具有较为成熟和稳定的开发生态系统。
报警模块可以选择使用蜂鸣器发出声音警告,或者使用LED灯发出光警告。
然后,我们来看软件设计。
在处理器模块中,我们需要编写相应的程序来实现功能。
首先,我们需要配置单片机的IO口和串口通信,并初始化传感器模块。
其次,我们需要编写函数来读取传感器模块的数据,并进行处理。
根据距离和速度等数据,我们可以设定一个阈值来判断是否存在追尾风险,并触发报警。
如果存在追尾风险,我们需要及时发出报警信号。
最后,我们可以编写用户界面程序,用于显示车辆信息和报警状态等。
最后,我们来看实施效果。
通过实际测试,我们可以验证系统的有效性和可靠性。
首先,我们需要对传感器模块进行准确性和稳定性的测试,确保其能够正确地检测车辆的距离和速度等信息。
然后,我们需要对处理器模块进行功能和性能的测试,确保其能够准确地判断追尾风险并触发报警。
最后,我们需要对整个系统进行集成测试,确保各模块正常工作并协同配合。
通过以上测试,我们可以评估系统的实施效果,并根据测试结果进行进一步优化和改进。
基于单片机的倒车防撞预警系统设计倒车防撞预警系统是一种广泛应用于汽车上的辅助设备,可以帮助驾驶员在倒车过程中避免与障碍物发生碰撞。
本文将介绍一个基于单片机的倒车防撞预警系统的设计。
一、系统设计方案1.硬件设计部分:(1)超声波传感器:用于检测倒车车辆后方距离的变化,一般使用多个超声波传感器进行检测。
(2) 单片机(如Arduino):用于接收超声波传感器的信号并进行处理,同时控制显示器和蜂鸣器发出预警信号。
(3)显示器:用于显示倒车车辆后方的障碍物距离,可以使用LCD显示屏。
(4)蜂鸣器:用于发出声音预警信号,提醒驾驶员注意。
2.软件设计部分:(1)超声波传感器信号处理:单片机接收超声波传感器的信号,并进行滤波和幅值处理,得到障碍物距离值。
(2)倒车距离显示:将障碍物距离值显示在LCD屏幕上,可以设计多级警戒区,显示不同距离范围内的预警信息。
(3)声音预警:当距离过近时,单片机控制蜂鸣器发出声音预警信号,提醒驾驶员注意。
二、系统实现步骤1.硬件实现:(1)连接超声波传感器:按照超声波传感器的规格书连接传感器与单片机。
(2)连接LCD显示屏:将LCD显示屏连接到单片机。
(3)连接蜂鸣器:将蜂鸣器连接到单片机。
2.软件实现:(1)单片机初始化:初始化单片机,设置IO口的输入输出模式和引脚功能。
(2)读取超声波传感器信号:通过IO口读取超声波传感器的信号,并进行幅值处理,得到障碍物距离值。
(3)显示距离信息:将障碍物距离值显示在LCD显示屏上,可以设计多级警戒区,显示不同距离范围内的预警信息。
(4)发出声音预警信号:当距离过近时,单片机控制蜂鸣器发出声音预警信号,提醒驾驶员注意。
三、系统测试和优化1.测试:将倒车防撞预警系统连接到倒车车辆上,进行实际测试。
测试过程中要注意校准超声波传感器和LCD显示屏的正确读数,以及蜂鸣器声音的预警效果。
2.优化:根据实际测试结果优化系统设计,可考虑加入其他传感器,如摄像头等,提高系统的准确性和可靠性。
基于单片机的倒车防撞预警系统设计和实现倒车雷达电路种类较多,本文介绍基于单片机控制的倒车雷达系统,该系统采用通用型单片机作为控制电路,方便系统功能扩展。
系统电路主要采用集成器件构成,外围元件少,电路简洁、调试方便、成本低,利于商品化生产。
0 引言汽车倒车防撞预警系统即是俗称的倒车雷达,是汽车泊车辅助装置。
在汽车倒车时,倒车雷达采用超声波测距原理探测汽车尾部离障碍物的距离,当汽车尾部离障碍物的距离达到探测范围时,倒车雷达通过数码管实时动态显示距离。
当汽车尾部离障碍物的距离达到设定的安全警告值时,倒车雷达发出报警声,以警示驾驶员,辅助驾驶员安全倒车。
现在生产的中高档小轿车大多数都配置有倒车雷达,而出于节省成本等方面的考虑,经济型小轿车、大客车等其他车辆都没有配置倒车雷达。
有市场需求的产品,必然会带动产品的开发设计。
1 系统组成及工作原理倒车防撞预警系统由四路收发一体封闭(防水)型超声波传感器及其超声波发射与回波接收电路、超声波电信号放大电路、单片机控制电路、LED数码管显示电路和蜂鸣器声音报警电路组成。
系统组成框图如图1所示。
当汽车倒车时由倒车换挡装置自动接通系统电源,系统上电复位,进入工作状态。
单片机编程产生一串40 kHz的矩形脉冲电压,经四选一模拟开关加到超声波发射与回波接收电路,经放大驱动超声波传感器发射出超声波,同时单片机开始计时。
发射出的超声波碰到障碍物后形成反射波,部分反射波返回作用于超声波传感器,经超声波传感器的声/电转换,变成微弱的电信号,该微弱的电信号经放大、整形产生负跳变电压,向单片机发出中断申请。
单片机收到中断申请的信号后,立即响应中断,执行外部中断服务程序,停止计时,得到超声波发送和返回的时间T,计算出发射点离障碍物的距离S,即:S=(C·T)/2。
C是超声波在空气中的传播速度,在常温25℃时,C约为346 m/s。
若发射出的超声波在测距范围内未遇到障碍物,直到单片机定时中断产生,执行定时中断服务程序,选择下一路,依次按后左路、后左中路、后右中路、后右路的顺序继续发射和接收超声波,并经过计算处理。
四路探测处理完毕,选择四路中测出的最小距离值通过LED数码管显示出来。
当最小距离值小于预先设定的报警距离时,单片机接通蜂鸣器的电源,蜂鸣器发出报警声。
若四路探测无回波中断申请,则显示“-.--”,表明在安全距离内没有障碍物,再继续下一轮的循环探测处理。
2 系统硬件电路的设计2.1 超声波发射与回波接收电路超声波发射与回波接收电路的主要作用是提高驱动超声波传感器的脉冲电压幅值,有效地进行电/声转换,增大超声波的发射距离,并通过收发一体的超声波传感器将返回的超声波转变成微弱的电信号。
超声波发射与回波接收电路如图2所示(画出一路,其他三路与该路一样)。
EFR40RS是收发一体封闭(防水)型超声波传感器,其中心频率f0=(40.0±1.0)kHz,-3 dB带宽1 kHz。
驱动电压峰一峰值要求60~150 V。
CD4052是双路四选一模拟开关,单片机的P3.4和P3.5端口输出选通信号,单片机的P3.3端口输出一串40 kHz的脉冲电压,通过CD4052的X路加到选通的开关三极管Q1基极,经脉冲变压器T1升压至100 VP-P左右,驱动超声波传感器EFR40RS发射超声波。
发射时的脉冲电压幅值大小直接影响测距的远近,应采用超声波专用的脉冲变压器。
反射回的超声波经原收发一体封闭型超声波传感器变成毫伏级的一串脉冲电信号。
由于回波电信号的幅值小,VD3和VD4二极管截止,该信号不会通过T1变压器副边线圈形成短路。
VD1和VD2二极管也截止,所以回波电信号经R1和C1,通过CD4052的Y路送到超声波电信号放大与整形电路。
R1和VD1,VD2组成双向限幅电路,避免发射时的大信号造成超声波放大与整形电路阻塞,甚至损坏电路。
2.2 超声波电信号放大电路超声波电信号放大电路采用集成电路CX20106A构成。
CX20106A是日本索尼公司生产的红外遥控信号接收集成电路。
通过外部所接电阻,将其内部带通滤波电路的中心频率f0设置为40 kHz,就可以接收放大超声波电信号,并整形输出负脉冲电压。
应用电路如图3所示。
1脚是超声波电信号输入端,2脚与地之间连接RC串联网络,是内部前置放大电路负反馈网络的组成部分。
电阻R5的数值确定前置放大电路的增益。
R5电阻值减小,负反馈减弱,放大倍数增大;反之,则放大倍数减小。
3脚与地之间连接检波电容C3,适当改变电容C3的大小,可以改变超声波电信号放大和整形电路的灵敏度和抗干扰能力。
C3电容量大,灵敏度低,抗干扰能力强;C3容量小,灵敏度高,抗干扰能力弱,易造成误动作。
5脚与电源间接入一个电阻,用以设置内部带通滤波电路的中心频率f0。
当R6=200 kΩ时,f0=40 kHz。
6脚与地之间接一个积分电容,标准值为330 pF。
如果该电容值取得太大,会使探测距离变短。
7脚是电路集电极开路输出端,R7是该引脚的上拉电阻。
集成电路CX20106A无信号输入时,7脚输出高电平,当输入的超声波电信号经放大、整形后,7脚输出一个负脉冲电压。
2.3 单片机控制电路和显示、报警电路电路如图4所示。
由于系统用到单片机的输入/输出端口不多,在不考虑功能扩展时,从功能够用和低成本的角度考虑,采用A T89C2051单片机作为控制电路的核心器件。
AT89C2051单片机共有20个引脚,其中有15个I/O端口(P3.6无引出脚)。
两个16位定时器/计数器,其体积小、价格低。
采用12 MHz高精度的晶振,以获得较稳定的时钟频率,减小测量误差。
单片机的P3.3端口周期性的输出一串40 kHz的矩形脉冲,通过双路四选一模拟开关CD4052周期性地加到四路超声波发射与回波接收电路。
单片机的P3.4和P3.5端口输出双路四选一模拟开关CD4052的选通信号。
单片机的P3.2端口为外部中断0中断申请信号输入端。
三位LED数码管采用动态扫描显示。
U4的小数点常亮,U4的单位为m,U5的单位为dm,U6的单位为cm。
采用有源蜂鸣器作为报警发音器件,一是器件成本低,二是便于动态扫描显示的软件编程。
3 系统软件的设计系统软件采用模块化设计,方便扩展移植。
采用汇编语言编程。
主要有主程序、T0中断服务程序、外部中断0服务程序、超声波发生子程序。
3.1 主程序本系统有四路测距通道,采用分时工作,按后左一后左中一后右中一后右顺序循环测距。
每一路发射超声波后的等待外部中断时间应大于超声波在最大有效探测距离内往返时间。
所以按最大有效探测距离可以估算出最短的循环间隔时间。
因为超声波在空气中传播能量会不断衰减,所以超声波测距存在最大有效探测距离。
这最大有效探测距离与多种因数有关:与超声波传感器性能的好坏、与驱动超声波传感器的脉冲电压幅值(功率)的大小、障碍物大小和形状、障碍物吸波特性以及反射波与入射波之间的夹角、与超声波放大和整形电路的灵敏度等有关。
设定最大有效探测距离为8 m(收发一体封闭型超声波传感器比较难达到,实际上也没有必要探测很远的障碍物,只是设计留有裕量。
由于显示位数有限,也必须对最大探测距离做限制),则循环工作的间隔时间Tm=2S/C=2×8/346A46 ms,加上避免接收超声波传感器余振的延时和程序执行时间,留足裕量,设定Tm△56 ms。
主程序流程图如图5所示。
首先是对系统初始化。
端口p1.0、P3.3置0;设置堆栈,中断允许总控制位EA允许中断(EA=1);允许外部中断0中断(EX0=1),采用边沿触发方式(IT0=1);设置定时器T0允许中断(ET0=1),以16位工作方式定时约56 ms;设置定时器T1以16位工作方式定时/计数,计数初值0000H,然后启动T0定时。
设置显示数据初值为三位BCD码999(cm),对应字形段码显示“---”。
四路探测处理完毕后,将四组数据中的最小值送入显示缓冲区,通过LED数码管显示。
同时该值与设定的100 cm值比较,若四组数据中的最小值小于100 cm,P3.7端口置0,Q2三极管导通,有源蜂鸣器得电发出报警声。
由于单片机采用12 MHz的晶振,1个机器周期为1μs,所以计数器每计一个数就是1μs,定时器T1工作模式设置为16位定时/计数器模式,则其最大定时65.536 ms。
由于定时器T0每56 ms产生中断,执行T0中断服务程序时停止T1计时,所以T1计时不会产生溢出中断。
一轮四路探测处理完毕所用时间大约是56 ms×4=224 ms,用时很短,而倒车速度又比较慢,所以可以做到实时动态显示。
3.2 T0中断服务程序T0中断服务程序流程图如图6所示。
每隔56 ms分别按后左→后左中→后右中→后右顺序选通下一路超声波发射与回波接收电路,调用超声波发生子程序,送出16个40 kHz的超声波脉冲电压,定时器T1开始计时,定时器T0开始定时56 ms,使每路工作56 ms。
为了避免接收到超声波传感器余振的直射波产生的中断申请,延时2.8 ms后,才允许外部中断0中断,等待接收返回的超声波信号。
所以,最小探测距离(盲区)Smin=Ct/2=346×0.002 8/2△0.48 m。
四路探测处理完毕,将四路中最小值送入显示缓冲区。
若在四路探测中有些路在有效探测范围内发射的超声波未遇障碍物,无返回波,外部中断0不产生中断申请信号,或者是进入探测盲区,外部中断0产生的中断申请不被受理,则定时器T1计时到定时器T0产生中断,在T0中断服务程序中,用三位BCD码999(三位十进制数最大值999 cm)置够四组数据。
若显示缓冲区的四组数据都是999时,则对应字形段码显示“---”。
倒车伊始,LED数码显示器就显示“-.--”,表明在安全距离内没有障碍物;若发出报警声后,又显示“-.--”,表明进入了探测盲区。
3.3 外部中断0服务程序外部中断O服务程序流程图如图7所示。
单片机一旦接收到返回超声波信号(即INT0引脚由高电平跳变为低电平),立即进入外部中断0服务程序。
首先停止定时器T1计时,禁止外部中断0中断。
然后将定时器T1中的数N,也即将超声波往返所用的时间N(单位:μs),按式S=CT/2=(346 x N×10-6)/2=173×N÷10 000计算,即得被测物的距离(单位:cm),将计算结果以百位、十位、个位BCD码方式送入比较大小的缓冲区,以备比较大小使用。
然后等待定时器T0定时56 ms中断的产生,继续下一路的探测处理。
3.4 超声波发生子程序超声波发生子程序通过P3.3端口发送16个周期是25μs(即频率40 kHz,1个周期内高电平持续13μs、低电平持续12 μs)的矩形脉冲电压。