基于单片机超声波测距仪的设计 毕业论文.doc

上传人:哈尼dd 文档编号:3923145 上传时间:2019-10-10 格式:DOC 页数:31 大小:933.52KB
返回 下载 相关 举报
基于单片机超声波测距仪的设计 毕业论文.doc_第1页
第1页 / 共31页
基于单片机超声波测距仪的设计 毕业论文.doc_第2页
第2页 / 共31页
基于单片机超声波测距仪的设计 毕业论文.doc_第3页
第3页 / 共31页
基于单片机超声波测距仪的设计 毕业论文.doc_第4页
第4页 / 共31页
基于单片机超声波测距仪的设计 毕业论文.doc_第5页
第5页 / 共31页
点击查看更多>>
资源描述

《基于单片机超声波测距仪的设计 毕业论文.doc》由会员分享,可在线阅读,更多相关《基于单片机超声波测距仪的设计 毕业论文.doc(31页珍藏版)》请在三一文库上搜索。

1、 I 基于单片机技术的超声波测距 超声波测距仪的设计 The design of a Silent Wave Measure Distance 摘 要 随着科技的发展,人们生活水平的提高,城市发展建设加快,城市给排水系 统也有较大发展,其状况不断改善。但是,由于历史原因合成时间住的许多不可预 见因素,城市给排水系统,特别是排水系统往往落后于城市建设。因此,经常出现 开挖已经建设好的建筑设施来改造排水系统的现象。城市污水给人们带来了困扰, 因此箱涵的排污疏通对大城市给排水系统污水处理,人们生活舒适显得非常重要。 而设计研制箱涵排水疏通移动机器人的自动控制系统,保证机器人在箱涵中自由排 污疏通,是

2、箱涵排污疏通机器人的设计研制的核心部分。控制系统核心部分就是超 声波测距仪的研制。因此,设计好的超声波测距仪就显得非常重要了。 本设计采用以 AT89C51 单片机为核心的低成本、高精度、微型化数字显示超 声波测距仪的硬件电路和软件设计方法。整个电路采用模块化设计,由主程序、预 置子程序、发射子程序、接收子程序、显示子程序等模块组成。各探头的信号经单 片机综合分析处理,实现超声波测距仪的各种功能。在此基础上设计了系统的总体 方案,最后通过硬件和软件实现了各个功能模块。相关部分附有硬件电路图、程序 流程图。 经实验证明,这套系统软硬件设计合理、抗干扰能力强、实时性良好,经过系 统扩展和升级,可以

3、有效地解决汽车倒车、建筑施工工地以及一些工业现场的位置 监控。 关键词:AT89c51; 超声波;测距 II Abstract With 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 improvin

4、g. However, due to historical reasons many unpredictable 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

5、 phenomenon. It brought to the city sewage, and it is 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 ro

6、bot, the robot is designed to clear the culvert sewage 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 fig

7、ures show that the ultrasonic range finder hardware and 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 ultrason

8、ic range finder function. On the basis of the overall 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

9、and by extension and upgrade, this system can resolve the problem of the car availably, building construction the position of the workplace and some industries spot supervision. Key words:AT89S52; Silent Wave;Measure Distance III 目目 录录 摘 要 I Abstract II 绪 论 1 I.1 课题设计的目的及其意 义1 I.2 超声波测距仪的设计思 路1 1 课题

10、的方案设计与论 证 3 1.1 系统整体方案的设 计 3 1.2 系统整体方案的论 证 3 2 系统的硬件结构设 计 4 2.1 单片机的功能特点及测距原 理4 IV 2.2 超声波发射电 路 6 2.3 超声波检测接收电 路 7 2.4 超声波测距系统的硬件电路设 计7 3 系统软件的设 计 9 3.1 超声波测距仪的算法设 计9 3.2 主程序流程 图 10 3.3 超声波发生子程序与超声波接受中断程 序11 3.4 系统的软硬件的调 试 12 总 结 13 致 谢 15 参考文 V 献 16 附 录 一 超声波测距电路原理 图18 附 录 二 超声波测距电路版 图 19 附 录 三 程序

