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

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

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

1、装订线毕业设计(论文)报告纸摘 要 超声波具有很强的指向性,消耗能量缓慢,距离传播较远等优点,所以,在利用自动化控制技术和传感器应用技术相结合的测距方案中,利用超声波专有特性测距是目前最普遍的一种方式,它被广泛地应用于防盗、倒车雷达、水位测量、建筑施工工地以及一些工业现场。本论文详细的介绍了超声波传感器的原理及特性,并且介绍了Atmel公司的AT89C52单片机的性能与特点,且在分析了超声波测距原理的基础上,指出了本次方案的思路和所需考虑的问题,给出了以AT89C52单片机为核心,LCD显示电路,硬件制作和软件设计为一体的设计方案。关键字:超声波测距;单片机;测距;AT89C52;LED显示屏

2、Abstract Ultrasonic wave has strong pointing to nature ,slowly energy consumption ,propagating distance farther ,so, in utilizing the scheme of distance finding that sensor technology and automatic control technology combine together ,ultrasonic wave finds range to use the most general one at presen

3、t ,it applies to guard against theft , move backward the radar , water level measuring , building construction site and some industrial scenes extensively. This subject has introduced principle and characteristic of the ultrasonic sensor in detail ,and the performance and characteristic of one-chip

4、computer AT89C52 of Atmel Company ,and on the basis of analyzing principle that ultrasonic wave finds range ,the systematic thinking and questions needed to consider that have pointed out that designs and finds range .Given the AT89C52, LCD display circuit, the hardware and the software design produ

5、ction.Keywords:ultrasonic ranging;single-chip;Range finding;AT89C52;LCD display目 录第一章 引言51.1 单片机应用系统概述51.2 超声波测距系统概述61.3本设计任务的主要内容6第二章 超声波测距的原理72.1超声波测距离原理7第三章 系统主要硬件设计93.1单片机AT89C52介绍93.1.1单片机系统设计133.1.2复位电路143.2超声波发射电路153.3超声波检测接收电路163.4超声波显示电路173.5报警电路183.6电源电路设计19第四章 系统程序的设计194.1超声波测距器的算法设计194.2

6、总体设计方案204.3超声波发生子程序和超声波接收中断程序214.4主程序21结论23致谢23参考文献24附录一 硬件电路图25附录二 程序26第一章 引言1.1 单片机应用系统概述 单片微型计算机简称单片机(MCU),多应用于控制领域,又叫做微控制器。它是将计算机中的CPU、RAM、ROM、定时器和输入输出I/O接口电路、中断控制器、模数/数模转换器、调制解调器等芯片集成在一个芯片上的技术,形成芯片级的计算机。它的出现及发展使得计算机技术从通用型数值计算领域进入到智能化的控制领域。从此,计算机技术在两个重要领域都得到了极其重要的发展,并正在一点一点地改变着我们的生活和社会。而嵌入式技术在当今

7、社会扮演着不可或缺的地位,它是当前最热门、最具有发展力的IT应用之一。嵌入式技术的应用可以加快传统的电子系统向智能化的电子仪器的转变,使社会进入智能化时代。嵌入式技术一般应用于对实时响应要求较高的产品中,单片机作为嵌入式技术的核心,它的应用使得电子系统的智能化达到了高速的发展,常常无需对硬件系统做任何改动,只需更新系统软件就能够使系统功能升级。现代社会中嵌入式技术无处不在,早已被应用在国防、国民经济、以及人们日常生活的各个领域,不断地改变着人们的生活,是人类社会一项伟大的智慧结晶。1.2 超声波测距系统概述在基于传统的测力距离存在不可克服的缺陷。例如,液面测量就是一种距离测量,传统的电极法是采

8、用差位分布电极,通过给电或脉冲来检测液面,电极长期浸泡于水中或其他液体中,极易被腐蚀、电解,失去灵敏性。由于超声波具有强度大,方向性好等特点,利用超声波测量距离就可以解决这些问题,因此超声波测量距离技术在工业控制、勘探测量、机器人定位和安全防范等领域得到了广泛的应用。超声波测距电路可以由传统的模拟或者数字电路构建,但是基于这些传统电路构建的系统往往可靠性差,调试困难,可扩展性差,所以基于单片机的超声波测距系统被广泛的应用。通过简单的外围电路发生和接收超声波,单片机通过采样获取到超声波的传播时间,用软件来计算出距离,并且可以采集环境温度进行测距补偿,其测量电路小巧,精度高,反映速度快,可靠性好。

