利用超声波传感器测量液位高度.doc

上传人:夺命阿水 文档编号:17476 上传时间:2022-07-01 格式:DOC 页数:29 大小:457KB
返回 下载 相关 举报
利用超声波传感器测量液位高度.doc_第1页
第1页 / 共29页
利用超声波传感器测量液位高度.doc_第2页
第2页 / 共29页
利用超声波传感器测量液位高度.doc_第3页
第3页 / 共29页
利用超声波传感器测量液位高度.doc_第4页
第4页 / 共29页
利用超声波传感器测量液位高度.doc_第5页
第5页 / 共29页
点击查看更多>>
资源描述

《利用超声波传感器测量液位高度.doc》由会员分享,可在线阅读,更多相关《利用超声波传感器测量液位高度.doc(29页珍藏版)》请在课桌文档上搜索。

1、 I / 29本科生毕业设计(论文)题目:利用超声波传感器测量液位高度利用超声波传感器测量液位高度The Design of Using Ultrasonic Sensor Measure The Liquid LevelAltitude院系名称:学生某:学生学号:专业:指导老师:完成时间: 声明本人 X 重声明:所呈交的毕业设计(论文)是本人在指导教师指导下进行的研究工作及取得的研究成果。其中除加以标注和致谢的地方,以及法律规定允许的之外,不包含其他人已经发表或撰写完成并以某种方式公开过的研究成果,也不包含为获得其他教育机构的学位或证书而作的材料。其他同志对本研究所做的任何贡献均已在文中作了

2、明确的说明并表示谢意。本毕业设计(论文)成果是本人在某师 X 大学读书期间在指导教师指导下取得的,成果归某师 X 大学所有。特此声明。声明人(毕业设计(论文)作者)学号:声明人(毕业设计(论文)作者)签名:签名日期:年月日 I / 29摘要随着现代科学技术的发展,人们逐渐了解到,超声波的穿透力很强不易损坏物体,而且它在两万赫兹以上,不会影响到人们的正常工作,并且他的传播速度快。由于超声波具有这样大的优点,所以人们对超声波的利用率越来也高。从大到工业体系的探伤,小到测距和金属表面清尘,超声波几乎无处不在的伴随我们的生活。本设计是以 AT89S52 单片机为核心的低成本、高精度、微型化数字显示超声

3、波测距仪。整个电路采用模块化设计,由单片机控制模块,超声波发射模块,超声波接收模块和数据显示模块组成。软件部分由主程序、预置子程序、发射子程序、接收子程序、显示子程序组成。各探头的信号经单片机综合分析处理,实现超声波测距仪的各种功能。在此基础上设计了系统的总体方案,最后通过硬件和软件实现了各个功能模块。相关部分附有硬件电路图、程序流程图。关键词关键词:AT89S52;超声波;测距 II / 29AbstractWith the development of modern science and technology, people gradually understanding that th

4、e ultrasonic wave penetrating power is very strong .The ultrasonic wave is not easy to damage the object,morover it above 20KHZ and affect peoples nomal work. So the using of Ultrasonic wave is more and more frequent.From the large scale flaw detection of the industrial system to the measuring dista

5、nce and clearing of the metal surface , the ultrasonic wave is useful in our every daily life .The ultrasonic distance measurer design with digital display functional module used AT89C52 MCU as the core ponent,of which carries the characteristics with low-cost,high-precision and microminiaturization

6、.The whole circuit used modular design,it includes the MCU control module,ultrasonic transmit module,ultrasonic receive module and the Data display module.In the software design part,it contains the main program,the presets subroutine,the launch subroutine,the receiving subroutine and the display su

7、broutine.Through the prehensive analysis processing of the AT89C51 MCU, The signal of each detector can realizing the functions of ultrasonic measure.Based on these,designed the overall scheme of the system.On the finally,through the hardware and software realize the whole modules.And the relevant p

8、arts have the hardware circuit diagrams and program flow charts on the appendix.Key words:AT89S52;Silent Wave;Measure Distance 目录摘要 IABSTRACTII1 引言 12 课题设计的任务和要求 13 课程的方案设计与论证 23.1 系统整体方案的设计 23.1.1 设计方案一 23.1.2 设计方案二 33.1.3 方案比较以及论证 53.2 系统整体方案的论证 54 系统的硬件结构设计 64.1 各芯片功能特点简介 74.1.1 52 系列单片机的功能特点 74.