11、清 单 20 1 绪 论 .1 课题设计目的及意义 .1.1 设计的目的 随着科学技术的快速发展,超声波将在测距仪中的应用越来越广。但就目 前技术水平来说,人们可以具体利用的测距技术还十分有限,因此,这是一个正在 蓬勃发展而又有无限前景的技术及产业领域。展望未来,超声波测距仪作为一种新 型的非常重要有用的工具在各方面都将有很大的发展空间,它将朝着更加高定位高 精度的方向发展,以满足日益发展的社会需求,如声纳的发展趋势基本为:研制具 有更高定位精度的被动测距声纳,以满足水中武器实施全隐蔽攻击的需要;继续发 展采用低频线谱检测的潜艇拖曳线列阵声纳,实现超远程的被动探测和识别;研制 更适合于浅海工作

12、的潜艇声纳,特别是解决浅海水中目标识别问题;大力降低潜艇 自噪声,改善潜艇声纳的工作环境。无庸置疑,未来的超声波测距仪将与自动化智 能化接轨,与其他的测距仪集成和融合,形成多测距仪。随着测距仪的技术进步, 测距仪将从具有单纯判断功能发展到具有学习功能,最终发展到具有创造力。在新 的世纪里,面貌一新的测距仪将发挥更大的作用。 .1.2 设计的意义 随着科技的发展,人们生活水平的提高,城市发展建设加快,城市给排水系统 也有较大发展,其状况不断改善。但是,由于历史原因合成时间住的许多不可预见 因素,城市给排水系统,特别是排水系统往往落后于城市建设。因此,经常出现开 挖已经建设好的建筑设施来改造排水系

13、统的现象。城市污水给人们带来了困扰,因 此箱涵的排污疏通对大城市给排水系统污水处理,人们生活舒适显得非常重要。而 设计研制箱涵排水疏通移动机器人的自动控制系统,保证机器人在箱涵中自由排污 疏通,是箱涵排污疏通机器人的设计研制的核心部分。控制系统核心部分就是超声 波测距仪的研制。因此,设计好的超声波测距仪就显得非常重要了。这就是我设计 超声波测距仪的意义。 .2 超声波测距仪的设计思路 .2.1 超声波测距原理1,2 2 发射器发出的超声波以速度 在空气中传播,在到达被测物体时被反射返 回,由接收器接收,其往返时间为 t,由 s=vt/2 即可算出被测物体的距离。由 于超声波也是一种声波,其声速

14、 v 与温度有关,下表列出了几种不同温度下的声 速。在使用时,如果温度变化不大,则可认为声速是基本不变的。如果测距精度 要求很高,则应通过温度补偿的方法加以校正。 表 1-1 超声波波速与温度的关系表 温度()-30-20-100102030100 声速 (ms) 313319325323338344349386 .2.2 超声波测距仪原理框图如下图 单片机发出 40kHZ 的信号,经放大后通过超声波发射器输出;超声波接收器将 接收到的超声波信号经放大器放大,用锁相环电路进行检波处理后,启动单片机中 断程序,测得时间为 t,再由软件进行判别、计算,得出距离数并送 LED 显示。 图 1-1 超

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

16、T89C51 单片机作为控制器,用动态扫描法实现 LED 数字显示,超声波驱动信号用单片机的定时器。 1.2 系统整体方案的论证 超声波测距的原理是利用超声波的发射和接受,根据超声波传播的时间来计 算出传播距离。实用的测距方法有两种,一种是在被测距离的两端,一端发射,另 一端接收的直接波方式,适用于身高计;一种是发射波被物体反射回来后接收的反 射波方式,适用于测距仪。此次设计采用反射波方式。 测距仪的分辨率取决于对超声波传感器的选择。超声波传感器是一种采用压 电效应的传感器,常用的材料是压电陶瓷。由于超声波在空气中传播时会有相当的 衰减,衰减的程度与频率的高低成正比;而频率高分辨率也高,故短距

17、离测量时应 选择频率高的传感器,而长距离的测量时应用低频率的传感器。 2 系统的硬件结构设计 由单片机 AT89C51 编程产生 40kHz 的方波,由 P3.6 口输出,再经过放大电路, 驱动超声波发射探头发射超声波。发射出去的超声波经障碍物反射回来后,由超声 波接收头接收到信号,通过接收电路的检波放大、积分整形及一系列处理,送至单 片机。单片机利用声波的传播速度和发射脉冲到接收反射脉冲的时间间隔计算出障 碍物的距离,并由单片机控制显示出来。 该测距装置是由超声波传感器、单片机、发射/接收电路和 LED 显示器组成。 传感器输入端与发射接收电路相连,接收电路输出端与单片机相连接,单片机的输出