9、1.3本设计任务的主要内容 设计一超声测波测距仪,任务:(1).了解超声波测距原理。(2).设计出超声波测距仪的硬件结构电路。(3).对设计的电路进行分析和理解,从而做到利用超声波方法测量物体间的距离。(4).以数字的形式显示测量距离。第二章 超声波测距的原理2.1超声波测距离原理 人类可以听到的声音频率为20Hz20kHz,即为可听声波,超出此频率范围的声音,即为不可听声波。其中超过20KHz的为超声波,超声波沿直线传播,频率越高,反射能力越强,所以利用超声波的这种特性来设计超声波传感器。另外,超声波在空气中传播的速度较慢,约为330m/s,这就使得超声波传感器使用变得非常简单。超声波传感器

10、由发送器和接收器组成,一般超声波传感器为可逆元件,即一个传感器可以具有发送和接收声波的双重作用。通常市场上出售的超声波传感器有两种类型,即专用型和兼用型。专用型就是发送超声波用发送器,接收器超声波用接收器;兼用型就是发送器和接收器为一体,不但可接受超声波,又可以发送超声波。一般随着谐振频率的变高,检测距离会变短,同时分解力也会变高。单片机障障碍物发射管接收管图2.1超声波原理图 本设计方案是利用超声波指向性强、能量消耗低、传播距离较远等优点,即用超声波发射器向某一方向发送超声波,并且在发射的时候开始计时,在超声波遇到障碍物的时候反射回来,利用超声波接收器接收反射信号,然后停止计时。假设超声波在

11、空气中的传播速度为V,接收到在空气中的传播时间为T,与障碍物的距离为S,S=VT/2这样可以测出汽车与障碍物之间的距离,然后在LED显示屏上显示出来。如上图2.1所示根据设计要求并综合各方面因素,本例决定采用AT89C52单片机作为主控制器,用动态扫描法实现LED数字显示,超声波驱动信号用单片机的定时器完成。超声波测距器系统设计。本次方案的超声波测距仪主要由AT89C52单片机、超声波发射电路、超声波接收放大电路、显示电路等组成。超声波接收超声波发送单片机控制器LED显示扫描驱动图2.2超声波测距系统设计框图 首先由单片机驱动产生12MHZ晶振,由超声波发射探头发送出去,在遇到障碍物反射回来时

12、由超声波接收探头检测到信号,然后经过滤波、放大、整形之后送入单片机进行计算,把计算结果输出到LED液晶显示屏上。第三章 系统主要硬件设计硬件电路主要包括单片机系统及超声波发射电路、超声波检测接收电路和显示电路三部分。超声波测距板采用AT89C52单片机晶振为12MHZ,单片机用P1.0口输出超声波换能器所需的40KHZ方波信号,利用外中断监测超声波接收电路输出的返回信号,显示电路采用简单的4位共阳LED数码管,段码驱动用74LS244集成电路,位码用S8550三极管驱动,主要由单片机系统及显示电路、超声波发射电路和超声波检测接收电路三部分组成。采用AT89C52来实现对超声波模组进行控制,然后

13、单片机不停的检测INT0引脚,当INT0引脚的电平由高电平变为低电平时就认为超声波已经返回。计数器所计的数据就是超声波往返所经历的时间,通过特定的计算就可以确定传感器与障碍物之间的距离。3.1单片机AT89C52介绍AT89C52芯片图如下图所示图3.1 AT89C52引脚图AT89C52主要性能:1、 与MCS-51 单片机产品兼容2、 8K 字节在系统可编程Flash 存储器3、 1000 次擦写周期4、 全静态操作:0Hz33Hz 5、 三级加密程序存储器6、 32 个可编程I/O 口线7、 三个16 位定时器/计数器8、 八个中断源9、 全双工UART 串行通道10、低功耗空闲和掉电模

14、式l1、掉电后中断可唤醒l2、看门狗定时器13、双数据指针l4、掉电标识符AT89C52具有以下标准功能:8k字节Flash,256字节RAM,32个I/O口线,3个16位定时/计数器,一个6向量两级中断结构,一个全双工串行口,片内晶振及时钟电路。同时,AT89C52可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU的工作,允许RAM,定时/计数器,串行通信口及中断系统继续工作。掉电保护方式下,保存RAM中的内容,但振荡器停止工作直到下一个中断或硬件复位为止。VCC : 正常操作接+5V;GND: 接地线。以上两个引脚对于单片机来说都是输入端,作用是满足单片机工作

