数字化汽车防撞测距仪设计.docx
《数字化汽车防撞测距仪设计.docx》由会员分享,可在线阅读,更多相关《数字化汽车防撞测距仪设计.docx(22页珍藏版)》请在冰豆网上搜索。
![数字化汽车防撞测距仪设计.docx](https://file1.bdocx.com/fileroot1/2023-2/7/5cdf94bd-ec00-4a56-acd9-05210a250c31/5cdf94bd-ec00-4a56-acd9-05210a250c311.gif)
数字化汽车防撞测距仪设计
目录
1、设计背景2
2、数字化汽车防撞测距仪总体设计方案3
2.1硬件方面3
2.2软件方面4
3超声波的原理5
3.1超声波5
3.2超声波的产生5
3.3超声波的主要参数5
4硬件电路设计6
4.1系统结构与检测距离工作原理6
4.2超声波发生电路设计7
4.3超声波接收电路设计8
4.4A/D转换电路设计9
4.4.1芯片74LS2459
4.4.2LED数码管10
4.4.3AD转换12
4.5报警电路设计13
4.6单片机89C51控制电路设计13
5、软件设计16
5.1软件执行的工作过程16
5.2系统总体设计流程图18
5.3超声波接受和发射子程序设计19
5.4嗡鸣器报警和LED显示子程序设计19
6、设计必得与体会21
参考文献22
附页23
1、设计背景
随着科学技术的快速发展,超声波将在测距仪中的应用越来越广。
但就目前技术水平来说,人们可以具体利用的测距技术还十分有限,因此,这是一个正在蓬勃发展而又有无限前景的技术及产业领域。
展望未来,超声波测距仪作为一种新型的非常重要有用的工具在各方面都将有很大的发展空间,它将朝着更加高定位高精度的方向发展,以满足日益发展的社会需求,如声纳的发展趋势基本为:
研制具有更高定位精度的被动测距声纳,以满足水中武器实施全隐蔽攻击的需要;继续发展采用低频线谱检测的潜艇拖曳线列阵声纳,实现超远程的被动探测和识别;研制更适合于浅海工作的潜艇声纳,特别是解决浅海水中目标识别问题;大力降低潜艇自噪声,改善潜艇声纳的工作环境。
无庸置疑,未来的超声波测距仪将与自动化智能化接轨,与其他的测距仪集成和融合,形成多测距仪。
随着测距仪的技术进步,测距仪将从具有单纯判断功能发展到具有学习功能,最终发展到具有创造力。
在新的世纪里,面貌一新的测距仪将发挥更大的作用。
由于汽车工业的发展和现在社会生活节奏的不断提高,汽车在全社会特别是在我国的使用数量会不断增加。
这样对于汽车的安全行使提了更高的要求,在我国,由于城市人口的拥挤以及道路的狭窄,汽车的行进提出了方便的同时也带来了安全上的问题。
汽车防撞系统能使汽车在前进或倒车的时候,让司机看到车外的所有物体(人)及物体(人)离汽车的,真实距离,同时还可以在汽车靠近物体(人)的时候发出报警信号,从而避免汽车撞上人或物体,增强汽车的安全性,保障人们的正常生活,提供汽车行进的安全性。
这样就使汽车具有一双智能化的“电子眼”,
即超声波传感器达到近距离报警的设计。
2、数字化汽车防撞测距仪总体设计方案
本设计主要运用AT89C51的相关原理进行软件编程,通过硬件和软件相结合达到测距通过LED显示和嗡鸣器报警提示驾驶员。
2.1硬件方面
本设计在硬件电路方面主要有超声波发送电路、超声波接收电路、LED显示电路、报警电路几部份组成。
超声波接收电路如图1所示。
图1超声波接收电路
超声波发送电路如图2所示。
图2超声波发射电路
LED数码显示电路如图3所示。
图3LED数码显示电路
报警电路如图4所示。
图4报警电路
2.2软件方面
本设计主要通过编程对89C51的P1.0口输出控制起动超声波发生器发出超声波,51里同时起动定时器,此时就等待外部中断0的中断,如果P3.2有中断输入,则停止计时,此时起动计算程序,运用海伦公式计算距离,计算出距离之后用LED数码管进行显示,同时把数据进行比较,如果在倒车时障碍物小于1m或者在前进时小于30米,则发出报警信号。
然后外回开始断续运行,如果不用报警,也返回开始断续运行。
3超声波的原理
3.1超声波
超声波是频率高于20000赫兹的声波,它方向性好,穿透能力强,易于获得较集中的声能,在水中传播距离远,可用于测距,测速,清洗,焊接,碎石、杀菌消毒等。
在医学、军事、工业、农业上有很多的应用。
超声波因其频率下限大约等于人的听觉上限而得名。
科学家们将每秒钟振动的次数称为声音的频率,它的单位是赫兹。
我们人类耳朵能听到的声波频率为20~20000赫兹。
当声波的振动频率大于20000赫兹或小于20赫兹时,我们便听不见了。
因此,我们把频率高于20000赫兹的声波称为“超声波”。
3.2超声波的产生
声波是物体机械振动状态(或能量)的传播形式。
所谓振动是指物质的质点在其平衡位置附近进行的往返运动。
譬如,鼓面经敲击后,它就上下振动,这种振动状态通过空气媒质向四面八方传播,这便是声波。
超声波是指振动频率大于20000Hz以上的,其每秒的振动次数(频率)甚高,超出了人耳听觉的上限(20000Hz),人们将这种听不见的声波叫做超声波。
超声和可闻声本质上是一致的,它们的共同点都是一种机械振动,通常以纵波的方式在弹性介质内会传播,是一种能量的传播形式,其不同点是超声频率高,波长短,在一定距离内沿直线传播具有良好的束射性和方向性,目前腹部超声成象所用的频率范围在2∽5兆Hz之间,常用为3∽3.5兆Hz(每秒振动1次为1Hz,1兆Hz=10^6Hz,即每秒振动100万次,可闻波的频率在16-20,000HZ之间)。
超声波是声波大家族中的一员。
3.3超声波的主要参数
超声波的两个主要参数:
频率:
F≥20KHz;功率密度:
p=发射功率(W)/发射面积(cm2);通常p≥0.3w/cm2;在液体中传播的超声波能对物体表面的污物进行清洗,其原理可用“空化”现象来解释:
超声波振动在液体中传播的音波压强达到一个大气压时,其功率密度为0.35w/cm2,这时超声波的音波压强峰值就可达到真空或负压,但实际上无负压存在,因此在液体中产生一个很大的压力,将液体分子拉裂成空洞一空化核。
此空洞非常接近真空,它在超声波压强反向达到最大时破裂,由于破裂而产生的强烈冲击将物体表面的污物撞击下来。
这种由无数细小的空化气泡破裂而产生的冲击波现象称为“空化”现象。
太小的声强无法产生空化效应。
4硬件电路设计
4.1系统结构与检测距离工作原理
汽车防撞系统主要由超声波收发装置、单片机CPU控制、测温装置、报警装置、液晶显示接口等5部分组成,如图7所示。
系统检测距离的原理是通过单片机发出40kHz的方波串后,检测接收端是否接收遇障碍物反射的回波,同时利用单片机计算出收到回波所用的时间t和确定超声波所处温度下空气传播的速度v,其关系如表1所示,则障碍物到汽车尾部距离为v×t/2,根据测出来的相应距离,通过CPU计算后判断作出报警响应、液晶显示等相应的控制。
图7系统的结构
为了能够实现准确地测出障碍物到汽车的尾部的距离,尽量减少误差,采取算法为:
两对超声波收发传感器分别安装在车尾,两者相隔1.6m,如图5所示,
图5海伦公式原理图
A,B分别代表两对超声波收发器,AB=1.6m,假设F代表障碍物,声波的传播速度为v,由于声波传播是来回反射的,则
也就是只要把时间
与
确定下来就可以计算出BF与AF,然后利用海伦公式(海伦公式又译作希伦公式、海龙公式、希罗公式、海伦-秦九韶公式,传说是古代的叙拉古国王希伦(Heron,也称海龙)二世发现的公式,利用三角形的三条边长来求取三角形面积。
但根据MorrisKline在1908年出版的著作考证,这条公式其实是阿基米德所发现,以托希伦二世的名发表(未查证)。
我国宋代的数学家秦九韶也提出了“三斜求积术”,它与海伦公式基本一样。
假设有一个三角形,边长分别为a、b、c,三角形的面积S可由以下公式求得:
而公式里的p为半周长:
),设
有
这就可以求出△ABC的面积为S,则
其中EF就是汽车的尾部到障碍物的距离。
表1温度与速度对应关系
表1超声波在空气中的传播速度与温度的关系
温度/
-20
-10
0
10
20
30
40
波速/(
)
391
325
333
338
344
349
354
图6超声波测距系统结构框图
4.2超声波发生电路设计
超声波发射电路原理图如图2所示。
发射电路主要由反相器74LS04和超声波发射换能器T构成,单片机P1.0端口输出的40kHz的方波信号一路经一级反向器后送到超声波换能器的一个电极,另一路经两级反向器后送到超声波换能器的另一个电极,用这种推换形式将方波信号加到超声波换能器的两端,可以提高超声波的发射强度。
输出端采两个反向器并联,用以提高驱动能力。
上位电阻R1O、R11一方面可以提高反向器74LS04输出高电平的驱动能力,另一方面可以增加超声波换能器的阻尼效果,缩短其自由振荡时间。
其引脚图如图7所示。
图774LS04引脚图
其中74LS04反向器,其使用的极限值:
电源电压最高7V,工作环境温度为(-55~125)℃,存储温度为(-65~150)℃。
4.3超声波接收电路设计
集成电路TA8141S是一款红外线检波接收的专用芯片,常用于电视机红外遥控接收器。
考虑到红外遥控常用的载波频率38kHz与测距的超声波频率40kHz较为接近,可以利用它制作超声波检测接收电路(如图1)。
实验证明用TA8141S接收超声波(无信号时输出高电平),具有很好的灵敏度和较强的抗干扰能力。
适当更改电容C4的大小,可以改变接收电路的灵敏度和抗干扰能力。
其电路图如图1所示。
其中TA8141S是信号放大与滤波作用,其1脚为空脚,它的简单介绍如下:
图8TA8141S引脚图
各引脚功能介绍
1脚:
空脚。
2脚:
超声波信号输入端,该脚的输入阻抗约为40kΩ
3脚:
该脚与地之间连接RC串联电路,它们是负反馈串联网络的一个组成部分,改变它们的数值能改变前置放大器的增益和频率特性。
增大电阻R1或减小C1,将使负反馈量增大,放大倍数下降,反之则放大倍数增大。
但C1的改变会影响到频率特性,一般在实际使用中不必改动,推荐选用参数为R1=4.7Ω,C1=1μF。
4脚:
该脚与地之间连接检波电容,电容量大为平均值检波,瞬间相应灵敏度低;若容量小,则为峰值检波,瞬间相应灵敏度高,但检波输出的脉冲宽度变动大,易造成误动作,推荐参数为3.3μf。
5脚:
接地端。
6脚:
该脚与电源间接入一个电阻,用以设置带通滤波器的中心频率f0,阻值越大,中心频率越低。
例如,取R=200kΩ时,f0≈42kHz,若取R=220kΩ,则中心频率f0≈38kHz。
7脚:
该脚与地之间接一个积分电容,标准值为330pF,如果该电容取得太大,会使探测距离变短。
8脚:
遥控命令输出端,它是集电极开路输出方式,因此该引脚必须接上一个上拉电阻到电源端,推荐阻值为22kΩ,没有接受信号是该端输出为高电平,有信号时则产生下降。
9脚:
电源正极,4.5~5V。
4.4A/D转换电路设计
在前面程序计算出所测的距离同时,通过A/D0809,把模拟信号转换成数字信号通过LED数码显示,其电路图如图3所示。
其中芯片相关介绍如下:
4.4.1芯片74LS245
74LS245是我们常用的芯片,用来驱动LED或者其他的设备,它是8路同相三态双向总线收发器,可双向传输数据。
74LS245还具有双向三态功能,既可以输出,也可以输入数据。
当8051单片机的P0口总线负载达到或超过P0最大负载能力时,必须接入74LS245等总线驱动器。
当片选端/CE低电平有效时,DIR=“0”,信号由B向A传输;(接收)
DIR=“1”,信号由A向B传输;(发送)当/CE为高电平时,A、B均为高阻态。
由于P2口始终输出地址的高8位,接口时74LS245的三态控制端/1G和/2G接地,P2口与驱动器输入线对应相连。
P0口与74LS245输入端相连,/E端接地,保证数据现畅通。
8051的/RD和/PSEN相与后接DIR,使得/RD或/PSEN有效时,74LS245输入(P0.i←Di),其它时间处于输出(P0.i→Di)。
图974LS245引脚图
4.4.2LED数码管
图10LED数码管
LED数码管(LEDSegmentDisplays)是由多个发光二极管封在在一起组成“8”字型的器件,引线已在内部连接完成,只需引出它们的各个笔划,公共电极。
LED数码管常用段数一般为7段有的另加一个小数点,位数有半位,1,2,3,4,5,6,8,10位等等....,LED数码管根据LED的接法不同分为共阴和共阳两类。
根据数码管的驱动方式的不同,可以分为静态式和动态式两类。
①静态显示驱动:
静态驱动也称直流驱动。
静态驱动是指每个数码管的每一个段码都由一个单片机的I/O端口进行驱动,或者使用如BCD码二-十进制译码器译码进行驱动。
静态驱动的优点是编程简单,显示亮度高,缺点是占用I/O端口多,如驱动5个数码管静态显示则需要5×8=40根I/O端口来驱动,要知道一个89S51单片机可用的I/O端口才32个呢:
),实际应用时必须增加译码驱动器进行驱动,增加了硬件电路的复杂性。
②动态显示驱动:
数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划"a,b,c,d,e,f,g,dp"的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。
通过分时轮流控制各个数码管的COM端,就使各个数码管轮流受控显示,这就是动态驱动。
在轮流显示过程中,每位数码管的点亮时间为1~2ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O端口,而且功耗更低。
LED数码有共阳和共阴两种,把这些LED发光二极管的正极接到一块(一般是拼成一个8字加一个小数点)而作为一个引脚,就叫共阳的,相反的,就叫共阴的,那么应用时这个脚就分别的接VCC和GND。
再把多个这样的8字装在一起就成了多位的数码管了。
找公共共阴和公共共阳,首先,我们找个电源|稳压器(3到5伏)和1个1K(几百欧的也行)的电阻,VCC串接个电阻后和GND接在任意2个脚上,组合有很多,但总有一个LED会发光的,找到一个就够了,然后用GND不动,VCC(串电阻)逐个碰剩下的脚,如果有多个LED(一般是8个),那它就是共阴的了。
相反用VCC不动,GND逐个碰剩下的脚,如果有多个LED(一般是8个),那它就是共阳的了。
一般四位数码管,有四个引脚控制选取哪一位数码管(位选),还有8位段选是公用的,就是当位选为第一位时,段选码只对第一位点亮那些段有关,同理选中第二个位时,段码只对第二位有效,依此类推。
一般硬件结构确定后,就会出现段码位码的说法。
比如说四个位选引脚分别连接单片机p1.01.11.21.3,发光管是共阳,那么第一位的位码是xxxx0001;第二位是xxxx0010;第三位是xxxx0100;第四位是xxxx1000;这样我在显示时,如果显示第一位数据,则往p1口送xxxx0010,再送第一位的段码。
4.4.3A/D转换
ADC0809是CMOS单片型逐次逼近式A/D转换器,它由8路模拟开关、地址锁存与译码器、比较器、8位开关树型D/A转换器、逐次逼近。
其引脚功能是ADC0809芯片有28条引脚,采用双列直插式封装,如图11所示。
下面说明各引脚功能。
IN0~IN7:
8路模拟量输入端。
2-1~2-8:
8位数字量输出端。
ADDA、ADDB、ADDC:
3位地址输入线,用于选通8路模拟输入中的一路ALE:
地址锁存允许信号,输入,高电平有效。
START:
A/D转换启动脉冲输入端,输入一个正脉冲(至少100ns宽)使其启动(脉冲上升沿使0809复位,下降沿启动A/D转换)。
EOC:
A/D转换结束信号,输出,当A/D转换结束时,此端输出一个高电平(转换期间一直为低电平)。
OE:
数据输出允许信号,输入,高电平有效。
当A/D转换结束时,此端输入一个高电平,才能打开输出三态门,输出数字量。
CLK:
时钟脉冲输入端。
要求时钟频率不高于640KHZ。
REF(+)、REF(-):
基准电压。
Vcc:
电源,单一+5V。
GND:
地。
其内部结构和引脚图如图3所示。
图11ADC0809内部结构图和引脚图
4.5报警电路设计
根据本设计,当这个仪器安装在车的前面时候,测量的距离小于50m时,发出报警信号,当安装在车的后面的时候,测量的距离小于1m时,发出报警信号。
在电路中主要通过置P2.1为1实现,当满足我们所设置的条件时候,则置P2.1为1,所以P2.1为高电平,驱动三级管导通,则嗡鸣器导通,这时候发出报警信号,其电路图如图4所示。
4.6单片机89C51控制电路设计
5l系列单片机中典型芯片(AT89C51)采用40引脚双列直插封装(DIP)形式,内部由CPU,4kB的ROM,256B的RAM,2个16b的定时/计数器TO和T1,4个8b的工/O端I:
IP0,P1,P2,P3,一个全双功串行通信口等组成。
特别是该系列单片机片内的Flash可编程、可擦除只读存储器(E~PROM),使其在实际中有着十分广泛的用途,在便携式、省电及特殊信息保存的仪器和系统中更有用。
图12AT89C51引脚与封装图
89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—FalshProgrammableandErasableReadOnlyMemory)的低电压,高性能CMOS8位微处理器,俗称单片机。
89C2051是一种带2K字节闪烁可编程可擦除只读存储器的单片机。
单片机的可擦除只读存储器可以反复擦除100次。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的89C51是一种高效微控制器,89C2051是它的一种精简版本。
89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
1.主要特性:
4K字节可编程闪烁存储器,全静态工作:
0Hz-24Hz,三级程序存储器锁定,128*8位内部RAM,32可编程I/O线,两个16位定时器/计数器,5个中断源,可编程串行通道,低功耗的闲置和掉电模式,片内振荡器和时钟电路
2.管脚说明:
VCC:
供电电压。
GND:
接地。
P0口:
P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。
当P1口的管脚第一次写1时,被定义为高阻输入。
P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。
在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。
P1口:
P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。
P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。
在FLASH编程和校验时,P1口作为第八位地址接收。
P2口:
P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。
并因此作为输入时,P2口的管脚被外部拉低,将输出电流。
这是由于内部上拉的缘故。
P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。
在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。
P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
P3口:
P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。
当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。
作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。
P3口也可作为AT89C51的一些特殊功能口,如下表所示:
P3.0RXD(串行输入口);P3.1TXD(串行输出口);P3.2/INT0(外部中断0);P3.3/INT1(外部中断1);P3.4T0(记时器0外部输入);P3.5T1(记时器1外部输入);P3.6/WR(外部数据存储器写选通);P3.7/RD(外部数据存储器读选通);P3口同时为闪烁编程和编程校验接收一些控制信号。
RST:
复位输入。
当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
其复位电路图如图13所示。
图13复位电路图
ALE/PROG:
当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。
在FLASH编程期间,此引脚用于输入编程脉冲。
在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。
因此它可用作对外部输出的脉冲或用于定时目的。
然而要注意的是:
每当用作外部数据存储器时,将跳过一个ALE脉冲。
如想禁止ALE的输出可在SFR8EH地址上置0。
此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。
另外,该引脚被略微拉高。
如果微处理器在外部执行状态ALE禁止,置位无效。
/PSEN:
外部程序存储器的选通信号。
在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。
但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。
/EA/VPP:
当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。
注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。
在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。
XTAL1:
反向振荡放大器的输入及内部时钟工作电路的输入。
XTAL2:
来自反向振荡器的输出。
3.振荡器特性:
XTAL1和XTAL2分别为反向放大器的输入和输出。
该反向放大器可以配置为片内振荡器。
石晶振荡和陶瓷振荡均可采用。
如采用外部时钟源驱动器件,XTAL2应不接。
有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。
其电路图如图14所示。
图14晶振电路图
4.芯片擦除:
整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10ms来完成。
在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。
此外,AT89C51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。
在闲置模式下,CPU停止工作。
但RAM,定时器,计数器,串口和中断系统仍在工作。
在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。
5.结构特点:
8位CPU;片内振荡器和时钟电路;32根I/O线;外部存贮器寻址范围ROM、RAM64K;2个16位的定时器/计数器;5个中断源,两个中断优先级;全双工串行口;布尔处理器;
5l系列单片机提供以下功能:
4kB存储器;256BRAM;32条工/O线;2个16b定时/计数器;5个2级中断源;1个全双向的串行口以及时钟电路。
空闲方式:
CPU停止工作,而让RAM、定时/计数器、串行口和中断系统继续工作。
掉电方式:
保存RAM的内容,振荡器停振,禁止芯片所