18、 4 端与显示电路输入端相连接。其时序图如图 1-2 所示。 图 1-2 时序图 单片机在 T0时刻发射方波,同时启动定时器开始计时,当收到回波后,产生一 负跳变到单片机中断口,单片机响应中断程序,定时器停止计数。计算时间差,即 可得到超声波在媒介中传播的时间 t,由此便可计算出距离。 2.1 51 系列单片机的功能特点及测距原理36 2.1.1 51 系列单片机的功能特点 5l 系列单片机中典型芯片(AT89C51)采用 40 引脚双列直插封装(DIP)形式, 内部由 CPU,4kB 的 ROM,256 B 的 RAM,2 个 16b 的定时计数器 TO 和 T1,4 个 8 b 的工O 端

19、 I:IP0,P1,P2,P3,一个全双功串行通信口等组成。特别是该系列 单片机片内的 Flash 可编程、可擦除只读存储器(EPROM),使其在实际中有着十分 广泛的用途,在便携式、省电及特殊信息保存的仪器和系统中更为有用。该系列单 片机引脚与封装如图 2-1 所示。 5 5l 系列单片机提供以下功能:4 kB 存储器;256 BRAM;32 条工O 线;2 个 16b 定 时计数器;5 个 2 级中断源;1 个全双向的串行口以及时钟电路。 空闲方式:CPU 停止工作,而让 RAM、定时计数器、串行口和中断系统继续工作。 掉电方式:保存 RAM 的内容,振荡器停振,禁止芯片所有的其他功能直到

20、下一次硬 件复位。 5l 系列单片机为许多控制提供了高度灵活和低成本的解决办法。充分利用他的片内 资源,即可在较少外围电路的情况下构成功能完善的超声波测距系统。 2.1.2 单片机实现测距原理 单片机发出超声波测距是通过不断检测超声波发射后遇到障碍物所反射的回 波,从而测出发射和接收回波的时间差 tr,然后求出距离 SCt2,式中的 C 为 超声波波速。 限制该系统的最大可测距离存在 4 个因素:超声波的幅度、反射的质地、反 射和入射声波之间的夹角以及接收换能器的灵敏度。接收换能器对声波脉冲的直接 6 接收能力将决定最小的可测距离。为了增加所测量的覆盖范围、减小测量误差,可 采用多个超声波换能

21、器分别作为多路超声波发射接收的设计方法。由于超声波属 于声波范围,其波速 C 与温度有关。 2.4 超声波测距系统的硬件电路设计 本系统的特点是利用单片机控制超声波的发射和对超声波自发射至接收往返时 间的计时,单片机选用 AT89C51,经济易用,且片内有 4K 的 ROM,便于编程。 电路原理图如图 2-4 所示。 图 2-4 超声波测距电路原理图 7 3 系统软件的设计 超声波测距仪的软件设计主要由主程序、超声波发生子程序、超声波接收中断 程序及显示子程序组成。我们知道 C 语言程序有利于实现较复杂的算法,汇编语言 程序则具有较高的效率且容易精细计算程序运行的时间,而超声波测距仪的程序既

22、有较复杂的计算(计算距离时) ,又要求精细计算程序运行时间(超声波测距时) , 所以控制程序可采用 C 语言和汇编语言混合编程。 3.1 超声波测距仪的算法设计 10 超声波测距的原理为超声波发生器 T 在某一时刻发出一个超声波信号,当这个 超声波遇到被测物体后反射回来,就被超声波接收器 R 所接收到。这样只要计算出 从发出超声波信号到接收到返回信号所用的时间,就可算出超声波发生器与反射物 体的距离。距离的计算公式为: d=s/2=(ct)/2 (1) 其中,d 为被测物与测距仪的距离,s 为声波的来回的路程,c 为声速,t 为声波来 回所用的时间。 在启动发射电路的同时启动单片机内部的定时器

23、 T0,利用定时器 的计数功能记录超声波发射的时间和收到反射波的时间。当收到超声波反射波时, 接收电路输出端产生一个负跳变,在 INT0 或 INT1 端产生一个中断请求信号,单片 机响应外部中断请求,执行外部中断服务子程序,读取时间差,计算距离。其部分 源程序如下: TMOD=0X01; /T0 计数,方式 1 TH0=0; /计数初值 TL0=0; /计数初值 IT0=1; /INT0 负脉冲触发 EA=1; /开总中断 EX0=1; /开外部 INT0 中断 8 AGAIN=1; WHILE(1) UCHAR X; IF(ON=0) /启动键处理 DELAY1MS(5); /按键消抖 I