15、的电能需求。P0 口:P0口是一个8位漏极开路的三态(高电平、低电平、高阻)双向输入/输出口,具有地址和数据传输功能,可以驱动8个TTL管。P1 口:P1 口是一个具有内部上拉电阻的8 位准双向输入/输出口,对于52单片机具有变异功能,可以驱动4个TTL管。表3.1 引脚号第二功能P1.0T2(定时器/计数器T2的外部计数输入),时钟输出P1.1T2EX(定时器/计数器T2的捕捉/重在触发信号和方向控制)P1的第二功能P2 口:P2 口是一个具有内部上拉电阻的8 位准双向输入/输出口,具有地址传输功能,可以驱动4个TTL管。P3口:P3 口是一个具有内部上拉电阻的8 位准双向输入/输出口,P3

16、具有第二功能,可以驱动4个TTL管。第二功能见下表。 表3.2P3.0RXD串行数据接收端P3.1TXD串行数据发送端P3.2外部中断0请求端,低电平有效P3.3外部中断1请求端,低电平有效P3.4T0定时/计数器0外部事件计数输入端P3.5T1定时/计数器1外部事件计数输入端P3.6外部数据存储器写信号,低电平有效P3.7外部数据存储器读信号,低电平有效 P3的第二功能RST: 复位输入引脚,高电平有效。在该引脚上输入大于24个人晶振振荡周期高电平时,单片机系统复位,当变低电平时,系统开始执行程序。ALE/PROG:ALE地址锁存允许信号输入端,高电平有效。在访问外部存储器时,该信号将P0口

17、送出的低8位地址锁存到外部地址锁存器中。PROG编程脉冲为固化程序需要提供专门的编程脉冲。当访问外部储存器时,将以1/12的振荡频率输入脉冲;当不访问外部存储器时,将以1/6的振荡频率输入脉冲。PSEN:外部程序存储器的读选通信号输出端,低电平有效。在读外部程序存储器时CPU会送出有效的低电平信号。当访问外部程序存储器读取指令时,将以1/6的震荡频率产生PSEN有效信号;当执行片内程序及访问外部数据存储器时,不产生PSEN有效信号。当AT89C52从外部程序存储器执行外部代码时,PSEN在每个机器周期被激活两次,而在访问外部数据存储器时,PSEN将不被激活。EA/VPP:访问程序存储器选择信号

18、输入线。当EA为低电平时,CPU只能访问外部程序存储器。当EA为高电平时,CPU先访问内部程序存储器(当51单片机的PC值小于等于0FFFH时),然后访问外部程序存储器(当PC值大于0FFFH时)。VPP(+25V)位固化程序提供专门的编程电源。XTAL1:接外部晶振的一个引脚,是内部反相放大器的输入端。XTAL2:接外部晶振的一个引脚,是内部反相放大器的输出端。Flash 编程并行模式:AT89C52 带有用作编程的片上Flash 存储器阵列。编程接口需要一个高电压(12V)编程使能信号,并且兼容常规的第三方Flash 或EPROM 编程器。编程方法:对AT89C52 编程之前,需设置好地址

19、、数据及控制信号,可采用下列步骤对AT89C52 编程:1在地址线上输入编程单元地址信号2在数据线上输入正确的数据3激活相应的控制信号4把EA/VPP 升至12V 5每给Flash 写入一个字节或程序加密位时,都要给ALE/PROG 一次脉冲。每个字节写入周期是自身定时的,通常均为1.5ms。重复15步骤,改变编程单元的地址和写入的数据,直到全部文件编程结束。3.1.1单片机系统设计单片机系统由CPU AT89C52和一定功能的外围电路组成,包括为单片机提供复位电压的复位电路,提供系统频率的晶振。这部分电路主要负责程序的存储和运行。图3.2中AT89C52(AT89C51相同)系统由内部时钟方