9、1.2 CX20106 简介及其调试 84.1.3 74ls573 管脚及功能特点 94.2 测距原理及框图 104.2.1 超声波测距的原理 104.2.2 超声波测距仪原理框图 104.3 超声波发射电路 114.4 超声波检测接收电路 114.5 数据显示部分电路 124.6 超声波测距系统的硬件电路设计 135 系统的软件编程设计 145.1 超声波测距仪的算法设计 145.2 主程序流程图 145.3 超声波发生子程序和超声波接收中断程序 165.4 系统的软硬件调试 176 结束语 18参考文献 19附录一:超声波测距电路原理图 20附录二:程序清单 21 1 / 291 引言在科

10、学技术日新月异发展的今天,许多场合开始引进电子设备做为辅助检测,针对诸多行业储液罐液位测量的特点和技术要求,设计一种基于超声波传感器的液位高度测量系统。超声波是由机械振动产生的,可在不同介质中以不同的速度传播,由于超声波具有定向性好,能量集中,在传输过程中衰减小,反射能力较强等特点,超声波传感器可广泛应用于非接触式检测法,不受光线,被测物颜色等的影响,它不仅能够定点和连续测液位,而且能方便地提供遥测或遥控所需的信号。与其他侧位技术相比较,它不需要特别防护,安装维修较方便,而且结构方法都较简单,价格低廉。在超声波液位测量技术中,应用最广泛是超声波脉冲回波方法,由发射传感器发出超声波脉冲,传到液面

11、经反射后返回接收传感器,测出超声波脉冲从发射到接受所需的时间,根据媒介中的声速,就能得到从传感器到液面之间的距离,从而确定液位高度。2 课题设计的任务和要求设计一个超声波测距仪,任务:(1).了解超声波测距原理。(2).根据超声波测距原理,设计超声波测距器的硬件结构电路。设计一个超声波测距仪,要求:(1).设计出超声波测距仪的硬件结构电路。(2).对设计的电路进行分析能够产生超声波,实现超声波的发送与接收,从而实现利用超声波方法测量物体间的距离,并且,测距 X 围在 20cm-2m 之间,测量精度控制在 3mm 以内。(3).对设计的电路进行分析。(4).以数字的形式显示测量距离。 2 / 2

12、93 课程的方案设计与论证3.1 系统整体方案的设计由于超声波指向性强,能量消耗缓慢,在介质中传播的距离较远,因而超声波经常用于距离的测量。利用超声波检测距离,设计比较方便,计算处理也较简单,并且在测量精度方面也能达到农业生产等自动化的使用要求。超声波发生器可以分为两大类:一类是用电气方式产生超声波,一类是用机械方式产生超声波。电气方式包括压电型、电动型等;机械方式有加尔统笛、液哨和气流旋笛等。它们所产生的超声波的频率、功率、和声波特性各不相同,因而用途也各不相同。目前在近距离测量方面常用的是压电式超声波换能器。根据设计要求并综合各方面因素,本文采用 AT89S52 单片机作为控制器,用动态扫

13、描法实现 LED 数字显示,超声波驱动信号用单片机的定时器。3.1.1 设计方案一(发射部分)通过 NE555 振荡器设计出振荡电路,产生 40KH 的脉冲在通过CD4069 的驱动作用于超声波发射探头上(如图 3-1) 。(接收部分)将超声波探头接收到的正弦 40KH 超声波信号(其 VPP 为50mV)通过 LM324 运放三级放大以及整形以后产生 VPP 为 3.5V 的梯形波信号,用锁相环电路进行检波处理后,启动单片机中断程序(如图 3-2)1。图 3-1555 超声波发射电路原理图 3 / 29图 3-2324 超声波接收电路原理图3.1.2 设计方案二(发射部分)通过单片机发射 4

14、0KH 的脉冲,在经过 4069 非门,在经过4011 与非门的驱动作用于超声波发射探头上(如图 3-3) 、 (如图 3-4)2。(接收部分)将超声波接受探头接收到的信号通过 CX20106 整形和滤波以后再 CX20106 的 7 脚输出一个 40KH 的脉冲,在单片机的 P3.2 处产生一个下降沿(如图 3-5) 。图 3-3 超声波发射电路原理图 1 4 / 29图 3-4 超声波发射电路原理图 2图 3-5 超声波接收电路原理图 5 / 293.1.3 方案比较以及论证通过方案一和方案二的比较我们可以发现,在方案一中的发射电路中,我们可以用 NE555 振荡产生 40KH 的方波信号