24、F(ON=0) ONOFF=1; /启动 WHILE(ON);/等待按键释放 IF(OFF=0) /停止键处理 DELAY1MS(5); /按键消抖 IF(OFF=0) ONOFF=0; /停止 WHILE(OFF); /等待按键释放 IF(ONOFF) OUT=0;/产生方波,输出低电平 DELAYS(); /延时 产生几个微秒的低电平,让模拟反射的单片机能正确接收 信号 OUT=1;/恢复高电平,停止模拟发射 9 TH0=0; TL0=0; AGAIN=0; / TR0=1; /T0 开始计数 FOR(X=0;X #DEFINE UCHAR UNSIGNED CHAR #DEFINE UL

25、ONG UNSIGNED LONG #DEFINE UINT UNSIGNED INT SBIT OUT=P37; /发射 SBIT IN=P32; /接收 SBIT ON=P11; /启动 SBIT OFF=P10; /停止 /数码管位选 SBIT LED1=P21; SBIT LED2=P22; SBIT LED3=P23; /共阳数码管字库 UCHAR CODE TAB=0XC0,0XF9,0XA4,0XB0,0X99,0X92,0X82,0XF8,0X80,0X90,0XFF; UCHAR BWEI,SHWEI,GWEI; BIT AGAIN,/接收标志 20 ONOFF;/开关标志

26、VOID DELAYS (VOID) / 延时程序 VOID DELAY1MS(UCHAR I)/ 1MS 延时程序 12MHZ UINT X; FOR(;I0;I-) FOR(X=124;X0;X-); VOID DISPLAY(VOID)/数码管显示子程序 P0=TABBWEI; /显示百位 LED1=0; DELAY1MS(2); LED1=1; P0=TABSHWEI; /显示十位 LED2=0; DELAY1MS(2); LED2=1; 21 P0=TABGWEI; /显示个位 LED3=0; DELAY1MS(2); LED3=1; VOID MAIN(VOID) TMOD=0X0

27、1; /T0 计数,方式 1 TH0=0; /计数初值 TL0=0; /计数初值 IT0=1; /INT0 负脉冲触发 EA=1; /开总中断 EX0=1; /开外部 INT0 中断 AGAIN=1; WHILE(1) UCHAR X; IF(ON=0) /启动键处理 DELAY1MS(5); /按键消抖 22 IF(ON=0) ONOFF=1; /启动 WHILE(ON);/等待按键释放 IF(OFF=0) /停止键处理 DELAY1MS(5); /按键消抖 IF(OFF=0) ONOFF=0; /停止 WHILE(OFF); /等待按键释放 IF(ONOFF) OUT=0;/产生方波,输出

28、低电平 DELAYS(); /延时 产生几个微秒的低电平,让模拟反射的单片机能正确接收 信号 OUT=1;/恢复高电平,停止模拟发射 TH0=0; 23 TL0=0; AGAIN=0; / TR0=1; /T0 开始计数 FOR(X=0;X #INCLUDE #DEFINE UCHAR UNSIGNED CHAR #DEFINE UINT UNSIGNED INT SBIT OUT=P11; /发射 VOID INITTIMER(VOID) / TMOD=0X1; TH0=0XFF; TL0=0XFF; 25 VOID MAIN(VOID) IT0=1; EX0=1; INITTIMER();

29、 /TR0=1; ET0=1; EA=1; WHILE(1) VOID TIMER0(VOID) INTERRUPT 1 /定时器 0,延时 TR0=0; OUT=0; _NOP_(); _NOP_(); OUT=1; 26 IT0=1; EX0=1; VOID INT0(VOID) INTERRUPT 0 /外部中断 0,接收 IT0=0; EX0=0; SWITCH (P2) CASE 0XFE:TH0=0XD8;TL0=0XF0;/A 开关 10MS BREAK; CASE 0XFD:TH0=0XB1;TL0=0XE0;/B 开关 20MS BREAK; CASE 0XFB:TH0=0X8A;TL0=0XD0;/C 开关 30MS BREAK; TR0=1;

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

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1