20、式电路外接晶体以及电容构成并联谐振电路及单片机组成 ,接在放大器的反馈回路中。单片机系统是由硬件和软件构成的,软件是由程序组成的。最小系统是单片机运行的最基本的硬件和软件,是单片机正常工作的基本保障。对外接电容的值虽然没有严格的要求,但电容的大小会影响振荡器频率的高低、谐振器的稳定性、起振的快速性和温度的稳定性。晶振一般为6MHz,它是单片机复位电路的典型值,而电容的典型值在20pF100pF之间选择,但在60pF70pF时振荡器具有较高的频率稳定性。典型值通常选择为30pF左右,但本电路采用33pF。在设计印刷电路板时,一般情况下晶振或陶瓷振荡器和电容应尽可能安装的与单片机芯片靠近,以减少寄

21、生电容,从而更好地保障了电路的稳定性。为了提高温度稳定性,应采用温度稳定性能好的NPO高频电容。AT89C52的复位是由外部的复位电路来实现的。复位电路通常采用上电复位和手动按钮复位两种方式。本设计中所用到的是手动按钮复位.图3.2 单片机最小系统3.1.2复位电路单片机系统是由硬件和软件构成的,软件是由程序组成的。程序则由系统指令构成,正常情况下,希望系统运行时是从程序的固定位置(入口处)开始执行,复位的目的就是保障程序从入口处开始运行,如不能保证复位要求,程序则很有可能不从规定处进行,会造成意想不到的问题,如死机”“跑飞”等。所以以AT89C52作为主芯片的单片机需要一个复位电路,来啊保证

22、指令的正常执行。每次单片机在启动时都需要复位,以便使CPU和系统各部件都处于确定的初始状态,并从初状态开始工作。当系统处于正常工作状态时,振荡器稳定后,从单片机的复位引脚RST输入一个高电平并维持2个机器周期(24个振荡周期)以上,CPU就可以响应并将系统复位。复位信号一般来说不能太长,因为在复位状态下,单片机是不执行程序的。电路一般采用积分型、专用芯片复位电路等来完成电路复位所需信号。单片机系统基本的复位方式有上电复位和手动按钮复位。(1) 上电复位 上电复位工作过程是在加电时复位电路通过电容加给RST端一个短暂的高电平信号,此高电平信号随着VCC对电容的充电过程而逐渐回落,即RST端的高电

23、平持续时间取决于电容的充电时间。为了保证系统能够可靠地复位,RST端的高电平信号必须维持2个机器周期以上的时间。(2) 手动按钮复位 该复位形式需要人为在复位输入端RST上加入高电平,其电路如图3.3所示。当按下按钮时,则VCC的+5V电平就会直接加到RST端,人的动作再快也会使按钮保持接通达数十毫秒,完全能够满足复位的时间要求。图3.3 复位电路3.2超声波发射电路 需要将由单片机发出的40kHZ的方波进行放大,才能够使超声波传感器发射出超声波,作为发射驱动电路,本质上就是一个信号放大电路。图3.4 超声波发射电路原理图 超声波发射的电路图如图3.4所示。发射电路主要是用反向器74ALS04

24、连接到超声波发射换能器T所构成,由单片机P1.0端口输出的40kHZ方波信号经过一级反向器放大后送到超声波换能器的一个电极,另一路经过双重反向器放大后送到超声波的另一电极。用这种方式将方波信号加到超声波换能器的两端,可以有效地提高超声波的发射效率,在输出端采用两个反向器并联,用以提升驱动能力。上拉电阻R1、R2不但可以提高反向器74ALS04输出高电平的能力,而且还可以提升超声波换能器的阻尼效果,缩短它的自由振荡时间。 关于74ALS04与74LS04的区别: 74LS04与74ALS04都是74系列的非门。 他们的区别是: 1、输出:74LS04和74ALS04是一样的。如果同一个公司,输出

25、参数都是一样的。 2、输入:两者不同的是输入不一样。74LS04输入是TTL电平,74LS14输入是施密特输入(有滞回特性)。 因为输入不一样,两个芯片的应用场合也有所不同。74LS04多用于板内一般数据的“非”控制,而74ALS04一般用于某些信号的整形或者异受干扰/关键信号的信号缓冲等。 大部分情况下74LS14可以替代74LS04;74ALS04和74LS04都是六反相器;74LS04是6非门IC工作电压5V ,最大16mA的驱动能力。在实际应用方面 2者其实基本上没什么区别的,用都一样。 基于本实验要求超声波输出信号和接收信号尽可能降低干扰,所以本设计选取的是74ALS04芯片作为主要