15、,它是基于硬件的基础上,便于我们可以通过示波器观察到 40KH 的方波,具有直观且易于观察的特点,有利于电路的检测。在方案二中,我们可以通过单片机产生 40KH 的脉冲信号,在通过CD4069(或者 74LS04)驱动,将 40KH 的脉冲信号发射出去,由于是软件控制,准确度比较高。经过比较我们发现,在发射电路中方案一的设计是比较经济实惠而且比较方便,但方案二中的软件设计使发射超声波时间比较容易控制,而且超声波的频率准确度比较高,本设计要求测量精度在 3mm 以内,所以我们选择方案二来产生超声波。在接收电路中我们发现,在方案一中我们通过 LM324 三级放大,再通过LM567 检波电路,此电路

16、调试比较复杂,在做三级放大时,放大倍数不容易控制,在输出波形上会发生小幅度的偏移。在方案二中我们通过采用 CX20106 可以将信号进行放大和整形处理,在 CX20106 的 5 脚和 7 脚串联一个 200K 的电阻可以将频率稳定在 40KH。因此在本次设计中,我们选用的是方案二,以提高测量结果的准确度,并且在整个系统中我们都会采用单片机做计算和显示。3.2 系统整体方案的论证超声波测距的原理是利用超声波的发射和接受,根据超声波传播的时间来计算出传播距离。实用的测距方法有两种,一种是在被测距离的两端,一端发射,另一端接收的直接波方式,适用于身高计;一种是发射波被物体反射回来后接收的反射波方式

17、,适用于测距仪。此次设计采用反射波方式3。测距仪的分辨率取决于对超声波传感器的选择。超声波传感器是一种采用压电效应的传感器,常用的材料是压电陶瓷。由于超声波在空气中传播时会有相当的衰减,衰减的程度与频率的高低成正比;而频率高分辨率也高,故短距离测量时应选择频率高的传感器,而长距离的测量时应用低频率的传感器,在本设计中我们采用 40KHZ 的传感器。 6 / 294 系统的硬件结构设计超声波测距仪硬件电路的设计主要包括单片机系统及显示电路、超声波发射电路和超声波检测接收电路三部分。单片机采用 AT89S52,采用 12MHz 高精度的晶振,以获得较稳定时钟频率,减小测量误差。单片机用 P1.0

18、端口输出超声波发射器所需的 40kHz 的方波信号,利用外中断 0 口监测超声波接收电路输出的返回信号。显示电路采用简单实用的四位共阴 LED 动态扫描显示。超声波发射电路主要由 74LS00 和超声波发射器 T-40 构成,单片机 P1.0 端口输出的40kHz 的方波信号一路经一级与非门后送到超声波发射器的一个电极,另一路经两级与非门后送到超声波发射器的另一个电极,用这种推换形式将方波信号加到超声波换能器的两端,可以提高超声波的发射强度。压电式超声波换能器是利用压电晶体的谐振来工作的。超声波换能器内部有两个压电晶片和一个换能板。当它的两极外加脉冲信号,其频率等于压电晶片的固有振荡频率时,压

19、电晶片会发生共振,并带动共振板振动产生超声波,这时它就是一个超声波发生器;反之,如果两电极问未外加电压,当共振板接收到超声波时,将压迫压电晶片作振动,将机械能转换为电信号,这时它就成为超声波接收换能器。超声波检测接收电路主要是由集成电路 CX20106A 组成,它是一款红外线检波接收的专用芯片,常用于电视机红外遥控接收器。考虑到红外遥控常用的载波频率 38 kHz 与测距的超声波频率 40 kHz 较为接近,可以利用它制作超声波检测接收电路。实验证明用 CX20106A 接收超声波(无信号时输出高电平),具有很好的灵敏度和较强的抗干扰能力。4.1 各芯片功能特点简介4.1.1 52 系列单片机

