《超声波测距报警系统设计.doc》由会员分享,可在线阅读,更多相关《超声波测距报警系统设计.doc(27页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、【精品文档】如有侵权,请联系网站删除,仅供学习与交流超声波测距报警系统设计.精品文档.摘 要随着科技的发展,人们生活水平的提高,城市发展建设加快,城市给排水系统也有较大发展,其状况不断改善。但是,由于历史原因合成时间住的许多不可预见因素,城市给排水系统,特别是排水系统往往落后于城市建设。因此,经常出现开挖已经建设好的建筑设施来改造排水系统的现象。城市污水给人们带来了困扰,因此箱涵的排污疏通对大城市给排水系统污水处理,人们生活舒适显得非常重要。而设计研制箱涵排水疏通移动机器人的自动控制系统,保证机器人在箱涵中自由排污疏通,是箱涵排污疏通机器人的设计研制的核心部分。控制系统核心部分就是超声波测距仪
2、的研制。因此,设计好的超声波测距仪就显得非常重要了。本设计采用以AT89C51单片机为核心的低成本、高精度、微型化数字显示超声波测距仪的硬件电路和软件设计方法。整个电路采用模块化设计,由主程序、预置子程序、发射子程序、接收子程序、显示子程序等模块组成。各探头的信号经单片机综合分析处理,实现超声波测距仪的各种功能。在此基础上设计了系统的总体方案,最后通过硬件和软件实现了各个功能模块。相关部分附有硬件电路图、程序流程图。经实验证明,这套系统软硬件设计合理、抗干扰能力强、实时性良好,经过系统扩展和升级,可以有效地解决汽车倒车、建筑施工工地以及一些工业现场的位置监控。关键词:AT89c51; 超声波;
3、 测距AbstractWith the development of science and technology, the improvement of peoples standard of living, speeding up the development and construction of the city. urban drainage system have greatly developed their situation is constantly improving. However, due to historical reasons many unpredicta
4、ble factors in the synthesis of her time, the city drainage system. In particular drainage system often lags behind urban construction. Therefore, there are often good building excavation has been building facilities to upgrade the drainage system phenomenon. It brought to the city sewage, and it is
5、 clear to the city sewage and drainage culvert in the sewage treatment system. comfort is very important to peoples lives. Mobile robots designed to clear the drainage culvert and the automatic control system Free sewage culvert clear guarantee robot, the robot is designed to clear the culvert sewag
6、e to the core. Control System is the core component of the development of ultrasonic range finder. Therefore, it is very important to design a good ultrasonic range finder.At the core of the design using AT89C51 low-cost, high accuracy, Micro figures show that the ultrasonic range finder hardware an
7、d software design methods. Modular design of the whole circuit from the main program, pre subroutine fired subroutine receive subroutine. display subroutine modules form. SCM comprehensive analysis of the probe signal processing, and the ultrasonic range finder function. On the basis of the overall
8、system design, hardware and software by the end of each module.The research has led to the discovery that the software and hardware designing is justified, the anti-disturbance competence is powerful and the real-time capability is satisfactory and by extension and upgrade, this system can resolve t
9、he problem of the car availably, building construction the position of the workplace and some industries spot supervision.Key words:AT89S52 Silent Wave Measure Distance目 录1.绪论11.1 设计的目的及其意义21.2 设计任务及要求22.整体方案42.1系统整体方案的设计42.2系统整体方案的论证42.3超声波测距原理框图43系统的硬件结构设计63.1 硬件电路设计63.2 各主要模块的硬件设计63.2.1 超声波发射电路83
10、.2.2 超声波检测接收电路83.2.3 复位功能93.2.4 显示电路设计103.2.5 声音报警模块134系统软件的设计144.1.软件开发环境144.2 程序设计144.3 程序流程说明154.3.1 主程序154.3.2 定时中断服务子程序154.3.3 距离计算子程序164.4 程序清单165.调试过程175.1 使用仪器设备175.2 调试中的问题及解决方案175.2.1测距程序175.2.2报警功能176. 总 结18致 谢20参考文献21附录I 超声波测距电路原理图22附录II 超声波测距PCB23附录III 程序清单241.绪论超声波传感技术可以方便的应用在工业测、控系统,机
11、器人感觉系统、行走系统中。人类的耳朵只能分辨频率为20至2万赫兹的声音,频率比人的听频范围高的声波就叫做超声波。不同的动物可听到的声波频率范围不尽相同。超声波对于蝙蝠更为重要,这种动物是靠超声波来“看”世界! 蝙蝠先会发出一连串超声的尖叫声,声波遇到障碍物便会反射,就像我们向山谷拍手会听到回声一样。由于超声波的频率高,相对较少出现绕射现象,所以回声十分清晰。蝙蝠分析回声的方向和回传时间,便可以知道环境的精确图像。同样的道理,可以更改频率获得能在空气中传播的超声波,这样的声波遇到障碍物的时候返回,因此,通过分析时间间隔的大小可以获得本体与障碍物间的距离,这样的检测称为无接触测量技术,有广泛的运用
12、场合。 因此超声波装置尤其适用于存在/非存在监测、精确距离监测,或其它类型传感技术不能很好的发挥作用的应用领域,如监测透明或发光物体、充满雾气或尘埃的空气,或是喷射状液体,而且随着性能的提升,可以进一步取代其他的检测方式,以其便捷性和精度高等优势成为一种理想和被推荐的检测,有更广的应用前景。 目前,人们已经制成了许多超声波发生器。超声波发生器可以分为两大类:一类是用电气方式产生超声波,一类是用机械方式产生超声波。电气方式包括压电型、磁致伸缩型和电动型等;机械方式有加尔统笛、液哨和气流旋笛等。它们所产生的超声波的频率、功率和声波特性各不相同,因而用途也各不相同。目前较为常用的是压电式超声波发生器
13、。随着科学技术的快速发展,超声波将在测距仪中的应用越来越广。但就目前技术水平来说,人们可以具体利用的测距技术还十分有限,因此,这是一个正在蓬勃发展而又有无限前景的技术及产业领域。展望未来,超声波测距仪作为一种新型的非常重要有用的工具在各方面都将有很大的发展空间,它将朝着更加高定位高精度的方向发展,以满足日益发展的社会需求,如声纳的发展趋势基本为:研制具有更高定位精度的被动测距声纳,以满足水中武器实施全隐蔽攻击的需要;继续发展采用低频线谱检测的潜艇拖曳线列阵声纳,实现超远程的被动探测和识别;研制更适合于浅海工作的潜艇声纳,特别是解决浅海水中目标识别问题;大力降低潜艇自噪声,改善潜艇声纳的工作环境
14、。无庸置疑,未来的超声波测距仪将与自动化智能化接轨,与其他的测距仪集成和融合,形成多测距仪。随着测距仪的技术进步,测距仪将从具有单纯判断功能发展到具有学习功能,最终发展到具有创造力。在新的世纪里,面貌一新的测距仪将发挥更大的作用。1.1 设计的目的及其意义利用超声波作为定位技术是蝙蝠等一些无目视能力的生物作为防御及捕捉猎物生存的手段,也就是由生物体发射不被人们听到的超声波(20kHz以上的机械波),借助空气媒质传播,由被待捕捉的猎物或障碍物反射回来的时间间隔长短与被反射的超声波的强弱判断猎物性质或障碍位置的方法。超声波是由机械振动产生,可在不同介质中以不同的速度传播。而且超声波的速度相对于光速
15、要小的多,其传播时间就比较容易检测。并且超声波具有定向性好、能量集中、在传输过程中衰减较小、反射能力较强等优点,超声波传感器可广泛应用于非接触式检测方法,因而采用仿真技能利用超声波测距。 由于超声波易于定向发射、方向性好、强度易控制、与被测量物体不需要直接接触的优点,是作为液体高度测量的理想手段。在精密的液位测量中需要达到毫米级的测量精度,但是目前国内的超声波测距专用集成电路都是只有厘米级的测量精度。通过分析超声波测距误差产生的原因,提高测量时间差到微秒级,以及用LM92温度传感器进行声波传播速度的补偿后,我们设计的高精度超声波测距仪能达到毫米级的测量精度。 1.2 设计任务及要求 利用所学数
16、字电子技术、信号处理、控制等技术,设计、制作并调试完成一个单片机最小化系统。在此基础上,将最小系统与综合实验开发平台上的超声波模块、显示模块进行正确的连接(如图1.1所示),使单片机可接收超声波模块输出的距离信号,并对其进行合理的处理后,在显示模块上实时显示超声波模块与障碍物的距离。图1.1 系统连接示意图具体要求:l 实验开发平台上的数码管可实时现实障碍无语超声波的距离信息,单位为cm,精确到小数点后1位;l 当测试距离小于10或大于50时报警,且以上两种情况的报警方式需有明显的区别;l 系统应具备测距启动功能,或当系统报警后,可以复位系统,使其开始重新测距。 2.整体方案2.1系统整体方案
17、的设计 由于超声波指向性强,能量消耗缓慢,在介质中传播的距离较远,因而超声波经常用于距离的测量。利用超声波检测距离,设计比较方便,计算处理也较简单,并且在测量精度方面也能达到农业生产等自动化的使用要求。 超声波发生器可以分为两大类:一类是用电气方式产生超声波,一类是用机械方式产生超声波。电气方式包括压电型、电动型等;机械方式有加尔统笛、液哨和气流旋笛等。它们所产生的超声波的频率、功率、和声波特性各不相同,因而用途也各不相同。目前在近距离测量方面常用的是压电式超声波换能器。根据设计要求并综合各方面因素,本文采用AT89C51单片机作为控制器,用动态扫描法实现LED数字显示,超声波驱动信号用单片机
18、的定时器。2.2系统整体方案的论证 超声波测距的原理是利用超声波的发射和接受,根据超声波传播的时间来计算出传播距离。实用的测距方法有两种,一种是在被测距离的两端,一端发射,另一端接收的直接波方式,适用于身高计;一种是发射波被物体反射回来后接收的反射波方式,适用于测距仪。此次设计采用反射波方式。 测距仪的分辨率取决于对超声波传感器的选择。超声波传感器是一种采用压电效应的传感器,常用的材料是压电陶瓷。由于超声波在空气中传播时会有相当的衰减,衰减的程度与频率的高低成正比;而频率高分辨率也高,故短距离测量时应选择频率高的传感器,而长距离的测量时应用低频率的传感器。2.3超声波测距原理框图单片机发出40
19、kHZ的方波信号,经放大后通过超声波发射器输出;超声波接收器将接收到的超声波信号经放大器放大,用锁相环电路进行检波处理后,启动单片机中断程序,测得时间为t;再通过软件编程进行判别、计算,得出所测距离数并经由LED数码管显示,其原理框图如图2.1。图2.1 超声波测距仪原理框图单片机在时刻发射方波,同时启动定时器开始计时,当收到回波后,产生一个负跳变到单片机中端口,单片机响应中断程序,定时器停止计数。计算时间差,即可得到超声波在媒介中传播的时间,由此便可计算出距离。其时序图如图2.2所示。图2.2 超声波时序图发射器发出的超声波以速度在空气中传播,在到达被测物体时被反射返回,由接收器接收,其往返
20、时间为t。由公式:测出的距离=常温下的声速340感应时间,算出被测物体的距离。由于超声波也是一种声波,其声速v与温度有关,下表列出了几种不同温度下的声速。在使用时,如果温度变化不大,则可认为声速是基本不变的。如果测距精度要求很高,则应通过温度补偿的方法加以校正。表2-1 超声波波速与温度的关系表温度()-30-20-100102030100声速(ms)3133193253233383443493863系统的硬件结构设计3.1 硬件电路设计硬件电路的设计主要包括单片机系统及显示电路、超声波发射电路和超声波检测接收电路三部分。单片机采用STC89C51或其兼容系列。采用12MHz高精度的晶振,以获
21、得较稳定时钟频率,减小测量误差。单片机用P2.4端口输出超声波换能器所需的40kHz的方波信号,利用外中断0口监测超声波接收电路输出的返回信号。显示电路采用简单实用的4位共阳LED数码管,段码用程序驱动,位码用PNP三极管8550驱动。3.2 各主要模块的硬件设计1.STC89C51芯片简介5l系列单片机中典型芯片(STC89C51)采用40引脚双列直插封装(DIP)形式,内部由CPU,8kB的ROM,256 B的RAM,2个16b的定时计数器TO和T1,4个8 b的IO端I:IP0,P1,P2,P3,一个全双功串行通信口等组成。特别是该系列单片机片内的Flash可编程、可擦除只读存储器(EP
22、ROM),使其在实际中有着十分广泛的用途,在便携式、省电及特殊信息保存的仪器和系统中更为有用。该系列单片机引脚与封装如图3.1所示。图3.1 51系列单片机引脚图2.引脚功能说明(1)VCC:电源电压(2)GND:接地(3)RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。(4)/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。(5)XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。(6)XTAL2:来自反向振荡器的输出。(7)P0口:P0口为一个8位漏级开路双向I/O口,也即地址/数据总线复
23、用口。作为输出口用时,每脚可吸收8TTL门电流。(8)P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能吸收或输出4TTL门电流。 (9)P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可吸收或输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。(10)P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可吸收或输出4个TTL门电流。P3口也可作为AT89C51的一些特殊功能口,如下表1所示。表3-1 P3特殊功能口口管脚备选功能P3.0 RXD串行输入口P3.1 TXD串行输出口P3.2 /INT0外部中断0P3.3 /IN
24、T1外部中断1P3.4 T0记时器0外部输入P3.5 T1记时器1外部输入P3.6 /WR外部数据存储器写选通P3口同时为闪烁编程和编程校验接收一些控制信号。(11)ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。(12)/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。3.2.1 超声波发射电路超声波发射电路原理图如图3.2所示。发射电路主要由反相器74LS04和超声波发射换能器T构成,单片机P1.0端口输出的40kHz的方波信号一路经一级反向器后
25、送到超声波换能器的一个电极,另一路经两级反向器后送到超声波换能器的另一个电极,用这种推换形式将方波信号加到超声波换能器的两端,可以提高超声波的发射强度。输出端采两个反向器并联,用以提高驱动能力。上位电阻R1O、R11一方面可以提高反向器74LS04输出高电平的驱动能力,另一方面可以增加超声波换能器的阻尼效果,缩短其自由振荡时间。图3.2 超声波发射电路原理图 3.2.2 超声波检测接收电路集成电路CX20106A是一款红外线检波接收的专用芯片,常用于电视机红外遥控接收器。考虑到红外遥控常用的载波频率38 kHz与测距的超声波频率40 kHz较为接近,可以利用它制作超声波检测接收电路(如图3.3
26、)。实验证明用CX20106A接收超声波(无信号时输出高电平),具有很好的灵敏度和较强的抗干扰能力。图3.3超声波检测接收电路 3.2.3 复位功能系统应具备测距启动功能,可以复位系统,使其开始重新测距。采用开发平台中的按键模块实现。综上所述本系统的特点是利用单片机控制超声波的发射和对超声波自发射至接收往返时间的计时,单片机选用STC89C51,经济易用,且片内有4K ROM,便于编程。电路原理图如图3.4所示。图3.4 超声波测距电路原理图3.2.4 显示电路设计显示电路采用简单实用的4位共阳LED数码管,段码用74LS244驱动,位码用PNP三级管驱动。接P2.1引脚的为个位显示数码管,其
27、小数点在P2.1有效时显示,此功能由软件来完成。为了显示单片机输出的超声波测得的距离,便于验证程序逻辑和电路的正确性,系统使用了四位数码管显示所测得的距离。为了让显示部分不因为数码管位数增加而占用单片机更多的口,同时使显示更为灵活,本次拟采用的是将8155芯片和基本数码管显示电路相结合的动态显示方式。因此,这里关于显示模块需要先将8155芯片和显示方式,以及基本的数码管电路连接作相应的说明。(1).8155芯片简介8155芯片是单片机应用系统中广泛应用的芯片之一,其内部结构如下图3.5所示:图3.5 8155结构框图由图可知,8155内部包含:. SRAM:容量为256字节;. 并行口:可编程
28、的8位口A、B、和6位口C;. 计数器:一个14位的二进制减法计数器;. 只允许写入的8位命令寄存器/只允许读出的8位状态寄存器。相应的一些引脚功能如下:AD7AD0:三态地址/数据总线。可以直接和80C51系列单片机的P0口连接。ALE:地址锁存允许信号输入端。其信号的下降沿将AD7/AD0线上的8位地址所存在内部地址寄存器中。:片选信号。:内端口和SRAM选择信号。高电平时,选择内部端口;当位低电平时,选择SRAM。:写选通信号。低电平时,将AD7AD0上的数据写入SRAM的某一单元或写入某一端口。:读选通信号。低电平有效时,将8155SRAM某单元的内容读至数据总线,或将内部端口的内容读
29、至数据总线。PA7PA0:A口的8根通用I/O线。数据的输入或输出的方向由可编程的命令寄存器内容决定。PB7PB0:A口的8根通用I/O线。数据的输入或输出的方向由可编程的命令寄存器内容决定。PC5PC0:C口的6根数据/控制线。通用I/O方式时传送I/O数据,A或B口选通I/O方式时传送的控制和状态信息。控制功能的实现由可编程命令寄存器内容决定。显示方式:显示分为静态显示和动态显示两种。静态显示是指显示器显示某一字符时,相应段的数码管的发光二极管恒定地导通或截止。所谓动态显示,就是一位一位地轮流点亮显示器的各个位。对于显示器的每一位而言,每隔一段时间点亮一次。虽然在同一时刻只有一位显示器在工
30、作,但由于人眼的视觉暂留效应和二级管熄灭的余辉,我们看到的却是多个字符“同时”显示。当显示器位数较多时,一般采用动态显示。正因为动态显示的灵活和较广的适用性,因此本次系统显示部分就采用动态显示。但由于动态显示需要较多的I/O口,因此需要8155进行端口扩展,若显示器的位数不大于8位,则控制显示器公共极电位只需一个I/O口(字位口),控制各位LED显示器所显示的字形也需要一个8位口(字形口)。8155的端口A可以作为字位口,端口B作为字形口。此外需要注意的是,作为显示用的数码管分为共阳极数码管和共阴极数码管。共阳极数码管需要把公共端接高电位,用低电平控制;共阴极数码管则是把公共端接低电位,用高电
31、平控制。共阴极数码管对单片机提供电压的要求较低。本次设计采用了共阴极数码管。LED显示模块:LED是英文light emitting diode(发光二极管)的缩写,它的基本结构是一块电致发光的半导体材料,置于一个有引线的架子上,然后四周用环氧树脂密封,起到保护内部芯线的作用,所以LED的抗震性能好。在本系统中使用八个LED灯,分别连接单片机的P1.0P1.7口。正常工作时亮灯数越多表示距离越接近,从而达到视觉上的警示作用。3.2.5 声音报警模块在单片机系统中,除了显示器件外经常用到发声器件,最常见的发声器件就是蜂鸣器。蜂鸣器一般用于一些要求不高的声音报警及发出按键操作提示音等。虽然蜂鸣器也
32、有自己固有的频率,但是也可以对其施加不同频率的方波,使之发出一些简单的乐曲。蜂鸣器最重要的特点是只要按照极性要求加上合适的直流电压就可以发出固有频率的声音,使用起来比扬声器简单。采用一个蜂鸣器,由P2.4输出一定频率的信号,在连接到蜂鸣器之前,经过一个三极管8050的放大。报警部分的连线,如图所示。当满足距离条件时,蜂鸣器蜂鸣工作提示驾驶员,具有较强的实用性。采用有源蜂鸣器作为报警发音器件,一是器件成本低,二是便于动态扫描显示的软件编程。蜂鸣器与单片机接口电路如图3.6所示:图3.6 蜂鸣器的电路原理图4系统软件的设计超声波测距仪的软件设计主要由主程序、超声波发生子程序、超声波接收中断程序及显
33、示子程序组成。我们知道C语言程序有利于实现较复杂的算法,汇编语言程序则具有较高的效率且容易精细计算程序运行的时间,而超声波测距仪的程序既有较复杂的计算(计算距离时),又要求精细计算程序运行时间(超声波测距时),所以控制程序可采用C语言和汇编语言混合编程。4.1.软件开发环境开发环境是指编写程序所需的工具和一些其它的辅助软件工具,这里重点介绍Keil软件以及汇编语言。在研制单片机应用系统时,汇编语言是一种常用的软件工具,它能直接操作硬件,指令的执行速度快。但其指令系统的固有格式受硬件结构的限制很大,难以编写与调试,可移植性也差。随着单片机硬件性能的提高,工作速度越来越快,因此在编写单片机应用系统
34、程序时,更着重于程序本身的编写效率。所以,Keil C51已成为目前最流行的开发单片机的软件工具。与汇编语言相比,Keil C51在功能、结构、可读性、可维护性上有明显的优势,因而易学易用。另外,使用Keil C51可以缩短开发周期,降低开发成本,可靠性高,可移植性好。 在软件编写部分主要用了Keil软件对单片机进行编写程序,用的是Keil uVision3软件,该软件是用C语言对单片机进行编写程序,能够自动由高级语言程序转成汇编语言,并通过ISP下载到单片机中。Keil C51标准C编译器为8051微控制器的软件开发提供了C语言环境,同时保留了汇编语言代码高效、快速的特点。C51已被完全集成
35、到uVision3的集成开发环境中,这个集成开发环境包括:编译器、汇编器、实时操作系统、项目管理器和调试器。Keil uVision3可为它们提供单一而灵活的开发环境,它的windows集成开发环境Keil uVision3的强大功能和具体使用方法。在Keil uVision3中,可以完成从源程序编写、编译、连接定位到目标文件的仿真调试等全部工作。Keil uVision3是一种基于windows的多窗口软件仿真器,它可以在完全没有单片机硬件的情况下模拟调试各种应用程序,即使是对单片机内部特殊集成功能的编程。4.2 程序设计系统软件设计采用模块化设计,主要包括主程序设计、T0中断服务子程序、外
36、部中断服务子程序、距离计算子程序、LED显示子程序设计等。主程序首先是对系统环境初始化,设置定时器T0工作模式为16位定时计数器模式。置位总中断允许位EA并给显示端口P0和P2清0。然后调用超声波发生子程序送出一个超声波脉冲,为了避免超声波从发射器直接传送到接收器引起的直射波触发,需要延时约0.1 ms,然后才打开外中断0接收返回的超声波信号。测出距离后结果将以十进制BCD码方式送往LED显示约0.5s,然后再发超声波脉冲重复测量过程。为了有利于程序结构化和容易计算出距离,主程序采用C语言编写。4.3 程序流程说明4.3.1 主程序l 系统控制初始化LED、初始化计数控制部分,清除计数值。l
37、单片机超声波脉冲信号。l 立刻置INT0为1,打开计时器,等待回波信号。l 回波信号到达,关闭计时器,P3.3为0,清INT0为0。l 单片机读出计数值。l 单片机将计数值进行计算后得出的距离值,显示在LED上。l 当超出测量距离小于0.1m或大于0.5m时,报警系统灯亮。l 当按下复位键时,启动复位功能。主程序流程图如图4.1所示:图4.1 主程序流程图4.3.2 定时中断服务子程序超声波发生子程序的作用是通过P3.3端口发送2个左右频率约40kHz的方波的超声波脉冲信号,同时把计数器T0打开进行计时。定时中断子程序如图4.2所示。 图4.2 定时中断服务子程序4.3.3 距离计算子程序超声
38、波测距的原理是通过时间差的方法计算障碍物的距离,根据公式2*dist = cSpeed*t,在本程序中设计了温度补偿,具体距离计算程序如下所示:if (usCur usPre)/声速的温度补偿if( !sign)cSpeed = 331500 + 607 * (TMPHI); /正常声速的103倍,去小数部分else cSpeed = 331500 607 * (TMPHI); /正常声速的103倍,去小数部分dist = cSpeed * (usCur - usPre) / 4000; /计算距离距离dist等于本次测量时间与上次时间间隔作为输入时间,以米为单位,保留4位小数溢出了,分子、分
39、母同除50。4.4 程序清单源程序详见附录III5.调试过程5.1 使用仪器设备整个测距系统由单片机最小系统、实验开发平台(其中用到超声波收发模块、数码管显示模块、按键模块)、PC机、跳线若干根组成。5.2 调试中的问题及解决方案根据实际情况可以修改超声波子程序每次发送的脉冲宽度和两次测量的时间间隔,以适应不同距离的测量需要。根据所设计的电路参数和程序,测距仪能测得范围为0.10.5m,当超过范围时发生LED亮灯报警,同时设置启动自动复位,使其重新测距。5.2.1测距程序程序中最难的部分是测距程序。由于该超声波测距模块对时序的要求很高,要求在输入端产生40kHz的方波。因为在程序的大循环中,尤
40、其它程序造成延时的误差,导致产生的方波并不算是需要的40kHz。这样该模块就无法正常运行,导致测距失败。后来,我们修改了延时,矫正了时序,并用示波器进行测量,在P3.3引脚上得到了40kHz的方波。5.2.2报警功能由于报警时要使LED灯闪烁,即需高电平与低电平交叉。其中在高低电平转换时需要延时,我们错误的将报警子程序放入主程序,导致数码管不能正常的进行动态扫描。将报警子程序以定时器1的方式放入中断函数或将动态扫描程序放入定时器1,都可解决问题。经过多次尝试,以及大家地讨论终于成功写出了报警系统的亮灯功能。6. 总 结由于时间和其它客观上的原因,此次设计没有做出实物。但是对设计有一个很好的理论
41、基础。设计的最终结果是使超声波测距仪能够产生超声波,实现超声波的发送与接收,从而实现利用超声波方法测量物体间的距离。以数字的形式显示测量距离。超声波测距的原理是利用超声波的发射和接受,根据超声波传播的时间来计算出传播距离。实用的测距方法有两种,一种是在被测距离的两端,一端发射,另一端接收的直接波方式,适用于身高计;一种是发射波被物体反射回来后接收的反射波方式,适用于测距仪。此次设计采用反射波方式。超声波测距仪硬件电路的设计主要包括单片机系统及显示电路、超声波发射电路和超声波检测接收电路三部分。单片机采用AT89C51或其兼容系列。采用12MHz高精度的晶振,以获得较稳定时钟频率,减小测量误差。
42、单片机用P1.0端口输出超声波换能器所需的40kHz的方波信号,利用外中断0口监测超声波接收电路输出的返回信号。显示电路采用简单实用的4位共阳LED数码管,段码用74LS244驱动,位码用PNP三极管8550驱动。超声波发射电路主要由反相器74LS04和超声波发射换能器T构成,单片机P1.0端口输出的40kHz的方波信号一路经一级反向器后送到超声波换能器的一个电极,另一路经两级反向器后送到超声波换能器的另一个电极,用这种推换形式将方波信号加到超声波换能器的两端,可以提高超声波的发射强度。输出端采两个反向器并联,用以提高驱动能力。上位电阻R1O、R11一方面可以提高反向器74LS04输出高电平的
43、驱动能力,另一方面可以增加超声波换能器的阻尼效果,缩短其自由振荡时间。压电式超声波换能器是利用压电晶体的谐振来工作的。超声波换能器内部有两个压电晶片和一个换能板。当它的两极外加脉冲信号,其频率等于压电晶片的固有振荡频率时,压电晶片会发生共振,并带动共振板振动产生超声波,这时它就是一个超声波发生器;反之,如果两电极问未外加电压,当共振板接收到超声波时,将压迫压电晶片作振动,将机械能转换为电信号,这时它就成为超声波接收换能器。超声波发射换能器与接收换能器在结构上稍有不同,使用时应分清器件上的标志。超声波检测接收电路主要是由集成电路CX20106A组成,它是一款红外线检波接收的专用芯片,常用于电视机
44、红外遥控接收器。考虑到红外遥控常用的载波频率38 kHz与测距的超声波频率40 kHz较为接近,可以利用它制作超声波检测接收电路。实验证明用CX20106A接收超声波(无信号时输出高电平),具有很好的灵敏度和较强的抗干扰能力。适当更改电容C4的大小,可以改变接收电路的灵敏度和抗干扰能力。超声波测距仪的软件设计主要由主程序、超声波发生子程序、超声波接收中断程序及显示子程序组成。我们知道C语言程序有利于实现较复杂的算法,汇编语言程序则具有较高的效率且容易精细计算程序运行的时间,而超声波测距仪的程序既有较复杂的计算(计算距离时),又要求精细计算程序运行时间(超声波测距时),所以控制程序可采用C语言和
45、汇编语言混合编程。主超声波测距仪主程序利用外中断0检测返回超声波信号,一旦接收到返回超声波信号(即INT0引脚出现低电平),立即进入中断程序。进入中断后就立即关闭计时器T0停止计时,并将测距成功标志字赋值1。如果当计时器溢出时还未检测到超声波返回信号,则定时器T0溢出中断将外中断0关闭,并将测距成功标志字赋值2以表示此次测距不成功。前方测距电路的输出端接单片机INT0端口,中断优先级最高,左、右测距电路的输出通过与门IC3A的输出接单片机INT1端口,同时单片机P1.3和P1.4接到IC3A的输入端,中断源的识别由程序查询来处理,中断优先级为先右后左。超声波测距的算法设计原理为超声波发生器T在
46、某一时刻发出一个超声波信号,当这个超声波遇到被测物体后反射回来,就被超声波接收器R所接收到。这样只要计算出从发出超声波信号到接收到返回信号所用的时间,就可算出超声波发生器与反射物体的距离。在启动发射电路的同时启动单片机内部的定时器T0,利用定时器的计数功能记录超声波发射的时间和收到反射波的时间。当收到超声波反射波时,接收电路输出端产生一个负跳变,在INT0或INT1端产生一个中断请求信号,单片机响应外部中断请求,执行外部中断服务子程序,读取时间差,计算距离。 在元件及调制方面,由于采用的电路使用了很多集成电路。外围元件不是很多,所以调试应该不会太难。一般只要电路焊接无误,稍加调试应该会正常工作
47、。电路中除集成电路外,对各电子元件也无特别要求。根据测量范围要求不同,可适当调整与接收换能器并接的滤波电容C0的大小,以获得合适的接收灵敏度和抗干扰能力。若能将超声波接收电路用金属壳屏蔽起来,则可提高抗干扰能力。致 谢时光飞逝,转眼间,我的本科生活己接近结束。四年的课程学习及课题研究工作使我收获颇多。在论文完成之际,我首先要感谢我的导师刘小明老师。在毕业设计的过程中,没有您的帮助和关怀,我不会这么顺利的完成毕业设计,刘老师给我提出了具有启发性的建议,他又以其严谨的治学态度和诲人不倦的工作作风,给我帮助和指导,使本文最后得以完成。在此谨向陈老师致以诚挚的谢意和崇高的敬意!接着感谢我的同学们的鼓励和鼎力配合,他们为我的毕业设计提供了大量的资料,一起探讨问题,并解决了不少的难题。毕业设计的短短2个多月里,你们给我提出很多宝贵的意见,值此,谨向他们表示我由衷的谢意!最后感谢我的家人,是他们在我漫长的求学路上默默的给予我最大的支持和关怀,是他们给予了我无微不至的照顾,使我的学业得以完成。尤其在大学的四年,父母一直鼓励我面对现实,努力拼搏。所以,借此机会,我向父母表达深深的敬意,感谢他们对我的教育和培养!还有许许多多给予我学业上鼓励和帮助的朋友,在此无法一一列举,在此也一并表示忠心地感谢人生中还有那么多该感谢的人,纸短情长