26、芯片。3.3超声波检测接收电路 参考红外转化接收电路,本设计采用集成电路CX20106A,这是一款红外线检波接收的专用芯片,常用于电视机红外遥控接收器。考虑到红外遥控常用的载波频率38KHz与测距超声波频率40KHz较为接近,可以利用他作为超声波检测电路。如图3.5超声波检测接收电路原理图所示,适当改变C12的大小,可以改变接受电路的灵敏度和抗干扰能力。管脚1是超声波信号输入端,是输入阻抗约为40K;管脚2的C12 R19决定接受换能器的总增益,增大电阻R或者减小C,将使放大倍数下降,负反馈量增大,电容C的改变会影响到频率特性,实际使用中一般不改动,推荐选择参数R=4.7 K,C=3.3uF;

27、管脚5上的连接电阻R18用以设置带通滤波器的中心频率,阻值越大,中心频率越低,取R=200 K时,中心频率约为42KHZ;管脚6与GND之间接入一个分电容,标准值为330pF,如果该电容取得太大,会使探测距离变短;管脚7是遥控命令输出端,是集电极开路的输出方式,因此该引脚必须接上一个上拉电阻到电源,该阻值推荐阻值为R5=220 K,没有接受信号时该端输出为高电平,有信号时则会下降;管脚8接电源正极。4.5V-5V.超声波接受电路原理图如下3.5所示图3.5 超声波接收电路原理3.4超声波显示电路 将系统正在运行的状态告诉操作者,需要显示;我们这里利用超声波测距需要把测得的结果显示出来;当我们吧

28、需要控制的信号输入到单片机系统中,输入与输出的信息就能够显示出来。 常用的显示方式有:LED彩灯显示、数码管显示、和液晶显示。我们的设计是利用数码管显示。 LED(Light-Emitting Diode,发光二极管)有七段和八段之分,也有共阴和共阳两种。 LED数码管结构结构如图3.6所示,图中ag七个笔端及小数点SP均为发光二极管。如果将所有大光二极管的阳极连在一起作为公共端,称为共阳极二极管,如果将所有发光二极管的阴极连在一起作为公共端,则称为共阴数码管。图3.6(a)为八段共阴数码显示管结构图,图3.6 (b)是它的原理图,图3.6 (c)为八段共阳LED显示管原理图。图3.6 八段L

29、ED数码显示管原理和结构 以74ALS245为主要芯片的显示电路如图3.7所示,显示电路中74ALS245芯片接由单片机的P0口,再由七段数码管进行显示,从而利用单片机的P2.4、P2.5、P2.6、P2.7与共射极三极管的基极相连来控制数码管的位选通。图3.7单片机及显示系统电路图3.5报警电路 采用一个蜂鸣器,输出一定频率的信号,在连接到蜂鸣器之前,经过一个三极管放大。报警的部分电路如下图3.8所示。实现的功能:当测得的距离小于最小值时,警报器触发。图3.8 报警电路3.6电源电路设计该电路电源是通过整流桥整流后经C6C7滤波,然后由7805稳定后提供稳定的5V电压,如图3.9所示。图3.

30、9电源电路原理图 第四章 系统程序的设计超声波测距器的软件设计主要由主程序,超声波发生子程序,超声波接收中断程序及显示子程序组成,由于C语言程序有利于实现较复杂的算法,汇编语言程序则具有较高的效率并且容易精确计算程序行动的时间,而超声波测距器的程序既有较复杂的计算(计算距离时),又要求精确计算程序运行时间(超声波测距时),所以控制程序可采用C语言和汇编语言混合编程。下面对超声波测距器的算法,主程序,超声波发生子程序和超声波接收中断程序逐一介绍。4.1超声波测距器的算法设计图5.1示意了超声波测距的原理,既超声波发生器T在某一时刻发出一个超声波信号,当这个超声波遇到被测物体后反射回来,就会被超声

31、波接收器R接收到。这样,只要计算出从发出超声波信号到接收到返回信号所用的时间,就可算出超声波发生器于反射物体的距离。该距离的计算公式如下4-1:d=s/2=(vt)/2 (4-1)其中:d为被测物于测距器的距离;s为声波的来回路程;v为声速;t为声波来回所用的时间。单片机障碍物发射管接收管图4.1 超声波测距离原理图对于该系统影响最大可测距离存在四个因素:超声波的幅度、反射物的质地、反射和入射声波之间的夹角以及接收换能器的灵敏度。接收换能器对声波脉冲的直接接收能力将决定最小可测距离。为了增加所测量的覆盖范围,减少测量误差,可采用多个超声波换能器分别作为多路超声波发射/接收的设计方法。由于超声波

