基于单片机的超声波测距仪的设计本科毕业设计论文.docx
- 文档编号:23914068
- 上传时间:2023-05-22
- 格式:DOCX
- 页数:41
- 大小:239.68KB
基于单片机的超声波测距仪的设计本科毕业设计论文.docx
《基于单片机的超声波测距仪的设计本科毕业设计论文.docx》由会员分享,可在线阅读,更多相关《基于单片机的超声波测距仪的设计本科毕业设计论文.docx(41页珍藏版)》请在冰豆网上搜索。
基于单片机的超声波测距仪的设计本科毕业设计论文
摘要
超声波具有很强的指向性,消耗能量缓慢,距离传播较远等优点,所以,在利用自动化控制技术和传感器应用技术相结合的测距方案中,利用超声波专有特性测距是目前最普遍的一种方式,它被广泛地应用于防盗、倒车雷达、水位测量、建筑施工工地以及一些工业现场。
本论文详细的介绍了超声波传感器的原理及特性,并且介绍了Atmel公司的AT89C52单片机的性能与特点,且在分析了超声波测距原理的基础上,指出了本次方案的思路和所需考虑的问题,给出了以AT89C52单片机为核心,LCD显示电路,硬件制作和软件设计为一体的设计方案。
关键字:
超声波测距;单片机;测距;AT89C52;LED显示屏
Abstract
Ultrasonicwavehasstrongpointingtonature,slowlyenergyconsumption,propagatingdistancefarther,so,inutilizingtheschemeofdistancefindingthatsensortechnologyandautomaticcontroltechnologycombinetogether,ultrasonicwavefindsrangetousethemostgeneraloneatpresent,itappliestoguardagainsttheft,movebackwardtheradar,waterlevelmeasuring,buildingconstructionsiteandsomeindustrialscenesextensively.
Thissubjecthasintroducedprincipleandcharacteristicoftheultrasonicsensorindetail,andtheperformanceandcharacteristicofone-chipcomputerAT89C52ofAtmelCompany,andonthebasisofanalyzingprinciplethatultrasonicwavefindsrange,thesystematicthinkingandquestionsneededtoconsiderthathavepointedoutthatdesignsandfindsrange.GiventheAT89C52,LCDdisplaycircuit,thehardwareandthesoftwaredesignproduction.
Keywords:
ultrasonicranging;single-chip;Rangefinding;AT89C52;LCDdisplay
第一章引言
1.1单片机应用系统概述
单片微型计算机简称单片机(MCU),多应用于控制领域,又叫做微控制器。
它是将计算机中的CPU、RAM、ROM、定时器和输入输出I/O接口电路、中断控制器、模数/数模转换器、调制解调器等芯片集成在一个芯片上的技术,形成芯片级的计算机。
它的出现及发展使得计算机技术从通用型数值计算领域进入到智能化的控制领域。
从此,计算机技术在两个重要领域都得到了极其重要的发展,并正在一点一点地改变着我们的生活和社会。
而嵌入式技术在当今社会扮演着不可或缺的地位,它是当前最热门、最具有发展力的IT应用之一。
嵌入式技术的应用可以加快传统的电子系统向智能化的电子仪器的转变,使社会进入智能化时代。
嵌入式技术一般应用于对实时响应要求较高的产品中,单片机作为嵌入式技术的核心,它的应用使得电子系统的智能化达到了高速的发展,常常无需对硬件系统做任何改动,只需更新系统软件就能够使系统功能升级。
现代社会中嵌入式技术无处不在,早已被应用在国防、国民经济、以及人们日常生活的各个领域,不断地改变着人们的生活,是人类社会一项伟大的智慧结晶。
1.2超声波测距系统概述
在基于传统的测力距离存在不可克服的缺陷。
例如,液面测量就是一种距离测量,传统的电极法是采用差位分布电极,通过给电或脉冲来检测液面,电极长期浸泡于水中或其他液体中,极易被腐蚀、电解,失去灵敏性。
由于超声波具有强度大,方向性好等特点,利用超声波测量距离就可以解决这些问题,因此超声波测量距离技术在工业控制、勘探测量、机器人定位和安全防范等领域得到了广泛的应用。
超声波测距电路可以由传统的模拟或者数字电路构建,但是基于这些传统电路构建的系统往往可靠性差,调试困难,可扩展性差,所以基于单片机的超声波测距系统被广泛的应用。
通过简单的外围电路发生和接收超声波,单片机通过采样获取到超声波的传播时间,用软件来计算出距离,并且可以采集环境温度进行测距补偿,其测量电路小巧,精度高,反映速度快,可靠性好。
1.3本设计任务的主要内容
设计一超声测波测距仪,任务:
(1).了解超声波测距原理。
(2).设计出超声波测距仪的硬件结构电路。
(3).对设计的电路进行分析和理解,从而做到利用超声波方法测量物体间的距离。
(4).以数字的形式显示测量距离。
第二章超声波测距的原理
2.1超声波测距离原理
人类可以听到的声音频率为20Hz~20kHz,即为可听声波,超出此频率范围的声音,即为不可听声波。
其中超过20KHz的为超声波,超声波沿直线传播,频率越高,反射能力越强,所以利用超声波的这种特性来设计超声波传感器。
另外,超声波在空气中传播的速度较慢,约为330m/s,这就使得超声波传感器使用变得非常简单。
超声波传感器由发送器和接收器组成,一般超声波传感器为可逆元件,即一个传感器可以具有发送和接收声波的双重作用。
通常市场上出售的超声波传感器有两种类型,即专用型和兼用型。
专用型就是发送超声波用发送器,接收器超声波用接收器;兼用型就是发送器和接收器为一体,不但可接受超声波,又可以发送超声波。
一般随着谐振频率的变高,检测距离会变短,同时分解力也会变高。
图2.1超声波原理图
本设计方案是利用超声波指向性强、能量消耗低、传播距离较远等优点,即用超声波发射器向某一方向发送超声波,并且在发射的时候开始计时,在超声波遇到障碍物的时候反射回来,利用超声波接收器接收反射信号,然后停止计时。
假设超声波在空气中的传播速度为V,接收到在空气中的传播时间为T,与障碍物的距离为S,S=VT/2这样可以测出汽车与障碍物之间的距离,然后在LED显示屏上显示出来。
如上图2.1所示
根据设计要求并综合各方面因素,本例决定采用AT89C52单片机作为主控制器,用动态扫描法实现LED数字显示,超声波驱动信号用单片机的定时器完成。
超声波测距器系统设计。
本次方案的超声波测距仪主要由AT89C52单片机、超声波发射电路、超声波接收放大电路、显示电路等组成。
图2.2超声波测距系统设计框图
首先由单片机驱动产生12MHZ晶振,由超声波发射探头发送出去,在遇到障碍物反射回来时由超声波接收探头检测到信号,然后经过滤波、放大、整形之后送入单片机进行计算,把计算结果输出到LED液晶显示屏上。
第三章系统主要硬件设计
硬件电路主要包括单片机系统及超声波发射电路、超声波检测接收电路和显示电路三部分。
超声波测距板采用AT89C52单片机晶振为12MHZ,单片机用P1.0口输出超声波换能器所需的40KHZ方波信号,利用外中断监测超声波接收电路输出的返回信号,显示电路采用简单的4位共阳LED数码管,段码驱动用74LS244集成电路,位码用S8550三极管驱动,主要由单片机系统及显示电路、超声波发射电路和超声波检测接收电路三部分组成。
采用AT89C52来实现对超声波模组进行控制,然后单片机不停的检测INT0引脚,当INT0引脚的电平由高电平变为低电平时就认为超声波已经返回。
计数器所计的数据就是超声波往返所经历的时间,通过特定的计算就可以确定传感器与障碍物之间的距离。
3.1单片机AT89C52介绍
AT89C52芯片图如下图所示
图3.1AT89C52引脚图
AT89C52主要性能:
1、与MCS-51单片机产品兼容
2、8K字节在系统可编程Flash存储器
3、1000次擦写周期
4、全静态操作:
0Hz~33Hz
5、三级加密程序存储器
6、32个可编程I/O口线
7、三个16位定时器/计数器
8、八个中断源
9、全双工UART串行通道
10、低功耗空闲和掉电模式
l1、掉电后中断可唤醒
l2、看门狗定时器
13、双数据指针
l4、掉电标识符
AT89C52具有以下标准功能:
8k字节Flash,256字节RAM,32个I/O口线,3个16位定时/计数器,一个6向量两级中断结构,一个全双工串行口,片内晶振及时钟电路。
同时,AT89C52可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。
空闲方式停止CPU的工作,允许RAM,定时/计数器,串行通信口及中断系统继续工作。
掉电保护方式下,保存RAM中的内容,但振荡器停止工作直到下一个中断或硬件复位为止。
VCC:
正常操作接+5V;
GND:
接地线。
以上两个引脚对于单片机来说都是输入端,作用是满足单片机工作的电能需求。
P0口:
P0口是一个8位漏极开路的三态(高电平、低电平、高阻)双向输入/输出口,具有地址和数据传输功能,可以驱动8个TTL管。
P1口:
P1口是一个具有内部上拉电阻的8位准双向输入/输出口,对于52单片机具有变异功能,可以驱动4个TTL管。
表3.1
引脚号
第二功能
P1.0
T2(定时器/计数器T2的外部计数输入),时钟输出
P1.1
T2EX(定时器/计数器T2的捕捉/重在触发信号和方向控制)
P1的第二功能
P2口:
P2口是一个具有内部上拉电阻的8位准双向输入/输出口,具有地址传输功能,可以驱动4个TTL管。
P3口:
P3口是一个具有内部上拉电阻的8位准双向输入/输出口,P3具有第二功能,可以驱动4个TTL管。
第二功能见下表。
表3.2
P3.0
RXD串行数据接收端
P3.1
TXD串行数据发送端
P3.2
外部中断0请求端,低电平有效
P3.3
外部中断1请求端,低电平有效
P3.4
T0定时/计数器0外部事件计数输入端
P3.5
T1定时/计数器1外部事件计数输入端
P3.6
外部数据存储器写信号,低电平有效
P3.7
外部数据存储器读信号,低电平有效
P3的第二功能
RST:
复位输入引脚,高电平有效。
在该引脚上输入大于24个人晶振振荡周期高电平时,单片机系统复位,当变低电平时,系统开始执行程序。
ALE/PROG:
ALE地址锁存允许信号输入端,高电平有效。
在访问外部存储器时,该信号将P0口送出的低8位地址锁存到外部地址锁存器中。
PROG编程脉冲为固化程序需要提供专门的编程脉冲。
当访问外部储存器时,将以1/12的振荡频率输入脉冲;当不访问外部存储器时,将以1/6的振荡频率输入脉冲。
PSEN:
外部程序存储器的读选通信号输出端,低电平有效。
在读外部程序存储器时CPU会送出有效的低电平信号。
当访问外部程序存储器读取指令时,将以1/6的震荡频率产生PSEN有效信号;当执行片内程序及访问外部数据存储器时,不产生PSEN有效信号。
当AT89C52从外部程序存储器执行外部代码时,PSEN在每个机器周期被激活两次,而在访问外部数据存储器时,PSEN将不被激活。
EA/VPP:
访问程序存储器选择信号输入线。
当EA为低电平时,CPU只能访问外部程序存储器。
当EA为高电平时,CPU先访问内部程序存储器(当51单片机的PC值小于等于0FFFH时),然后访问外部程序存储器(当PC值大于0FFFH时)。
VPP(+25V)位固化程序提供专门的编程电源。
XTAL1:
接外部晶振的一个引脚,是内部反相放大器的输入端。
XTAL2:
接外部晶振的一个引脚,是内部反相放大器的输出端。
Flash编程―并行模式:
AT89C52带有用作编程的片上Flash存储器阵列。
编程接口需要一个高电压(12V)编程使能信号,并且兼容常规的第三方Flash或EPROM编程器。
编程方法:
对AT89C52编程之前,需设置好地址、数据及控制信号,可采用下列步骤对AT89C52编程:
1.在地址线上输入编程单元地址信号
2.在数据线上输入正确的数据
3.激活相应的控制信号
4.把EA/VPP升至12V
5.每给Flash写入一个字节或程序加密位时,都要给ALE/PROG一次脉冲。
每个字节写入周期是自身定时的,通常均为1.5ms。
重复1—5步骤,改变编程单元的地址和写入的数据,直到全部文件编程结束。
3.1.1单片机系统设计
单片机系统由CPUAT89C52和一定功能的外围电路组成,包括为单片机提供复位电压的复位电路,提供系统频率的晶振。
这部分电路主要负责程序的存储和运行。
图3.2中AT89C52(AT89C51相同)系统由内部时钟方式电路外接晶体以及电容构成并联谐振电路及单片机组成,接在放大器的反馈回路中。
单片机系统是由硬件和软件构成的,软件是由程序组成的。
最小系统是单片机运行的最基本的硬件和软件,是单片机正常工作的基本保障。
对外接电容的值虽然没有严格的要求,但电容的大小会影响振荡器频率的高低、谐振器的稳定性、起振的快速性和温度的稳定性。
晶振一般为6MHz,它是单片机复位电路的典型值,而电容的典型值在20pF~100pF之间选择,但在60pF~70pF时振荡器具有较高的频率稳定性。
典型值通常选择为30pF左右,但本电路采用33pF。
在设计印刷电路板时,一般情况下晶振或陶瓷振荡器和电容应尽可能安装的与单片机芯片靠近,以减少寄生电容,从而更好地保障了电路的稳定性。
为了提高温度稳定性,应采用温度稳定性能好的NPO高频电容。
AT89C52的复位是由外部的复位电路来实现的。
复位电路通常采用上电复位和手动按钮复位两种方式。
本设计中所用到的是手动按钮复位.
图3.2单片机最小系统
3.1.2复位电路
单片机系统是由硬件和软件构成的,软件是由程序组成的。
程序则由系统指令构成,正常情况下,希望系统运行时是从程序的固定位置(入口处)开始执行,复位的目的就是保障程序从入口处开始运行,如不能保证复位要求,程序则很有可能不从规定处进行,会造成意想不到的问题,如死机”“跑飞”等。
所以以AT89C52作为主芯片的单片机需要一个复位电路,来啊保证指令的正常执行。
每次单片机在启动时都需要复位,以便使CPU和系统各部件都处于确定的初始状态,并从初状态开始工作。
当系统处于正常工作状态时,振荡器稳定后,从单片机的复位引脚RST输入一个高电平并维持2个机器周期(24个振荡周期)以上,CPU就可以响应并将系统复位。
复位信号一般来说不能太长,因为在复位状态下,单片机是不执行程序的。
电路一般采用积分型、专用芯片复位电路等来完成电路复位所需信号。
单片机系统基本的复位方式有上电复位和手动按钮复位。
(1)上电复位
上电复位工作过程是在加电时复位电路通过电容加给RST端一个短暂的高电平信号,此高电平信号随着VCC对电容的充电过程而逐渐回落,即RST端的高电平持续时间取决于电容的充电时间。
为了保证系统能够可靠地复位,RST端的高电平信号必须维持2个机器周期以上的时间。
(2)手动按钮复位
该复位形式需要人为在复位输入端RST上加入高电平,其电路如图3.3所示。
当按下按钮时,则VCC的+5V电平就会直接加到RST端,人的动作再快也会使按钮保持接通达数十毫秒,完全能够满足复位的时间要求。
图3.3复位电路
3.2超声波发射电路
需要将由单片机发出的40kHZ的方波进行放大,才能够使超声波传感器发射出超声波,作为发射驱动电路,本质上就是一个信号放大电路。
图3.4超声波发射电路原理图
超声波发射的电路图如图3.4所示。
发射电路主要是用反向器74ALS04连接到超声波发射换能器T所构成,由单片机P1.0端口输出的40kHZ方波信号经过一级反向器放大后送到超声波换能器的一个电极,另一路经过双重反向器放大后送到超声波的另一电极。
用这种方式将方波信号加到超声波换能器的两端,可以有效地提高超声波的发射效率,在输出端采用两个反向器并联,用以提升驱动能力。
上拉电阻R1、R2不但可以提高反向器74ALS04输出高电平的能力,而且还可以提升超声波换能器的阻尼效果,缩短它的自由振荡时间。
关于74ALS04与74LS04的区别:
74LS04与74ALS04都是74系列的非门。
他们的区别是:
1、输出:
74LS04和74ALS04是一样的。
如果同一个公司,输出参数都是一样的。
2、输入:
两者不同的是输入不一样。
74LS04输入是TTL电平,74LS14输入是施密特输入(有滞回特性)。
因为输入不一样,两个芯片的应用场合也有所不同。
74LS04多用于板内一般数据的“非”控制,而74ALS04一般用于某些信号的整形或者异受干扰/关键信号的信号缓冲等。
大部分情况下74LS14可以替代74LS04;74ALS04和74LS04都是六反相器;74LS04是6非门IC工作电压5V,最大16mA的驱动能力。
在实际应用方面2者其实基本上没什么区别的,用都一样。
基于本实验要求超声波输出信号和接收信号尽可能降低干扰,所以本设计选取的是74ALS04芯片作为主要芯片。
3.3超声波检测接收电路
参考红外转化接收电路,本设计采用集成电路CX20106A,这是一款红外线检波接收的专用芯片,常用于电视机红外遥控接收器。
考虑到红外遥控常用的载波频率38KHz与测距超声波频率40KHz较为接近,可以利用他作为超声波检测电路。
如图3.5超声波检测接收电路原理图所示,适当改变C12的大小,可以改变接受电路的灵敏度和抗干扰能力。
管脚1是超声波信号输入端,是输入阻抗约为40KΩ;管脚2的C12R19决定接受换能器的总增益,增大电阻R或者减小C,将使放大倍数下降,负反馈量增大,电容C的改变会影响到频率特性,实际使用中一般不改动,推荐选择参数R=4.7KΩ,C=3.3uF;管脚5上的连接电阻R18用以设置带通滤波器的中心频率,阻值越大,中心频率越低,取R=200KΩ时,中心频率约为42KHZ;管脚6与GND之间接入一个分电容,标准值为330pF,如果该电容取得太大,会使探测距离变短;管脚7是遥控命令输出端,是集电极开路的输出方式,因此该引脚必须接上一个上拉电阻到电源,该阻值推荐阻值为R5=220KΩ,没有接受信号时该端输出为高电平,有信号时则会下降;管脚8接电源正极。
4.5V-5V.超声波接受电路原理图如下3.5所示
图3.5超声波接收电路原理
3.4超声波显示电路
将系统正在运行的状态告诉操作者,需要显示;我们这里利用超声波测距需要把测得的结果显示出来;当我们吧需要控制的信号输入到单片机系统中,输入与输出的信息就能够显示出来。
常用的显示方式有:
LED彩灯显示、数码管显示、和液晶显示。
我们的设计是利用数码管显示。
LED(Light-EmittingDiode,发光二极管)有七段和八段之分,也有共阴和共阳两种。
LED数码管结构结构如图3.6所示,图中a~g七个笔端及小数点SP均为发光二极管。
如果将所有大光二极管的阳极连在一起作为公共端,称为共阳极二极管,如果将所有发光二极管的阴极连在一起作为公共端,则称为共阴数码管。
图3.6(a)为八段共阴数码显示管结构图,图3.6(b)是它的原理图,图3.6(c)为八段共阳LED显示管原理图。
图3.6八段LED数码显示管原理和结构
以74ALS245为主要芯片的显示电路如图3.7所示,显示电路中74ALS245芯片接由单片机的P0口,再由七段数码管进行显示,从而利用单片机的P2.4、P2.5、P2.6、P2.7与共射极三极管的基极相连来控制数码管的位选通。
图3.7单片机及显示系统电路图
3.5报警电路
采用一个蜂鸣器,输出一定频率的信号,在连接到蜂鸣器之前,经过一个三极管放大。
报警的部分电路如下图3.8所示。
实现的功能:
当测得的距离小于最小值时,警报器触发。
图3.8报警电路
3.6电源电路设计
该电路电源是通过整流桥整流后经C6\C7滤波,然后由7805稳定后提供稳定的5V电压,如图3.9所示。
图3.9电源电路原理图
第四章系统程序的设计
超声波测距器的软件设计主要由主程序,超声波发生子程序,超声波接收中断程序及显示子程序组成,由于C语言程序有利于实现较复杂的算法,汇编语言程序则具有较高的效率并且容易精确计算程序行动的时间,而超声波测距器的程序既有较复杂的计算(计算距离时),又要求精确计算程序运行时间(超声波测距时),所以控制程序可采用C语言和汇编语言混合编程。
下面对超声波测距器的算法,主程序,超声波发生子程序和超声波接收中断程序逐一介绍。
4.1超声波测距器的算法设计
图5.1示意了超声波测距的原理,既超声波发生器T在某一时刻发出一个超声波信号,当这个超声波遇到被测物体后反射回来,就会被超声波接收器R接收到。
这样,只要计算出从发出超声波信号到接收到返回信号所用的时间,就可算出超声波发生器于反射物体的距离。
该距离的计算公式如下4-1:
d=s/2=(v×t)/2(4-1)
其中:
d为被测物于测距器的距离;s为声波的来回路程;v为声速;t为声波来回所用的时间。
图4.1超声波测距离原理图
对于该系统影响最大可测距离存在四个因素:
超声波的幅度、反射物的质地、反射和入射声波之间的夹角以及接收换能器的灵敏度。
接收换能器对声波脉冲的直接接收能力将决定最小可测距离。
为了增加所测量的覆盖范围,减少测量误差,可采用多个超声波换能器分别作为多路超声波发射/接收的设计方法。
由于超声波也是一种声波,其声速v与温度有关,下表4.1列出了几种不同温度下的声速。
在使用时,如果温度变化不大,则可以为声速是基本不变的。
如果测距精度很高,则应通过温度补偿的方法加以校正。
温度(℃)
-30
-20
-10
0
10
30
30
100
声速(m/s)
313
319
325
323
338
344
349
386
表4.1超声波波速与温度的关系表
4.2总体设计方案
由单片机AT89C52编程产生40kHz的方波,由P1.0口输出,再经过放大电路,驱动超声波发射探头发射超声波。
发射出去的超声波经障碍物反射回来后,由超声波接收头接收到信号,通过接收电路的检波放大、积分整形及一系列处理,送至单片机。
单片机利用声波的传播速度和发射脉冲到接收反射脉冲的时间间隔计算出障碍物的距离,并由单片机控制显示出来。
图4.2时序图
该测距装置是由超声波传感器、单片机、发射/接收电路和LED显示器组成。
传感器输入端与发射接收电路相连,接收电路输出端与单片机相连接,单片机的输出端与显示电路输入端相连接。
其时序图如图4.2所示。
4.3超声波发生子程序和超声波接收中断程序
超声波发生子程序的作用是通过P1.0端口发送两个左右的超声波脉冲信号(频率约40kHz的方波),脉冲宽度
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 超声波 测距仪 设计 本科 毕业设计 论文