基于单片机的超声波测距系统.docx
- 文档编号:11746182
- 上传时间:2023-03-31
- 格式:DOCX
- 页数:25
- 大小:620.18KB
基于单片机的超声波测距系统.docx
《基于单片机的超声波测距系统.docx》由会员分享,可在线阅读,更多相关《基于单片机的超声波测距系统.docx(25页珍藏版)》请在冰豆网上搜索。
基于单片机的超声波测距系统
数理与信息工程学院
《单片机原理及应用》期末课程设计
题目:
基于单片机的超声波测距系统
专业:
电子信息工程
班级:
电信041班
姓名:
姚富杰
学号:
04610128
指导老师:
余水宝
成绩:
15,行距也没全对,自己的东西少
2007.1
目录
第1节引言…………………………………………………………………………3
1.1超声波测距系统概述…………………………………………………………3
1.2本设计任务和主要内容………………………………………………………4
第2节系统主要硬件电路设计………………………………………………………5
2.1方法论证与比较………………………………………………………………5
2.2超声波测距系统原理…………………………………………………………6
2.3单片机主机系统电路…………………………………………………………6
2.3.1时钟电路………………………………………………………………7
2.3.2复位电路………………………………………………………………7
2.3.3数据存储器的扩展电路………………………………………………8
2.4超声波发射电路………………………………………………………………8
2.5超声波接收电路………………………………………………………………9
2.6数据采集电路…………………………………………………………………11
2.7LED显示系统电路……………………………………………………………12
2.8超限报警电路…………………………………………………………………14
第3节系统软件设计…………………………………………………………………16
3.1系统主程序设计………………………………………………………………16
3.240KHZ脉冲的产生和超声波的发射…………………………………………18
3.3超声波的接收和处理…………………………………………………………19
3.4超声波传波时间的计算………………………………………………………19
3.5LED动态显示程序……………………………………………………………19
第4节结束语…………………………………………………………………………22
参考文献…………………………………………………………………………23
基于单片机的超声波测距系统
数理与信息工程学院04电子信息工程姚富杰
指导教师:
余水宝
第1节引言
在科学研究很工程实践中,经常会遇到非接触测量距离的问题。
利用超声波作为定位技术是蝙蝠等一些没有目视能力的生物作为防御及捕捉猎物生存的手段,也就是由生物体发射不被人们听到的超声波(20KHZ以上的机械波),借助空气媒介传波,由障碍物反射回来的时间间隔长短与被发射的超声波的强弱判断障碍物性质或障碍位置的方法。
由于超声波的速度相对于光速来说要小的多,其传波时间就比较容易检测,并且易于定向发射,方向性好,强度好控制,因而人类利用仿真技能进行超声波测距。
超声波测距是一种利用声波特性、电子计数、光电开关相结合来实现非接触式距离测量的方法,在日常生活中具有广泛的用途。
例如:
用人造超声源在海水里发射,由回射超声波进行探测海洋潜艇位置、鱼群以及确定海底的暗礁等障碍物形状及远近。
利用人造超声波在固体里传播的时间确定物体的长度以及超声波在固体里遇到障碍物界面上的反射波来确定物体内部损伤(如裂缝、气孔及杂质等)位置,即无损探伤。
本文所论述的超声波测距系统主要由声波发射电路,回波接收电路和PC机数据采集系统以及温度检测电路,灵活性强,可靠性高,计算简单,易于做到实时控制等优点。
1.1超声波测距系统概述
单片机发出超声波测距是通过不断检测超声波发射后遇到障碍物所反射的回波,从而测出发射和接收回波的时间差,然后计算出相应的距离。
超声波测距系统由于不受光线、电磁波、粉尘等的影响,其精度能达到厘米数量级的工程测距精度等的优点,在桥梁、隧道、涵洞等的距离检测中占有一定的优势。
在日常车道保障与维护过程中,工程车、充气车、电源车、加油车等诸多车辆常常需要在停车坪附近穿行、掉头或倒车。
由于这些低速行驶的车辆之间非常接近,驾驶员的视野颇受限制,碰撞事故时有发生,在夜晚时则更显突出。
利用超声波测距系统,可以有效地提高车辆在保障和维护过程中的安全性和可靠性。
随着生活水平的不断提高,汽车进入家庭的消费意识的不断增强。
中国城市汽车的保有量迅速增加。
随之而来的是交通事故与日俱增,城市里尤其突出。
发展智能交通系统是二十一世纪交通运输的重要发展方向。
智能交通系统在充分发挥现有基础设施的潜力,提高运输效率。
保障交通安全,缓解交通堵塞,改善城市环境等方面的卓越效能,已得到各级政府的广泛关注。
我国政府也开始高度重视智能交通系统的研究开发与推广应用。
因此智能型的测距系统的开发应用与汽车领域将起到非常大的作用,将有效地缓解交通压力,减少交通事故的发生率。
超声波测距系统的应用不仅仅大大减轻了测距人员的工作强度,对许多常规测量所无法实现的检测进行因能进行有效地测量,进一步扩大了测量的广度,而且超声波测量本身具有很高的测量精度,因此对精度的提高也起到了一定的作用。
智能型超声波测距系统是进行交通管理的有效手段和工具,它可提高车辆距离检测的准确性,有利于交通运输的科学管理,降低对驾驶人员本身的素质要求。
除了能
大大减少工作量,更重要的是它能准确、定时、定量、高效地对距离进行测量。
现代超声波测距仪的研究使用在我国汽车行业还为数不多,与发达国家相比,有较大的差距,还基本停留在初级阶段,即使有些高档车配置有测距系统,也仅仅是少部分的进口车。
随着计算机技术和传感器技术的迅猛发展,计算机和传感器的价格日益降低,可靠性日益提高,用信息技术改造农业不仅是可能的而且是必要的。
将高新技术应用与汽车产业,实施实时监测已成为我国汽车工业以及交通部门的一项重要任务,是减少我国交通事故发生的重要措施之一。
本文旨在设计一种能对中近距离障碍物进行实时测量的测距装置,它能对障碍物进行适时、适量的测量,起到智能操作,实时监控的作用。
1.2设计任务和主要内容
本论文主要研究基于单片机的超声波测距系统,分别对超声波发生电路、回波接收电路、数据采集电路、数码显示电路、报警电路及系统设备的软、硬件各个部分进行了研究。
主要内容如下:
1、系统硬件电路的设计
1)根据测距技术的特点,进行超声波测距系统的整体研究与设计。
2)针对超声波测距系统的整体功能对各个模块电路。
3)对超声波发生电路进行论证和设计,产生用于测量的超声波。
4)对超声波接收电路进行论证和设计,接收反射回来的超声波。
5)进行数据采样电路的设计和分析,对发送和接收波的时间进行测量,计算距离。
6)LED数码显示测量的距离值,以文字显示的方式显示测量的距离。
7)当车辆之间的距离低于设定的最低值时,系统将进行自动语音报警。
2、系统软件的设计
1)系统主程序的设计。
2)发送、接收子程序的设计。
3)数据采样程序的设计。
4)LED显示程序的设计。
5)报警程序。
第2节系统主要硬件电路设计
2.1方法论证与比较
目前常用的测量距离的方法主要有:
激光测距、电磁波测距、声波测距等。
激光测距一般采用两种方式来测量距离:
脉冲法和相位法。
脉冲法测距的过程是这样的:
测距仪发射出的激光经被测量物体的反射后又被测距仪接收,测距仪同时记录激光往返的时间。
光速和往返时间的乘积的一半,就是测距仪和被测量物体之间的距离。
脉冲法测量距离的精度是一般是在+/-1米左右。
另外,此类测距仪的测量盲区一般是15米左右。
激光测距仪已经被广泛应用于以下领域:
电力,水利,通讯,环境,建筑,地质,警务,消防,爆破,航海,铁路,反恐/军事,农业,林业,房地产,休闲/户外运动等。
激光测距仪是用激光做为主要工作物质来进行工作的。
目前,市场上的手持式激光测距仪的工作物质主要有以下几种:
工作波长为905纳米和1540纳米的半导体激光,工作波长为1064纳米的YAG激光。
1064纳米的波长对人体皮肤和眼睛是害的,特别是如果眼睛不小心接触到了1064纳米波长的激光,对眼睛的伤害可能将是永久性的,由于激光对人体具有潜在的危害性,所以具有一定的不安全性,其次激光测距仪器设备价格昂贵,不易量产普及。
电磁波测距仪一般采用电磁波发射电路发射电磁波,通过对反射回来的电磁波与发射的电磁波之间存在的时间差的测量来确定所需测量的对象的距离用电磁波测距仪发射测距信号,通过另一端的反射器回来,再由测距仪接受。
根据测距信号的往、返传播时间求解出往、返距离2ρ。
由于电磁波测距仪需在测站点上主动发出测距信号,故称这种测距方式为主动式测距。
主动式测距只需要求一起钟自身能在信号往、返时间段中保持稳定,一般不会影响测距精度。
其缺点是用户必须发射信号,因而难以隐蔽自己,这对军事用户十分不利。
此外,要求用户同时具有发射设备和接收设备,装置较为复杂。
而且电磁波测距和激光测距一样,其投入资金比较大,不适宜一般常规应用。
超声波测距仪是利用超声波发射器向某一方向发射超声波,在发射时刻的同时开始计时,超声波在空气中传播,途中碰到障碍物就立即返回来,超声波接收器收到反射波就立即停止计时。
超声波在空气中的传播速度为340m/s,根据计时器记录的时间t,就可以计算出发射点距障碍物的距离(s),即:
s=340t/2 。
超声波测距主要应用于倒车雷达、建筑施工工地以及一些工业现场,例如:
液位、井深、管道长度等场合。
目前国内一般使用专用集成电路设计超声波测距仪,但是专用集成电路的成本很高,并且没有显示,操作使用很不方便。
超声波指向性强,穿透能力强,能量消耗缓慢,在介质中传播的距离较远,因而超声波经常用于距离的测量。
如测距仪和物位测量仪等都可以通过超声波来实现。
但由于超声波传感器的成本较高,所以一般运用于专业领域,民用产品中运用较少。
考虑到一般情况下对测距的要求较低,可在一定程度上牺牲其精确度和测距范围,从而降低成本,使其运用范围大大扩展。
本文所论述的超声波测距系统主要由声波发射电路,回波接收电路和PC机数据采集系统以及温度检测电路,灵活性强,可靠性高,计算简单,易于做到实时控制,价格便宜等优点。
2.2超声波测距系统原理
图2-1超声波测距系统原理框图
2.3单片机主机系统电路
AT89C2051单片机是51系列单片机的一个成员,是8051单片机的简化版。
内部自带2K字节可编程FLASH存储器的低电压、高性能COMS八位微处理器,与IntelMCS-51系列单片机的指令和输出管脚相兼容。
由于将多功能八位CPU和闪速存储器结合在单个芯片中,因此,AT89C2051构成的单片机系统是具有结构最简单、造价最低廉、效率最高的微控制系统,省去了外部的RAM、ROM和接口器件,减少了硬件开销,节省了成本,提高了系统的性价比。
图2-2单片机主机系统图
2.3.1时钟电路
单片机的时钟信号用来提供单片机片内各种微操作的时间基准,时钟信号通常用两种电路形式得到:
内部振荡和外部振荡。
MCS-51单片机内部有一个用于构成振荡器的高增益反向放大器,引脚XTALl和XTAL2分别是此放大电器的输入端和输出端,由于采用内部方式时,电路简单,所得的时钟信号比较稳定,实际使用中常采用这种方式,如图2-2所示在其外接晶体振荡器(简称晶振)或陶瓷谐振器就构成了内部振荡方式,片内高增益反向放大器与作为反馈元件的片外石英晶体或陶瓷谐振器一起可构成一个自激振荡器并产生振荡时钟脉冲。
图2-2中外接晶体以及电容C2和C1构成并联谐振电路,它们起稳定振荡频率、快速起振的作用,其值均为30P左右,晶振频率选6MHz。
2.3.2复位电路
为了初始化单片机内部的某些特殊功能寄存器,必须采用复位的方式,复位后可使CPU及系统各部件处于确定的初始状态,并从初始状态开始正常工作。
单片机的复位是靠外电路来实现的,在正常运行情况下,只要RST引脚上出现两个机器周期时间以上的高电平,即可引起系统复位,但如果RST引脚上持续为高电平,单片机就处于循环复位状态。
复位后系统将输入/输出(1/0)端口寄存器置为FFH,堆栈指针SP置为07H,SBUF内置为不定值,其余的寄存器全部清0,内部RAM的状态不受复位的影响,在系统上电时RAM的内容是不定的。
复位操作有两种情况,即上电复位和手动(开关)复位。
本系统采用上电复位方式。
图2-2中R9和Cl组成上电复位电路,其值R取为1KQ,C取为1pF.
2.3.3数据存储器的扩展电路
AT89C51单片机外接数据RAM时,P2口输出存储器地址的高8位,PO口分时输出地址的低8位和传送指令字节或数据。
PO口先输出低8位地址信号,在ALE有效时将它锁存到外部地址锁存器中,然后PO口作为数据总线使用,此处地址锁存器选用74LS373,实际电路图连接如图2-3所示。
图2-3数据存储器的扩展电路
2.4超声波发射电路
为了研究和利用超声波,人们已经设计和制成了许多超声波发生器。
总体上讲,超声波发生器可以分为两大类:
一类是用电气方式产生超声波,一类是用机械方式产生超声波。
电气方式包括压电型、磁致伸缩型和电动型等;机械方式有加尔统笛、液哨和气流旋笛等。
它们所产生的超声波的频率、功率和声波特性各不相同,因而用途也各不相同。
目前较为常用的是压电式超声波发生器。
压电式超声波发生器实际上是利用压电晶体的谐振来工作的。
超声波发生器内部主要由两个压电晶片和一个共振板组成。
当它的两极外加脉冲信号,其频率等于压电晶片的固有振荡频率时,压电晶片将会发生共振,并带动共振板振动,便产生超声波。
反之,如果两电极间未外加电压,当共振板接收到超声波时,将压迫压电晶片作振动,将机械能转换为电信号,这时它就成为超声波接收器了。
这种压电式超声波传感器是利用内藏的压电晶体的压电效应。
压电晶体在外电场作用下会产生机械变形,或者使压电晶体变形也会产生电压,前者称为逆压电效应,后者称为正压电效应。
利用压电晶体的逆压电效应,电路的高频电压会转换为高频机械振动,以产生超声波,作为超声波发生探头,利用压电晶体的正压电效应可将接收的超声波振动转换成电信号,作为超声波接收探头。
图2-4超声波发生电路
2.5超声波接收电路
超声波接收电路的作用是对接收的超声波信号进行放大,并将放大后的信号处理成系统可以处理的电平信号。
图2-5是典型的超声波接收电路,图中运算放大4558A
图2-5超声波接收电路
与B对接收的超声波信号进行交流信号放大,放大后的信号经过二极管D5,D6整流后成为直流电压,此电压与基准电压经运算放大器4588C比较后由TP端输出结果。
当超声波接收探头接收到超声波时,TP为低电频,反之未接收到时为高电频。
图2-6超声波测距系统电路图
图2-7工作波型图
2.6数据采集处理电路
ADC0809是一种8位逐次逼近式A/D转换器,内部具有锁存控制的8路模拟开关,外接8路模拟输入端,可同时对8路0-5V的输入模拟电压信号分时进行采集转换,本系统只用到INO和INl两路输入通道。
ADC0809转换器的分辨率为8位,最大不可调误差小于士1LSB,采用单一+5V供电,功耗为15mW,不必进行零点和满度调整。
由于ADC0809转换器的输出数据寄存器具有可控的三态输出功能,输出具有TTL三态锁存缓冲器,故其8位数据输出引脚可直接与数据总线相连。
A/D转换器需外部控制启动转换信号方能进行转换,这一启动转换信号可由CPU提供,不同型号的A/D转换器,对启动转换信号的要求也不同,分脉冲启动和电平启动两种,ADC0809采用脉冲启动转换,只需给A/D转换器的启动控制转换的输入引脚((START)上,加入正脉冲信号,即启动A/D转换器进行转换,转换开始后,转换结束信号输出端(EOC)信号变低,转换结束时,EOC返回高电平,以通知主机读取转换结果的数字量,这个信号可以作为A/D转换器的状态信号供查询,也可以用作中断请求信号。
图2-8数据采集处理电路
本系统中ADC0809与AT89C2051单片机的接口如图2-8所示,采用等待延时方式。
ADC0809的时钟频率范围要求在10-1280kHz,AT89C2051单片机的ALE脚的频率是单片机时钟频率的1/6,因此当单片机的时钟频率采用6MHz,ADC0809输入时钟频率即为CLK=1MHz,发生启动脉冲后需延时100Us才可读取A/D转换数据。
如图2-8连接方式,ADC0809的8位数据输出引脚可直接与数据总线相连,地址译码引脚A,B,C分别与74LS373的A,B,C相连,以选通INO-IN7中的一个通道。
AT89C2051的p2.6作为片选信号,在启动AM转换时,由单片机的写信号WR和p2.。
控制ADC的地址锁存和转换启动。
由于ALE与START连在一起,因此ADC0809在锁存通道地址的同时也启动转换,在读取转换结果时,用单片机的读信号RD和p2.。
引脚一级或非门产生的正脉冲作为OE信号,用以打开三态输出锁存器。
2.7LED显示系统电路
微机化测控系统中常用的测量数据的显示器有发光二极管显示器(简称LED或数码管)和液晶显示器(简称LCD)。
这两种显示器都具有线路简单、耗电少、成本低、寿命长等优点,本系统输出结果选用3个LED显示。
数码管有共阴共阳之分,本系统采用8段共阴型LED,其原理图如图2-6所示,每位数码管内部有8个发光二极管,公共端由8个发光二极管的阴极并接而成,正常显示时公共端接低电平(GND),各发光二极管是否点亮取决于a-dp各引脚上是否是高电平。
LED数码管的外形结构如图2-6,外部有10个引脚,其中3,8脚为公共端也称位选端,其余8个引脚称为段选端,当要使某一位数码管显示某一数字((0-9中的一个)必须在这个数码管的段选端加上与数字显示数字对应的8位段选码(也称字形码),在位选端加上低电平即可。
由于系统要显示的内容比较简单,显示量不多,所以选用数码管既方便又经济。
LED有共阴极和共阳极两种。
如图2-9所示。
二极管的阴极连接在一起,通常此公共阴极接地,而共阳极则将发光二极管的阳极连接在一起,接入+5V的电压。
一位显示器由8个发光二极管组成,其中7个发光二极管构成字型“8”的各个笔划(段)a~g,另一个小数点为dp发光二极管。
当在某段发光二极管施加一定的正向电压时,该段笔划即亮;不加电压则暗。
为了保护各段LED不被损坏,需外加限流电阻。
符号和引脚共阴极共阳极
图2-9LED数码管结构原理图
数码管显示器有两种工作方式,即静态显示方式和动态扫描显示方式。
为节省端口及降低功耗,本系统采用动态扫描显示方式。
动态扫描显示方式需要解决多位LED数码管的“段控”和“位控”问题,本电路的通过P1口实现:
而每一位的公共端,即LED数码管的“位控”,则由P3口控制。
这种连接方式由于多位字段线连在一起,因此,要想显示不同的内容,必然要采取轮流显示的方式,即在某一瞬间,只让其中的某一位的字位线处于选通状态,其它各位的字位线处于断开状态,同时字段线上输出这一位相应要显示字符的字段码。
在这一瞬时,只有这一位在显示,其他几位则暗。
在本系统中,字位线的选通与否是通过PNP三极管的导通与截止来控制,即三极管处于“开头”状态。
因AT89C2051单片机I/O口资源有限,必须对其Il0口进行扩展才能满足实现系统功能,如图2-10所示为用8155扩展1/0口的4个8位LED动态显示器,显示扫描由程控实现,其中PA口输出字型码,PC口输出位选信号即扫描信号,图中片选线CE和AT89C2051的P2.7口相连,IO/M选通输入线与P2.4口相连,该系统中当P2.7=0且P2.4=1时,选中8155芯片内三个I/O口。
相应的端口地址分配如表2-1:
表2-18155端口地址分配(宋体5号)
图2-10显示电路
2.8语音报警电路
为了在某些紧急状态或反常状态下,能使操作人员不致忽视,以便及时处理,往往需要有某种更能引起人们注意提起警觉的报警信号产生,这种报警信号通常有三种类型:
闪光报警、鸣音报警、语音报警,本系统采用简单易行的声光报警电路。
如图2-11所示报警电路,报警设备选用压电式蜂鸣器,它约需要10mA的驱动电流,只需在其两条引线上加3一15V的直流电压,即可产生3KHz左右的蜂鸣声音,图中蜂鸣器的一端接在高电平+SV,另一端接Pl.0,在初态Pl.0始终输出高电平1,当需要报警时,程序对其端口清零即可,声音的长短可用延时程序控制实现。
图中接入的发光二极管LED为超高线报警器,当P1.1端输出为低电平“0”时,二极管导通,灯亮发出报警信号。
图2-11报警电路
第3节系统的软件设计
软件系统由主程序,定时器0中断,定时器1中断程序组成系统软件由主程序、定时器1中断程序、定时器0中断程序构成。
主程序用于循环检测并且保存测量的结果以及计算的相关参数于寄存器中,定时器T1主要用于计时测量的时间和根据主程序的保存的测量及计算的一系列参数作显示报警等处理。
定时器T0用于产生蜂鸣器报警的脉冲。
独到之处为查表程序的应用及定时器的应用。
系统主程序流程如图3-1所示,定时器T0、T1中断服务程序分别如图3-2、3-3所示。
该程序充分利用了AT89C2051的有限资源,AT89C2051单片机和其开发应用系统具有语言简洁、可移植性好、表达能力强、表达方式灵活、可进行结构化设计、可以直接控制计算机硬件、生成代码质量高、使用方便等诸多优点。
本设计采用模块化设计,由主程序、发射子程序、定时子程序、显示子程序等模块组成。
3.1系统主程序设计
图3-1主程序流程图
图3-2定时器0中断程序
图3-3定时器1中断
3.240kHz 脉冲的产生与超声波发射
测距系统中的超声波传感器采用UCM40的压电陶瓷传感器,它的工作电压是40kHz的脉冲信号,这由单片机执行下面程序来产生。
puzel:
mov 14h, #12h;超声波发射持续200ms
here:
cpl p1.0 ;输出40kHz方波
nop ;
nop ;
nop ;
djnz 14h,here;
ret
前方测距电路的输入端接单片机P1.0端口,单片机执行上面的程序后,在P1.0 端口输出一个40kHz的脉冲信号,经过三极管T放大,驱动超声波发射头UCM40T,发出40kHz的脉冲超声波,且持续发射200ms。
右侧和左侧测距电路的输入端分别接P1.1和P1.2端口,工作原理与前方测距电路相同。
3.3超声波的接收与处理
接收头采用与发射头配对的UCM40R,将超声波调制脉冲变为交变电压信号,经运算放大器IC1A和IC1B两极放大后加至IC2。
IC2是带有锁定环的音频译码集成块LM567,内部的压控振荡器的中心频率f0=1/1.1R8C3,电容C4决定其锁定带宽。
调节R8在发射的载频上,则LM567输入信号大于25mV,输出端8脚由高电平跃变为低电平,作为中断请求信号,送至单片机处理。
前方测距电路的输出端接单片机INT0端口,中断优先级最高,左、右测距电路的输出通过与门IC3A的输出接单片机INT1端口,同时单片机P1.3和P1.4接到IC3A的输入端,中断源的识别由程序查询来处理,中断优先级为先右后左。
部分源程序如下:
receive1:
push psw
push acc
c
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 超声波 测距 系统
![提示](https://static.bdocx.com/images/bang_tan.gif)