20、的功能特点At89s52 是一种低功耗、高性能 CMOS8 位微控制器,具有 8K 在系统可编程 Flash 存储器。使用 Atmel 公司高密度非 易失性存储器技术制造,与工业80C51 产品指令和引脚完 全兼容。片上 Flash 允许程序存储器在系统可编程,亦适于 常规编程器。在单芯片上,拥有灵巧的 8 位 CPU 和在系统 可编程Flash,使得 AT89S52 为众多嵌入式控制应用系统提 供高灵活、超有效的解决方案。该系列单片机引脚与封装如图 4-1 所示。 7 / 29图 4-1 51 单片机系列封装图AT89S52 具有以下标准功能: 8k 字节 Flash,256 字节 RAM,

21、 32 位 I/O 口线,看门狗定时器,2 个数据指针,三个 16 位 定时器/计数器,一个 6 向量2 级中断结构,全双工串行口, 片内晶振及时钟电路。另外,AT89S52 可降至0Hz 静态逻辑操作,支持 2 种软件可选择节电模式。空闲模式下,CPU 停止工作,允许 RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结, 单片机一切工作停止,直到下一个中断或硬件复位为止。8 位微控制器 8K 字节在系统可编程 Flash AT89S52 引脚 P0 口:P0口是一个 8 位漏极开路的双向 I/O 口。作为输出口,每位能驱动 8 个 TTL 逻辑电平。对

22、 P0 端口写“1”时,引脚用作高阻抗输入4。4.1.2 CX20106 简介及其调试其内部结构图(如图 4-2)中,CX20106 的总放大增益约为 80dB,以确保其 7 脚输出的控制脉冲序列信号幅 3.5-5VX 围内。总增益大小由 2 脚外接的 R1, C1 决定,R1 越小或 C 越大,增益越高。C1 取值过大时将造成频率响应变差,通常取为 luf,C2 为检波电容,一般取 3.3UF, CX20106 采用峰值检波方式,当C2 容量较大时将变成乎均值检波,瞬态响应灵敏度会变低,C2 较小时虽然仍为峰值检波,且瞬态响应灵敏度很高,但检波输出脉冲宽度会发生较大变动,容易造成解调出错而产

23、生误操作。R2 为带通滤波器中心频率 f0 的外部电阻,改变 R2 阻值,可改变载波信号的接受频率,当 f0 偏离载波频率时,放大增益会显著下降,C3 为积分电容,一般取 330PF,取值过大,虽然可使抗干扰能力增强,但也会使输出编码脉冲的低电平持续时间增长,造成遥控距离变短。7 脚为输 8 / 29出端,CX20106 处理后的脉冲信号由 7 脚输出给后续电路在加工处理推动负载工作。一些资料表示,在 CX20106 的 1 脚输入 0.2mV 的信号。在 5 脚将会输出滤波后放大的有用信号。在实测中,5 脚并没有一个放大的信号输出。实际调试的时候只关心芯片的 7 脚在收到信号是是否有一个下降

24、沿产生。在本电路的调试中,如果一直发射超声波,在 7 脚将会有周期的低电平产生。不会像通常认为的那样,即一直发射信号时,7 脚一直为低电平。这是刚用 CX20106 时的一个常见错误。只要通过单片机来来计算发射信号时到收到信号是产生下降沿这段时间的长度,再通过数学计算,转化为距离,然后在显示器上显示。图 4-2 CX20106 内部结构图4.1.374ls573 管脚及功能特点74ls573 管脚排列图及逻辑图(图 4-3)如下: 9 / 29图 4-3 74ls573 管脚排列图(左)及逻辑图(右)74ls573 功能特点如下表所示:表 4-1 74ls573 功能特点输入输出控制使能数据输

25、出/OCGDQLHHHLHLLLLQ0HZH=高电平 L=低电平 =不定 Z=高阻 Q0=建立稳定条件前 Q 的状态4.24.2 测距原理及框图测距原理及框图4.2.1 超声波测距的原理超声波测距从机理上可以分为共振式和脉冲反射式两种,该设计采用后者。 10 / 29工作时由超声波发射极发射超声波,同时开始计时,超声波在空气中传播,当碰到障碍物时,由于其良好的反射能力而被反射,由超声波接收极接收,此时计时结束。记超声波往返的时间为 t,根据 s=ct/2 计算超声波收发极与障碍物之间的距离,这就是通常所说的渡越时间法,也称时间差测距法。其中 c 为超声波波速,与环境温度有关,在测量精度要求高的