32、也是一种声波,其声速v与温度有关,下表4.1 列出了几种不同温度下的声速。在使用时,如果温度变化不大,则可以为声速是基本不变的。如果测距精度很高,则应通过温度补偿的方法加以校正。温度()-30-20-100103030100声速(m/s)313319325323338344349386表4.1 超声波波速与温度的关系表4.2总体设计方案 由单片机AT89C52编程产生40kHz的方波,由P1.0口输出,再经过放大电路,驱动超声波发射探头发射超声波。发射出去的超声波经障碍物反射回来后,由超声波接收头接收到信号,通过接收电路的检波放大、积分整形及一系列处理,送至单片机。单片机利用声波的传播速度和发

33、射脉冲到接收反射脉冲的时间间隔计算出障碍物的距离,并由单片机控制显示出来。图4.2 时序图 该测距装置是由超声波传感器、单片机、发射/接收电路和LED显示器组成。传感器输入端与发射接收电路相连,接收电路输出端与单片机相连接,单片机的输出端与显示电路输入端相连接。其时序图如图4.2所示。4.3超声波发生子程序和超声波接收中断程序超声波发生子程序的作用是通过P1.0端口发送两个左右的超声波脉冲信号(频率约40kHz的方波),脉冲宽度为12s左右,同时把计数器T0打开进行计时。超声波测距器主程序利用外中断0检测返回超声波信号,一旦接收到返回超声波信号(即INT0引脚出现低电平),立即进入超声波接收中

34、断程序。就立即关闭计时器T1,停止计时,并将测距成功标志字赋值1。如果当计时器溢出时还未检测到超声波返回信号,则定时器T1溢出中断将外中断0关闭,并将测距成功标志字赋值0,以表示本次测距不成功。单片机在T0时刻发射方波,同时启动定时器开始计时,当收到回波后,产生一负跳变到单片机中断口,单片机响应中断程序,定时器停止计数。计算时间差,即可得到超声波在媒介中传播的时间t,由此便可计算出距离。4.4主程序主程序首先要对系统环境初始化,设置定时器T0工作模式为16位定时/计数器模式,置位总中断允许位EA并对显示端口P0和P2清0;然后调用超声波发生子程序送出一个超声波脉冲。为了避免超声波从发射器直接传

35、到接收器引起的直射波,需要延时约0.1ms(这也就是超声波测距器会有一个最小可测距离的原因)后才可打开外中断0接收返回的超声波信号。由于采用的是12MHz的晶振,计数器每计一个数就是1us,所以当主程序检测到接收成功的标志位后,将计数器T0中的数(即超声波来回所用的时间)按式(5-2)计算,即可得被测物体与测距器之间的距离。设计时取20时的声速为344m/s,则有d=(vt)/2=(172T/10000)cm (4-2)其中:T为计数器T0的计数值。程序流程图如图4.3,(a)为主程序流程图,(b)为定时中断子程序流程图,(c)为外部中断子程序流程图。是否无有有回波初始化定时中断子程序外部中断

36、子程序等待定时中断入口定时器初始化发射超声波发射完否停止发射清中断返回外部中断入口读取时间值计算距离保存结果清中断返回(a) (b) (c) 图4.3 程序流程图用单片机编程产生40kHz方波,可用延时程序和循环语句实现。先定义一个延时函数,然后可用语句循环,并且循环一次同时改变方波输出口的电平高低,从而产生方波。结 论 本课题介绍了一种基于单片机的超声波测距系统的原理和设计。给出了硬件和软件的设计方案。 超声波传感器是本系统的核心器件,本论文详细地介绍了超声波传感器的原理、结构、检测方式以及它的一些特性。只有深入地了解超声波传感器的工作原理,才能更好的设计测距电路。单片机是本系统的控制部分,

37、采用Atmel公司生产的AT89C52芯片。驱动超声波传感器的40kHz的方波信号,就是由单片机编程产生的。本系统的发射电路采用74HC04六反向器,通过它对单片机产生的方波信号进行放大,以驱动传感器工作。接收电路采用的是LM741,通过接收电路对接收到的信号进行放大和整形,最终再输出负脉冲给单片机响应中断程序。本系统的LED显示部分采用的是静态扫描方式,并用单片机软件译码。单片机内部采用C语言编程,方波信号的产生、时间差的读取、距离的计算以及显示输出的译码都由单片机编程完成。 本课题所设计的超声波测距系统具有测量精度较高、速度快、控制简单方便等优点。测距范围从20cm到200cm,测量精度在