26、场合要考虑温度影响,可由软件进行调整补偿;在测量精度要求不是很严格的情况下,可以忽略温度的影响,超声波波速与温度的关系如下表5:表 4-2 超声波波速与温度的关系表温度()-30-20-100102030100声速(ms)3133193253233383443493864.2.2 超声波测距仪原理框图应用单片机软件产生 40kHZ 的信号,经驱动放大后通过超声波发射器输出;超声波接收器将接收到的超声波信号经放大器放大,用锁相环电路进行检波处理后,启动单片机中断程序,测得时间为 t,再由软件进行判别、计算,得出距离数并送 LED 显示。 (如图 4-4):放大检波电路超声波接收器驱动放大电路定时

27、器单片机控制显示器超声波发射器图 4-4 超声波测距仪原理框图4.3 超声波发射电路超声波发射电路原理图如图 4-5 所示。发射电路主要由与非门 74LS00 和超声波发射换能器 T-40 构成。压电式超声波换能器是利用压电晶体的谐振来工作的。超声波换能器内部有两个压电晶片和一个换能板。当它的两极外加脉冲信号,其频率等于压电晶片的固有振荡频率时,压电晶片会发生共振,并带动共振板振动产生超声波, 11 / 29这时它就是一个超声波发生器;反之,如果两电极问未外加电压,当共振板接收到超声波时,将压迫压电晶片作振动,将机械能转换为电信号,这时它就成为超声波接收换能器。超声波发射换能器与接收换能器在结

28、构上稍有不同,使用时应分清器件上的标志。图 4-5 超声波发射电路原理图4.4 超声波检测接收电路集成电路 CX20106A 是一款红外线检波接收的专用芯片,常用于电视机红外遥控接收器。考虑到红外遥控常用的载波频率 38 kHz 与测距的超声波频率 40 kHz 较为接近,可以利用它制作超声波检测接收电路(如图 4-6)。实验证明用CX20106A 接收超声波(无信号时输出高电平),具有很好的灵敏度和较强的抗干扰能力。 12 / 29图4-6超声波检测接收电路4.5 数据显示部分电路显示电路主要由单片机,74ls573 和四位动态共阴数码管构成,其中数据锁存由 74ls573 完成,单片机 I

29、/O 口 P0 口作为数码管段选端口,P2 口作为数码管位选端口,具体电路如图 4-7 所示:图4-7 数据显示电路 13 / 294.6 超声波测距系统的硬件电路设计本系统的特点是利用单片机控制超声波的发射和对超声波自发射至接收往返时间的计时,然后直接将测量的距离用共阴数码管显示出来。单片机选用AT89S52,经济易用,且片内有 8K 的可编程 FLASH,便于编程。电路原理图如图 4-8 所示6。图4-8超声波测距电路原理图 14 / 295 系统的软件编程设计超声波测距仪的软件设计主要由主程序、超声波发生子程序、超声波接收中断程序及显示子程序组成。我们知道 C 语言程序有利于实现较复杂的

30、算法,汇编语言程序则具有较高的效率且容易精细计算程序运行的时间,而超声波测距仪的程序既有较复杂的计算(计算距离时) ,又要求精细计算程序运行时间(超声波测距时) ,所以控制程序可采用 C 语言和汇编语言混合编程。5.1 超声波测距仪的算法设计超声波测距的原理为超声波发生器 T 在某一时刻发出一个超声波信号,当这个超声波遇到被测物体后反射回来,就被超声波接收器 R 所接收到。这样只要计算出从发出超声波信号到接收到返回信号所用的时间,就可算出超声波发生器与反射物体的距离。距离的计算公式为:(1) = 2 =( )2其中,d 为被测物与测距仪的距离,s 为声波的来回的路程,c 为声速,t 为声波来回

31、所用的时间。在启动发射电路的同时启动单片机内部的定时器 T0,利用定时器的计数功能记录超声波发射的时间和收到反射波的时间。当收到超声波反射波时,接收电路输出端产生一个负跳变,在 INT0 或 INT1 端产生一个中断请求信号,单片机响应外部中断请求,执行外部中断服务子程序,读取时间差,计算距离。5.2 主程序流程图软件分为两部分,主程序和中断服务程序,主程序完成初始化工作、各路超声波发射和接收顺序的控制。 定时中断服务子程序完成超声波的发射,外部中断服务子程序主要完成时间值的读取、距离计算、结果的输出等工作。程序首先是对系统环境初始化,设置定时器 T0 工作模式为 16 位定时计数器模式。置位

32、总中断允许位 EA 并给显示端口 P0 和 P2 置位(本设计采用四位共阳 LED 动态显示,P0 为段选口,P2 为位选口,均低电平有效) 。然后调用超声波发生子程序送出一个超声波脉冲,为了避免超声波从发射器直接传送到接收器引起的直射波触发,需要延时约 0.1 ms(这也就是超声波测距仪会有一个最小可测距离的原因)后,才打开外中断 0 接收返回的超声波信号。由于采用的是 12 MHz 的晶振,计数器每计一个数就是 1s,当主程序检测到接收成功的标志位后,将计数器 T0 中的数(即超声波来回所用的时间)按式(2)计算, 15 / 29即可得被测物体与测距仪之间的距离,设计时取 20时的声速为

33、344 m/s 则有:(2) =( )2 = 1720 10000其中,T0 为计数器 T0 的计算值。测出距离后结果将以十进制 BCD 码方式送往 LED 显示约 0.5s,然后再发超声波脉冲重复测量过程。为了有利于程序结构化和容易计算出距离,主程序采用 C 语言编写,主程序流程图如下(图 5-1):开始单片机初始化外部中断子程序33序超声波发射子程序33序返回LED 显示是否有回波?图5-1 主程序流程图 16 / 295.3 超声波发生子程序和超声波接收中断程序超声波发生子程序的作用是通过 P1.0 端口发送 10 个左右超声波脉冲信号(频率约 40kHz 的方波) ,脉冲宽度为 12s

34、 左右,同时把计数器 T0 打开进行计时。超声波发生子程序较简单,但要求程序运行准确,所以采用汇编语言编程。超声波测距仪主程序利用外中断 0 检测返回超声波信号,一旦接收到返回超声波信号(即 INT0 引脚出现低电平) ,立即进入中断程序。进入中断后就立即关闭计时器 T0 停止计时,并将测距成功标志字赋值 1。如果当计时器溢出时还未检测到超声波返回信号,则定时器 T0 溢出中断将外中断 0 关闭,并将测距成功标志字赋值 2 以表示此次测距不成功7。程序流程图如下(图 5-2):定时中断入口定时器初始化发射超声波停止发射返回外部中断入口关外部中断读取时间值计算距离结果输出开外部中断返回发射完否?

35、图5-2 超声波发射接受子程序 17 / 295.4 系统的软硬件调试硬件调试具体过程如下:(1).检查电路是否存在虚短的情况;(2).将电路联通后,用示波器观察发射端是否产生 40K 超声波;(3).在发射电路正常的情况下,用示波器观察接收端波形,并与发射端波形进行比较观察;(4).调试显示部分。硬件电路制作完成并调试好后,便可将测试程序下载到单片机试运行,检查电路是否能够正常运行,在电路正常的情况下将超声波测距程序下载到单片机中运行。根据实际情况可以修改超声波发射子程序每次发送的脉冲宽度和两次测量的间隔时间,以适应不同距离的测量需要。根据所设计的电路参数和程序,测距仪能测的 X 围为 20

36、cm2m,测距仪最大误差不超过 3mm。系统调试完后应对测量误差和重复一致性进行多次实验分析,不断优化系统使其达到实际使用的测量要求。单片机测试程序如下:unsigned code table=0 x01,0 x03,0 x07,0 x0f,0 x1f,0 x3f,0 x7f,0 xff;void delay(int z)int x,y; for(x=z;x0;x-) for(y=110;y0;y-);void main() int i;while(1) i+; if(i=8) i=0; P0=tablei;delay(50);P1=tablei;delay(50);P2=tablei;del

37、ay(50);P3=tablei; 18 / 29delay(50);6 结束语设计的最终结果是使超声波测距仪能够产生超声波,实现超声波的发送与接收,从而实现利用超声波方法测量液面与测距仪之间的距离,再计算出液位高度,以数字的形式显示测量距离。在毕业设计的短短几个月里,我学到了很多,实质性的了解到了超声波传感器的原理及其应用方法和应该注意的事项,同时也让我对单片机方面的知识了解的更加深刻,懂得融会贯通,将理论结合到实际的电路设计上来。最后感谢导师在毕业设计中对我给予的悉心指导和严格要求,各位老师给我提供了种种专业知识和文本格式上的指导,同时也感谢有经验的同学在毕业设计期间所给予我得帮助。 19