38、10cm内。测距系统在许多工业现场和自动控制场合,都有很重要的作用。但由于经验不足,电路硬件、软件部分都有不够完善的地方,在今后的学习中会进一步改进。总体来说,最重要的是在本课题的设计过程中我学到了很多知识,从中受益匪浅。了解了超声波传感器的原理,学会了各种放大电路的分析、设计,也掌握了单片机的开发过程和利用单片机设计电路的方法。对一块电路板的设计、焊板、调试、改进等整个过程,有了更深入的理解和掌握。这些对我今后的学习和工作都会有很大帮助的。 致 谢三年的读书生活即将结束,但是对于我来言却是另一次征程的开始。三年的大学生活转瞬即逝,期间有欢笑也有很多无奈。虽说有些遗憾,却也收获颇多。三年的大学

39、生活不仅让我学到了知识,还让我懂的了感恩,学会奉献,让我在这三年得以充实。 这次毕业设计应该是老师留给我们的最后一次作业本次设计得以顺利完成,首先要感谢我们的指导老师:张晓阳老师的指导和大力支持。在繁忙的教学中,张晓阳老师忙里偷闲指导了我的设计的结构、思路、同时提供了一些专业知识的帮助。在这里也要对给我提供帮助的同学说声谢谢,没有你们的帮助,我可能无法成功的完成此次设计。同时也感谢三年来授之以渔的老师们,是你们的教导使得我们获得了知识,表示衷心的感谢! 参考文献1 胡乾斌,李光斌,李玲等. 单片微型计算机原理与应用M.华中科技大学出版社,20042 何立民. 单片机应用技术选编M.北京航空航天

40、大学出版社,19963 苏长赞. 红外线与超声波遥控M.人民邮电出版社, 1993.74 苏伟. 巩壁建. 超声波测距误差分析J. 传感器技术, 20045陈伯时. 电力拖动自动控制系统M.机械工业出版社, 20006 薛丽芳,汪卉,彦文俊. 基于超声波的距离测量J. 自动化与仪表, 2007(05)7 王田苗. 嵌入式系统设计与实例开发.清华大学出版社, 20058马忠梅,藉顺心等. 单片机的C语言应用程序设计(第三版).北京航空航天大学出版社, 20039戴娟主编,倪瑛,单片机技术与应用.高等教育出版社, 2012.1010王连英主编,基于Multisim 10的电子仿真实验与实际,北京邮

41、电大学出版社, 2009.8 附录一 硬件电路图硬件电路图 附录2 程序;*;*超声波测距器 *;*采用AT89C52 12MHz晶振 *;*采用共阳LED显示器 *;*;测距范围10cm-5.5m,堆栈在4FH以上,20H用于标志;显示缓冲单元在40H43H,使用内存44H、45H、46H用于计算距离; VOUT EQU P1.0 ;脉冲输出端口;*;*中断入口程序 *;*;ORG 0000H LJMP STARTORG 0003H LJMP PINT0ORG 000BH LJMP INTT0ORG 0013H RETIORG 001BH LJMP INTT1ORG 0023H RETIOR

42、G 002BH RETI;*;* 主程序 *;*START: MOV SP,#4FH MOV R0,#40H ;4043H为显示数据存放单元(40为最高位) MOV R7,#0BHCLEARDISP: MOV R0, #00H INC R0 DJNZ R7, CLEARDISP MOV 20H, #00H MOV TMOD, #21H ;T1为8位自动重装模式,T0为16位定时器 MOV TH0, #00H ;65ms初值 MOV TL0, #00H MOV TH1, #0F2H ; 40kHz初值 MOV TL1, #0F2H MOV P0, #0FFH MOV P1, #0FFH MOV P2, #0FFH MOV P3, #0FFH MOV R4, #04H ;超声波脉冲个数控制 SETB PX0 SETB ET0 SETB EA SETB TR0 ;开启测距定时器start1: LCALL DISPLAY JNB 00H, START1 ;收到反射信号时标志为1 CLR EA LCALL WORK ;计算距离子程序 SETB EA CLR 00H SETB

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

当前位置:首页 > 建筑/环境 > 装饰装潢


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