38、 / 29参考文献1 华成英.模拟电子技术基础M.:高等教育,2006.2 边春元.C51 单片机典型模拟设计与应用M.:机械工业,2008.3 何希才.传感器及其应用电路M.:电子工业,2001.4 杨文龙.单片机原理及应用M.某:某电子科技大学,2003.5 翟国富 ,X 茂恺 .一种实时高精度的机器人用超声波测距处理方法J.应用声学, 2008(1)1:7-2 46 郭惠.Protel 99SE 常用功能与应用实例精讲J.:电子工业,2008.7 胡汉才.单片机原理及其接口技术M.:清华大学,2004.8 何希才.新型集成电路及应用M.:航空航天大学出社,20039 阎石.数字电子技术基

39、础M.:高等教育,2004.10Figneroa J F,L amancusa J S.A method for accurate detection of time Of arrival:Analysis and design of an ultrasonic rangjing systemJ.J A Cout Soc Am,2007,91(1):486-494.11Grmmel P M.Imrove ultrasonic detection using the analytic signal magi-tade J.Ultrasonics,2009,19(2):73-76.12PROFIB

40、US.Specification.orderN. NO.0.032. 20 / 29附录一:超声波测距电路原理图图 8-1 超声波测距电路原理图 21 / 29附录二:程序清单/*-超声测距器单片机程序MCU AT89S52 XAL 12MHz-*/#include #define uchar unsigned char#define uint unsigned int#define ulong unsigned longUcharcodetemp=0 xfc,0 x60,0 xda,0 xf2,0 x66,0 xb6,0 xbe,0 xe0,0 xfe,0 xf6,0 xee,0 x3e,0

41、 x9c,0 x7a,0 x9e,0 x8e,0 x02,0 x00;extern void cs_t(void);extern void delay(uint);data uchar testok; data uint ge,shi,bai,qian;void display(uint x,uint y,uint z,uint m) P0 = tempx; P2 = 0 xf7; delay(2); P0 = tempy; P2 = 0 xfd; delay(2); P0 = tempz; P2 = 0 xfb; delay(2); P0 = tempm; P2 = 0 xfe; delay

42、(2); /*主程序*/void main(void)data uint i; 22 / 29data ulong time;P0 = 0 xff; P2 = 0 xff; TMOD = 0 x01;IE = 0 x80;IT0 = 1;while (1) cs_t(); delay(1); testok = 0; EX0 = 1; ET0 = 1; while (!testok) display(ge,shi,bai,qian); if (1 = testok) time = TH0; time = (time8) | TL0; time *=172; time /= 10000; ge=

43、(uchar) (time % 10); time /= 10; shi = (uchar) (time % 10); time /= 10; bai= (uchar) (time % 10); qian = (uchar) (time / 10); if (0 = qian) qian=17; else ge = 16; shi = 16; bai = 16; qian = 16; 23 / 29 for (i=0; i300; i+) display(ge,shi,bai,qian); /*超声接收程序(外中断 0)*/void cs_r(void) interrupt 0 TR0 = 0

44、; ET0 = 0; EX0 = 0; testok = 1;/*超时清除程序(内中断 T0)*/void overtime(void) interrupt 1 EX0 = 0; TR0 = 0; ET0 = 0; testok = 2;-;超声发生子程序(12M 晶振 38.5Hz);- NAME CS_T?PR?CS_T?CS_T SEGMENT CODE PUBLIC CS_T RSEG ?PR?CS_T?CS_TCS_T: PUSH ACC MOV TH0, #00H MOV TL0, #00H MOV A, #4D SETB TR0 24 / 29CS_T1: CPL P1.0 NO

45、P NOP NOP NOP NOP NOP NOP NOP NOP NOP DJNZ ACC, CS_T1 POP ACC RET END;-;延时 100 机器周期*参数(165535);- NAME DELAY?PR?_DELAY?DELAY SEGMENT CODE PUBLIC _DELAY RSEG ?PR?_DELAY?DELAY_DELAY: PUSH ACC ;2MOV A, R7 ;1 JZ DELA1 ;2INC R6 ;1DELA1: MOV R5, #50D ;2 DJNZ R5, $ ;2 DJNZ R7, DELA1 ;2 DJNZ R6, DELA1 ;2 POP ACC ;2 RET ;2 END

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 在线阅读 > 生活休闲


备案号:宁ICP备20000045号-1

经营许可证:宁B2-20210002

宁公网安备 64010402000986号