为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

超声波测距仪的设计

2017-10-20 50页 doc 324KB 23阅读

用户头像

is_769254

暂无简介

举报
超声波测距仪的设计超声波测距仪的设计 河南科技大学本科毕业设计(论文) 超声波测距仪的设计 摘 要 当今社会,人们对长度或距离测量的要求越来越高。一些传统的测量方法在某些特殊场合已不能满足人们的需求,如带腐蚀的液体,强电磁干扰,有毒等恶劣条件。而超声波具有指向性强,能量消耗缓慢,可长距离进行传播的优点,因此设计出一个能够精确、稳定、实时测距的实用型超声波测距仪,以便在某些特殊场合能够满足人们使用,显得尤为重要。 本超声波测距仪是以STC89C51RC单片机为核心控制芯片,该单片机响应速度快、扩展性良好、有很好的抗干扰能力。基于此单片机...
超声波测距仪的设计
超声波测距仪的设计 河南科技大学本科毕业设计() 超声波测距仪的设计 摘 要 当今社会,人们对长度或距离测量的要求越来越高。一些传统的测量在某些特殊场合已不能满足人们的需求,如带腐蚀的液体,强电磁干扰,有毒等恶劣条件。而超声波具有指向性强,能量消耗缓慢,可长距离进行传播的优点,因此设计出一个能够精确、稳定、实时测距的实用型超声波测距仪,以便在某些特殊场合能够满足人们使用,显得尤为重要。 本超声波测距仪是以STC89C51RC单片机为核心控制芯片,该单片机响应速度快、扩展性良好、有很好的抗干扰能力。基于此单片机的超声波测距仪可以实时、稳定、准确地用于距离的测量。传感器部分利用反相器74LS04和超声波发射换能器作为超声波发射电路,采用集成芯片CX20106A作为超声波接收电路。通过两个独立按键进行状态控制,并用4位共阳LED数码管作为显示设备的硬件设计。软件部分采用模块化的设计方法,由主程序、发射子程序、接收中断子程序、显示子程序等模块组成。采用C语言,逐模块设计程序,最终使各部分结合起来协调工作,实现对距离的实时检测。 该超声波测距仪能够满足基本的使用功能,电路的工作稳定、检测的速度较快,计算结构简单,可以做到实时控制。但由于本人的技术能力,经验不足等因素,元件选取及设计尚有不足之处,离真正的产品还有一定的差距,还需要进一步完善。 关键词:STC89C51RC单片机,超声波,74LS04,CX20106A,LED I 河南科技大学本科毕业设计(论文) THE DESIGN OF ULTRASONIC DISTANCE MEASURE ABSTRACT In today's society, the demands of people on length or distance measurement are more and more. Some of the traditional measuring methods already can't satisfy people's needs in some special occasions , such as with the corrosion of the liquid, strong electromagnetic interference, toxic and so on bad conditions. Because of that ultrasonic directionality is strong, energy consumption is slow, and communication distance is far in the medium , therefore to design a accurate, stable, real-time ranging practical ultrasonic rangefinder, so that in some special situations can satisfy people use, is particularly important. The control chip of the ultrasonic rangefinder is STC89C51RC single-chip microcomputer.this single chip microcomputer is fast response, scalability, good,and have very good anti-interference ability. Based on the single chip microcomputer,the ultrasonic rangefinder can be real-time, stable and accurate used for the measurement. of the distance. The hardware design is using inverter 74 LS04 and ultrasound transducer as ultrasonic launching circuit and the integrated chips CX20106A as ultrasonic receiving circuit,.Through the two independent buttons control the state, and a total of 4 Yang LED as the digital display device . Software part uses modular design method, and it has the main program, launch procedure, receiving interrupt subroutines, display subroutines and so on. Using C language and then design program one by one module .At last, all parts of the combined work coordination, and to realize the distance of the real-time detection. The ultrasonic rangefinder can satisfy the basic use function,the circuit is stable , its speed of detection is fast, the calculation structure is simple and it can do real-time control. But because mine technical ability, experience and other factors, components II 河南科技大学本科毕业设计(论文) selection and design have some deficiencies, there is still a gap from the real products, and it still needs to improve. KEY WORDS:stc89c51rc microcontroller,ultrasonic,74ls04,cx20106a,led III 河南科技大学本科毕业设计(论文) 目 录 前 言 ....................................................................................................... 1 第1章 绪论.............................................................................................. 2 ?1.1 课题提出的背景及研究的意义 ................................................... 2 ?1.1.1 课题提出的背景 .................................................................... 2 ?1.1.1 课题研究的意义 .................................................................... 2 ?1.2 超声波测距仪的主要性能指标及其工作原理 ............................ 2 ?1.2.1 性能指标 ............................................................................... 3 ?1.2.2 超声波测距仪的工作原理 .................................................... 3 ?1.3 超声波测距仪硬件总体方案设计................................................ 4 ?1.4 超声波测距仪软件系统设计方案................................................ 5 第2章 超声波测距仪的硬件电路设计 ................................................... 7 ?2.1 超声波测距仪单片机系统电路设计 ............................................ 7 ?2.2 超声波发射电路设计 ..................................................................12 ?2.3 超声波接收电路设计 ..................................................................14 ?2.4 LED显示电路设计 ......................................................................17 ?2.5 键盘控制电路设计 ......................................................................19 第3章 超声波测距仪软件设计 .............................................................20 ?3.1 主程序模块设计 ..........................................................................20 ?3.2 超声波传感器程序设计 ..............................................................23 ?3.2.1 超声波发射子程序设计 .......................................................23 ?3.2.2 超声波接收中断程序设计 ...................................................24 ?3.3 LED显示模块程序设计 ..............................................................25 结 论 ......................................................................................................28 参考文献 ..................................................................................................29 致 谢 ......................................................................................................30 附 录 ......................................................................................................31 附录一 超声波测距仪的电路原理图 ....................................................31 附录二 超声波测距仪程序 ...................................................................32 IV 河南科技大学本科毕业设计(论文) 前 言 超声波是指频率大于20khz的机械波,具有指向性强,能量消耗缓慢,在介质中传播距离远等优点,因此经常应用于距离的测量。超声波是一种特殊的声波,因此具有声波传输的基本物理特性,反射,折射,衍射,干涉,散射。同时更适合在高温,高粉尘,高强电磁干扰等恶劣环境下持续工作,并且其精度和可靠性都做的比较好。由于超声波测距比较迅速、方便、计算简单、易于做到实时控制,在测量精度方面易于达到工业实用的要求,因此具有广泛的发展前景。如今,超声波技术已广泛的应用于工农业生产,通信,医疗及家用电器等领域。 综合参考国内外同类产品的设计方法,结合用户的实际需求,文中设计的超声波测距仪采用了深圳宏晶公司生产的STC89C51RC单片机作为主控MCU,利用单片机P1.0口产生40KHz的方波信号。超声波发射电路硬件部分采用了价格便宜的六反相器74LS04,负责功率放大,驱动发射探头工作。 采用集成芯片CX20106A作为超声波接收电路,具有很好的灵敏度和抗干扰能力。显示设备采用的是4位共阳LED数码管,通过动态扫描的方法将所得距离以BCD码的形式清晰的显示出来,段码由单片机P0口控制,位码由单片机P2口控制,整个硬件部分设计比较简单,能够满足实际需求。软件部分采用模块化的设计方法,逐模块设计,最使各部分结合起来协调工作。 全文共分三个部分:第一章是绪论,主要介绍了课题提出的背景及研究意义,测距仪的主要性能指标及其工作原理,硬件和软件设计方案;第二章主要介绍了超声波测距仪的硬件电路设计,重点介绍了STC89C51单片机系统电路设计,超声波发射接收电路设计,LED显示模块电路设计和键盘控制电路设计;第三章主要介绍了超声波测距仪的软件设计,软件设计部分采用模块化设计,由主程序、发射子程序、接收子程序、显示子程序等模块组成。 实验表明,该超声波测距仪能够满足基本的使用功能,电路的工作稳定、检测的速度较快,计算结构简单,可以做到实时控制。但由于本人的技术能力,经验不足等因素,元件选取及设计尚有不足之处,离真正的产品还有一定的差距,还需要进一步完善。 1 河南科技大学本科毕业设计(论文) 第1章 绪论 ?1.1 课题提出的背景及研究的意义 ?1.1.1 课题提出的背景 一些传统的距离测量方式在某些特殊场合存在不可克服的缺陷。例如,液面测量就是一种距离测量,传统的电极法是采用差位分布电极,通过给电或脉冲来检测液面,电极长期浸泡于水中或其他液体中,极易被腐蚀、电解,失去灵敏性。利用超声波就可以解决这些问题。随着经济发展,电子测量技术应用越来越广泛,而超声波测量精确度高,成本低,性能稳定则备受青睐。超声波是指频率在20kHz以上的声波,它属于机械波的范畴。超声波也遵循一般机械波在弹性介质中的传播规律,如在介质的分界面处发生反射和折射现象,在进入介质后被介质吸收而发生衰减等。正是因为具有这些性质,使得超声波可以用于距离的测量中,超声波测距技术正在被广泛应用于人们日常工作和生活之中。 ?1.1.1 课题研究的意义 由于超声测距是一种非接触检测技术,不受光线、被测对象颜色等的影响,较其它仪器更卫生,更耐潮湿、粉尘、高温、腐蚀气体等恶劣环境,具有少维护、不污染、高可靠、长寿命等特点。因此可广泛应用于纸业、矿业、电厂、化工业、农业用水、环保检测、食品、防汛、水文、空间定位、公路限高等行业中。可在不同环境中进行距离准确度在线标定,可直接用于水、酒、糖、饮料等液位控制,可进行差值设定,直接显示各种液位罐的液位、料位高度,在特殊环境下有较广泛的应用。利用超声波检测往往比较迅速、方便、计算简单、易于实现实时控制,并且在测量精度方面能达到工业实用的指标要求。同时由于超声波测距系统具有以上的这些优点,因此在移动机器人的研究和汽车倒车雷达的研制方面也得到了广泛的应用。因此,设计满足实际需求的超声波测距仪就显得非常重要了。 ?1.2 超声波测距仪的主要性能指标及其工作原理 2 河南科技大学本科毕业设计(论文) ?1.2.1 性能指标 1. 测量距离:大于2m,分辨力0.01m; 2. LED显示; 3. 按键控制发送和停止; 4. 电源:DC5V?10%; 5. 工作环境温度?60? ,工作环境湿度?90%; ?1.2.2 超声波测距仪的工作原理 本设计中的超声波测距仪利用STC89C51RC单片机作为主控MCU,通过单片机P1.0引脚产生40KHz超声波发送信号,通过按键控制实现超声波信号的发送和接收,同时通过定时器T0得到往返时间,则可计算出传感器距待测物的距离。其工作原理主要由超声波发生器原理和超声波测距原理两部分构成。 1 超声波发生器原理 为了研究和利用超声波,人们已经设计和制成了许多超声波发生器。总体上讲,超声波发生器可以分为两大类:一类是用电气方式产生超声波,一类是用机械方式产生超声波。电气方式包括压电型、磁致伸缩型和电动型等;机械方式有加尔统笛、液哨和气流旋笛等。它们所产生的超声波的频率、功率和声波特性各不相同,因而用途也各不相同。目前较为常用的是压电式超声波发生器。 压电式超声波发生器实际上是利用压电晶体的谐振来工作的。超声波发生器内部有两个压电晶片和一个共振板。当它的两极外加脉冲信号,其频率等于压电晶片的固有振荡频率时,压电晶片将会发生共振,并带动共振板振动,便产生超声波。反之,如果两电极间未外加电压,当共振板接收到超声波时,将压迫压电晶片作振动,将机械能转换为电信号,这时它就成为超声波接收器了。 2 超声波测距原理 超声波发射器向某一方向发射超声波,同时开始计时,超声波在空气中传播,途中遇到障碍物就立即返回,超声波接收器收到反射波就立即停止计时。假设超声波在空气中的传播速度为v,计时器记录的时间t,发射点距障碍物的距离H,如图1-1所示: 3 河南科技大学本科毕业设计(论文) 图1-1超声波测距仪测距原理 图1-1 中被测距离为H , 两探头中心距离的一半用M 表示, 超声波单程 所走过的距离用L 表示, 由图中关系可得 : H= Lcosθ (1) θ=arctan( M/ H ) (2) 将式(2) 代入式(1) 得: H =L cos[arctan(M/ H ) ] (3) 在整个传播过程中, 超声波所走过的距离为: 2L = vt (4) 式中: v 为超声波的传播速度; t 为传播时间, 即为超声波从发射到接 收的时间。将式(4) 代入式(3) 可得: H = 0.5vt cos[ arctan(M/ H ) ] (5) 当被测距离H 远远大于M 时, 于是式(5) 变为: H = 0.5vt (6) 这就是所谓的渡越时间法。首先测出超声波从发射到遇到障碍物返回所 经历的时间,再乘以超声波的速度就得到二倍的声源与障碍物之间的距离。 ?1.3 超声波测距仪硬件总体方案设计 本设计中,采用STC89C51RC单片机作为主控制器,用超声波传感器作 为测量器件,超声波驱动信号通过单片机软件延时的方法产生,采用动态扫 描法实现LED数字显示测量的距离值。整个硬件系统分为以下几个部件,具 4 河南科技大学本科毕业设计(论文) 体如图1-2所示: 电源电路部分键盘控制电路 STC89C51RCLED显示电路超声波发射电路单片机 串口通讯电路超声波接收电路 图1-2 硬件电路框图 超生波发射电路主要由反相器74LS04和超声波发射换能器T构成。通过软件发生法由P1.0口输出40kHz的方波信号,利用推免形式通过反相器74LS04将方波信号加到超声波发射换能器T的两端,实现超声波信号的发射。 超声波接收电路主要由红外接收芯片CX20106A和超声波接收换能器T构成。利用红外接收芯片CX20106A制成超声波检测接收电路,实现超声波回波信号的接收。 键盘控制电路主要由两个独立按键组成,实现超声波的发射和停止发射。 LED显示电路主要由4位LED共阳数码管组成,采用动态扫描方法以BCD码显示距离值。 串口通讯电路主要由MAX232芯片和USB接口构成,和PC机串行口联接,实现电平转换和通讯功能。 ?1.4 超声波测距仪软件系统设计方案 根据设计要求超声波测距仪软件系统采用结构化程序设计。采用结构化程序设计可以使程序结构清晰,层次分明,易于编写与调试。具体框图如图1-3所示: 5 河南科技大学本科毕业设计(论文) 主模块 超声波接收键盘控制超声波发送LED显示中断 计算时间初始化定产生40KHz 和距离时器T0方波 图1-3 软件设计模块图 超声波测距仪的软件系统主要包括:主程序,超声波发送程序,超声波接收中断程序,LED显示程序组成。 主程序是整个软件系统的程序入口,包含系统初始化,调用超声波发射和接收程序等子程序,得到时间,计算距离同时用LED数码管显示。 超声波发送程序主要实现40KHz方波信号的发送,同时开始计时。 超声波接收中断程序通过检测INT0引脚的电平由高到低的跳变,从而判断接收超声波回波信号,计算传播时间和距离,输出相应结果。 LED显示程序接收数据,通过动态显示方法以十进制BCD码显示所得距离。 6 河南科技大学本科毕业设计(论文) 第2章 超声波测距仪的硬件电路设计 本设计中,超声波测距仪硬件电路主要包括以下几部分:单片机系统电路设计,超声波发射电路,超声波检测接收电路,LED显示电路设计,键盘控制电路等。采用STC89C51RC单片机来实现对CX20106A红外接收芯片和超声波发射换能器和接收换能器的控制。通过单片机软件延时的方法通过P1.0引脚产生换能器所需的40kHz的方波信号,利用外中断0口监测超声波接收电路输出的返回信号。当INT0引脚电平由高变为低时,则可认为超声波已经返回。通过定时器得到往返时间,则可计算出传感器距待测物的距离。 ?2.1 超声波测距仪单片机系统电路设计 单片机系统是超声波测距仪整个硬件电路设计的核心。根据本次设计方案需求,我选用了功能强大,价格便宜,使用广泛的STC89C51RC单片机作为主控MCU,同时外接晶振电路,复位电路和串口通讯电路等辅助电路,构成了超声波测距仪的单片机核心系统。 1 STC89C51RC单片机电路 STC89C51RC单片机引脚图如图2-1所示: 7 河南科技大学本科毕业设计(论文) 图2-1 STC89C51RC引脚图 STC89C51RC是一种带4K字节FLASH存储器(FPEROM—Flash Programmable and Erasable Read Only Memory)的低电压、高性能CMOS 8位微处理器,与工业标准的MCS-51指令集和输出管脚相兼容。 STC89C51RC是一个低功耗高性能单片机,40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,2个16位可编程定时计数器,1个全双工串行通信口,STC89C51RC可以按照常规方法进行编程,也可以在线编程。其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。 本设计中单片机主要使用了以下引脚: P0.0: 用于显示输出,控制LED段码显示。 P0.1: 用于显示输出,控制LED段码显示。 P0.2: 用于显示输出,控制LED段码显示。 P0.3: 用于显示输出,控制LED段码显示。 P0.4: 用于显示输出,控制LED段码显示。 P0.5: 用于显示输出,控制LED段码显示。 P0.6: 用于显示输出,控制LED段码显示。 P0.7: 用于显示输出,控制LED段码显示。 8 河南科技大学本科毕业设计(论文) P2.0:用于显示输出,控制LED位码。 P2.1:用于显示输出,控制LED位码。 P2.2:用于显示输出,控制LED位码。 P2.3:用于显示输出,控制LED位码。 P1.0:产生输出一个40KHZ的脉冲信号。 INT0: 产生中断请求,接超声波接收电路。 T0:用于按键控制,发送超声波。 T1:用于按键控制,停止发送超声波(即停止测距)。 2 时钟电路 如图2-2所示,为STC89C51RC单片机外接晶体的接法。片内高增益反相放大器通过XTAL1、XTAL2外接作为反馈元件的晶体(呈感性)与电容组成的并联谐振回路,构成一个自激振荡器向内部时钟电路提供震荡时钟。振荡器的频率取决于晶体的振荡频率,这里选用11.0592MHz的晶体便于串口通信。电容C7、C8具有滤除高次谐波的作用,但是会影响振荡器的频率,一般取30pF左右。振荡器的频率越高,单片机的指令周期越短,即运行速度越快。 图2-2 单片机时钟电路 3 复位电路 单片机系统常用的有上电复位和按钮复位2种复位方法。所谓上电复位,是指单片机加电瞬间,要在RST引脚上出现大于10ms的正脉冲,使单片机进入复位状态。按钮复位是指用户按下“复位”按钮,使单片机进入复位状态。 本设计中STC89C51RC单片机的复位电路采用的开关复位电路,开关SW未按下是上电复位电路,上电复位电路在上电的瞬间,由于电容上的电压不能突变,电容处于充电(导通)状态,故RST脚的电压与VCC相同。随着电 9 河南科技大学本科毕业设计(论文) 容的充电,RST脚上的电压才慢慢下降。选择合理的充电常数,就能保证在开关按下时是RST端有两个机器周期以上的高电平从而使STC89C51RC内部复位。SW按下时是按键手动复位电路,RST端通过R8与VCC电源接通,提供足够的时间的复位电平,使单片机复位。如图2-3所示,为本设计的复位电路。 图2-3 单片机复位电路 4 串口通讯电路 STC89C51RC单片机有一个全双工的串行通讯口,所以可以方便地进行单片机和电脑之间的串口通讯,可以同时接收或传送外部送来的数据。但是进行串行通讯时要满足一定的条件,例如电脑的串口是RS232电平的,而单片机的串口是TTL电平的,两者之间必须通过一个电平转换电路连接,电平转换后才能实现相应程序的下载。本次设计中,我采用了美信(MAXIM)公司专为RS232标准串口设计的单电源电平转换芯片MAX232进行电平转换。当然,也可以用几个三极管进行模拟转换,但都不如专用芯片更简单可靠。标准的RS232电平与STC89C51RC单片机的串口电平并不相兼容,须加上转换IC,方可与RS232电平直接相连。 单片机内部已集成通信接口URT,只需扩展一片MAX232芯片将输出信号转换成RS-232规定的电平标准, MAX232 是 一 种 双 组 驱 动 器 / 接 收 器 ,每个接收器将EIA/TIA-232-E电平输入转换为5V TTL/CMOS电平。这些接收器具有1.3V的典型门限值及0.5V的典型迟滞,而且可以接收?30V的输入。 每个驱动器将TTL/CMOS输入电平转换 为 EIA/TIA-232-E电平。 10 河南科技大学本科毕业设计(论文) 即EIA接口,就是把5V转换为-8V到-15V电位0V转换为8V到15V再经RXD输出,接收时由RXD输入,把-8V到-15V电位转换为5V,8V到15V转换为0V。MAX232的工作电压只需5V,内部有振荡电路产生正负9V电位。串口通讯电路设计如图2-4所示: 图2-4串口通讯电路设 5 外部扩展电路 外部扩展接口主要是为了方便在通用电路板上使用单片机的资源。只要在通用电路板上把需要和单片机管脚相连的地方接到对应的外部接口上,不必直接和单片机的管脚相连,这样,就提高了系统的稳定性和可扩展性。如图2-5所示,为单片机外部扩展接口电路。 图2-5 外部扩展接口电路 11 河南科技大学本科毕业设计(论文) ?2.2 超声波发射电路设计 本设计中超声波发射电路主要由反相器74LS04和超声波发射换能器T构成。超声波换能器具体将采用超声波发射换能器TCT40-16BT和超声波接收换能器TCT40-16BR。 74LS04内部具有6个独立的反相器,通过将外部管脚的组合连接来实现对单片机发出的超声发射探头激励信号进行功率放大处理,其引脚图如图2-6所示: 图2-6 74LS04引脚图 超声波换能器命名规则: , 型号:TCT40-16BT或(R) , 类别:TC—压电陶瓷超声波传感器;T—通用性;T—发射/R—接收 , 外径:,16代表Φ16mm , 外壳材料:铝 , 外壳颜色:银色 具体参数: , 中心频率:40.0kHz?1.0 kHz , 输出电压: ?115dB 12 河南科技大学本科毕业设计(论文) , 接收灵敏度:?-65dB , 静电容量:2000pF?20% , 指向角:80? , 工作温度: -20,+70? 超声波接收/发射换能器实物图如图2-7所示: 图2-7超声波换能器实物图 本设计采用的超声波换能器属于压电式超声波换能器。压电式超声波换能器是利用压电晶体的谐振来工作的,超声波换能器内部有两个压电晶片和一个换能板。当它的两极外加脉冲信号,其频率等于压电晶片的固有振荡频率时,压电晶片会发生共振,并带动共振板振动产生超声波,这时它就是一个超声波发生器;反之,如果两电极问未外加电压,当共振板接收到超声波时,将压迫压电晶片作振动,将机械能转换为电信号,这时它就成为超声波接收换能器。超声波发射换能器与接收换能器在结构上稍有不同,使用时应分清器件上的标志。其结构图如图2-8所示: 图2-8 压电式超声波换能器结构图 13 河南科技大学本科毕业设计(论文) 发射电路是为了让超声波发射换能器T能向外界发出40 kHz左右的方波脉冲信号。40 kHz左右的方波脉冲信号的产生通常有两种方法:采用软件如单片机软件编程输出或采用硬件如由555振荡产生。由于采用软件发生法灵活性好,所以本设计采用软件发生法由P1.0端口输出40 kHz左右的方波脉冲信号。 单片机P1.0端口输出的40kHz的方波信号一路经一级反向器后送到超声波换能器的一个电极,另一路经两级反向器后送到超声波换能器的另一个电极,用这种推换形式将方波信号加到超声波换能器的两端,可以提高超声波的发射强度。输出端采两个反向器并联,用以提高驱动能力。上位电阻R15、R16一方面可以提高反向器74LS04输出高电平的驱动能力,另一方面可以增加超声波换能器的阻尼效果,缩短其自由振荡时间。 发射电路如图2-9所示: 图2-9 超声波发射电路 由于发射到换能器的电压高,波形比较完整,因此可以达到很高的发射功率与效率,可以测量到比较远的距离,同时用这个电路发射方波,电路工作稳定,适合单电源供电,功耗也非常小。 ?2.3 超声波接收电路设计 14 河南科技大学本科毕业设计(论文) 上述超声波发射换能器T发射的超声波在空气中传播,遇到障碍物就会返回,超声波接收部分是为了将反射波(回波)顺利接收到超声波接收换能器T进行转换变成电信号,并对此电信号进行放大、滤波、整形等处理后,这里用索尼公司生产的集成芯片CX20106A,得到一个负脉冲送给单片机的P3.2(INT0)引脚,以产生一个中断。 CX20l06A是日本索尼公司生产的红外接收芯片,也适用于超声波接收。其采 用单列8脚直插式,超小型封装。+5V供电,其内部方框图如图2-10所示: 图2-10 CX20106A内部方框图 CX20l06A的引脚说明: 1脚:超声波信号输入端,该脚的输入阻抗约为40k Ω 。 2脚:该脚与GND之间连接RC串联网络,它们是负反馈串联网络的一个组成部分,改变它们的数值能改变前置放大器的增益和频率特性。增大电阻R或减小C,将使负反馈量增大,放大倍数下降,反之则放大倍数增大。但C的改变会影响到频率特性,一般在实际使用中不必改动,推荐选用参数为R=4.7 Ω ,C=3.3 μ F。 3脚:该脚与GND之间连接检波电容,电容量大为平均值检波,瞬间相应灵敏度低;若容量小,则为峰值检波,瞬间相应灵敏度高,但检波输出的脉冲宽度变动大,易造成误动作,推荐参数为3.3μ F。 4脚:接地端。 15 河南科技大学本科毕业设计(论文) 5脚:该脚与电源端VCC接入一个电阻,用以设置带通滤波器的中心频率fn,阻值越大,中心频率越低。例如,取R=200kΩ时,f0?42kHz,若取R=220kΩ,则中心频率f0?38kHz。 6脚: 该脚与GND之间接入一个积分电容,标准值为330pF,如果该电容取得太大,会使探测距离变短。 7脚:遥控命令输出端,它是集电极开路的输出方式,因此该引脚必须接上一个上拉电阻到电源端,该电阻推荐阻值为22k Ω ,没有接收信号时该端输出为高电平,有信号时则会下降。 8脚: 电源正极,4.5V,5V。 集成电路CX20106A是一款红外线检波接收的专用芯片,常用于电视机红外遥控接收器。考虑到红外遥控常用的载波频率38 kHz与测距的超声波频率40 kHz较为接近,可以利用它制作超声波检测接收电路。实验证明用CX20106A接收超声波(无信号时输出高电平),具有很好的灵敏度和较强的抗干扰能力。CX20106A内部由前置放大器、限幅放大器、带通滤波器、检波器、积分器及整形电路构成。工作过程如下:接收的回波信号先经过前置放大器和限幅放大器,将信号调整到合适幅值的矩形脉冲,由滤波器进行频率选择,滤除干扰信号,再经整形,送给输出端7脚。当接收到与CX20106A滤波器中心频率相符的回波信号时,其输出端7脚就输出低电平,而输出端7脚直接接到STC89C51RC的INT0引脚上,以触发中断。若频率有一些误差,可调节芯片引脚5的外接电阻R18,将滤波器的中心频率设置在40 kHz,就可达到理想的效果。 超声波接收电路如图2-11所示: 16 河南科技大学本科毕业设计(论文) 图2-11 超声波接收电路 ?2.4 LED显示电路设计 动态扫描显示接口是单片机中应用最为广泛的一种显示方式。其接口电路是把所有数码管的8个笔划断a—dp同名端连在一起,而每一个数码管的公共极COM是各自独立的受I/O线的控制。CPU向字段输出口送出字型码时,所有数码管接收到相同的字型码,但究竟是哪个数码管亮,则取决于COM端,而这一端是由I/O控制的,所以我们就可以自行决定何时显示哪一位了。而所谓动态扫描就是指我们采用分时的方法,轮流控制各个数码管的COM端,使各个数码管轮流点亮。在轮流点亮过程中,每位数码管的点亮时间是极为短暂的(约1ms),但由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感。静态显示就是显示驱动电路具有输出锁存功能,单片机将要显示的数据送出后就不再控制LED,直到下一次显示时再传送一次新的数据。只要当前显示的数据没有变化,就无须理睬数码显示管。静态显示的数据稳定,占用的CPU时间少。静态显示中,每一 17 河南科技大学本科毕业设计(论文) 个显示器都要占用单独具有锁存功能的I/O口,该接口用于笔画段字型代码。这样单片机只要把显示的字型数据代码发送到接口电路,该字段就可以显示要发送的字型。要显示新的数据时,单片机再发送新的字型码。 采用静态扫描方式控制点亮LED数码管无位选信号,各数码管是同时点亮的,每个数码管显示数码的笔划信息也分路同时送给,其原理比较简单。静态扫描显示编程容易,显示比较清晰,亮度一般较高,但要求占用很多I/O接线口和增用不少硬件芯片,成本较高。因此,本设计中采用了动态扫描显示方式。 设计的显示电路采用4位一体八段共阳数码管,段码直接由单片机的P0口来驱动,由于P0口内部无上拉电阻,因此需外接阻值为330欧的上拉电阻;位码通过4个NPN型三极管来驱动,同时接单片机P2口。 LED数码管显示电路如图2-12所示: 图2-12 LED数码管显示电路 18 河南科技大学本科毕业设计(论文) ?2.5 键盘控制电路设计 在外围的键盘控制电路中,设置了两个独立按键,分别与单片机的P3.4和P3.5引脚相连。当按下S1时,启动系统发射超声波,开始测距;当按下S2时,停止发射超声波,即停止测距。 键盘控制电路设计如图2-13所示: 图2-13 键盘控制电路 19 河南科技大学本科毕业设计(论文) 第3章 超声波测距仪软件设计 超声波测距仪的软件设计采用模块化设计,主要由主程序,超声波发射子程序,超声波接收中断子程序,LED显示子程序组成。 ?3.1 主程序模块设计 主程序首先要对系统环境初始化,第一设置定时器T0工作模式为16位定时/计数器模式,置位总中断允许位EA并将显示端口P0和P2清0。第二判断按键S1的状态若按下即单片机T0引脚由1变为0时,调用超声波发生子程序送出8个超声波脉冲,并开始计时(40khz方波信号通过9个左右_nop_()空指令延时产生)。为了避免超声波从发射器直接传到接收器引起的直射波,需要延时约0.1ms后才可打开外中断0接收返回的超声波信号。第三等待中断,若超声波回波被接收探头捕捉到,那么通过中断可测得超声波在环境中的传播时长。由于采用的是12MHz的晶振,计数器每计一个数为1us,所以当主程序检测到接收成功的标志位后,调用测距子程序,即可算得被测物与测距仪之间的距离,最后显示在LED上。第四判断按键S2的状态,若S2按下,则停止发送超声波信号即停止测距,若S2未按下,则再次发送四个40KHz的超声波脉冲信号继续测距。主程序流程图如图3-1所示: 20 河南科技大学本科毕业设计(论文) 开始 单片机初始化 N 按键s1按下, Y 超声波发生子程序 延时0.1ms 超声波接收中断子程序 (接收回波) NN 收到回波, Y 计算距离 LED显示0.5s 按键s2按下, Y 结束 图3-1 主程序流程图 STC89C51RC单片机内集成有2个可编程的定时/计数器:T0和T1。它们 既可以工作于定时模式,也可以工作于计数模式。其工作模式由两个特殊功 能寄存器控制。TMOD用于设置其工作方式,TCON用于控制其启动和中断申请。 1 工作方式寄存器TMOD 工作方式寄存器TMOD用于设置定时/计数器的工作方式,低4位用于T0 的设置,高4位用于T1的设置,其格式如表3-1所示: 21 河南科技大学本科毕业设计(论文) 7 6 5 4 3 2 1 0 地址 C/TC/TTMOD GATE M1 M0 GATE M1 M0 89H 表3-1 TMOD格式表 GATE:门控位。GATE,0时,只要用软件使TCON中的TR0或TR1为1,就可以启动定时/计数器工作;GATA,1时,要用软件使TR0或TR1为1,同时外部中断引脚为高电平时,才能启动定时/计数器工作。 : 定时/计数模式选择位。 ,0为定时模式; =1为计数模式。 M1M0:工作方式设置位。定时/计数器有四种工作方式,由M1M0进行设 C/TC/TC/T置,如表3-2所示: M1M0 工作方式 说明 00 方式0 13位定时/计数器 01 方式1 16位定时/计数器 10 方式2 8位自动重装定时/计数器 11 方式3 T0分成两个独立的8位定时/计数器;T1此方式停止计数 表3-2 定时/计数器工作方式设置表 2 控制寄存器TCON TCON的低4位与外部中断设置有关,高4位用于控制定时/计数器的启动和中断申请,其格式如表3-3所示: 7 6 5 4 3 2 1 0 字节地址 TCON TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 88H 表3-3 TCON格式表 TF1(TCON.7):T1溢出中断请求标志位。T1计数溢出时由硬件自动置TF1为1。CPU响应中断后TF1由硬件自动清0。T1工作时,CPU可随时查询TF1的状态。所以,TF1可用作查询测试的标志。TF1也可以用软件置1或清0,同硬件置1或清0的效果一样。 TR1:T1运行控制位。TR1置1时,T1开始工作;TR1置0时,T1停止工作。TR1由软件置1或清0。所以,用软件可控制定时/计数器的启动与停止。 TF0:T0溢出中断请求标志位,其功能与TF1类同。 TR0:T0运行控制位,其功能与TR1类同。 IE1:外部中断1中断请求标志位。 22 河南科技大学本科毕业设计(论文) IT1:外部中断1触发方式控制位。 IE0:外部中断0中断请求标志位。 IT0:外部中断0触发方式控制位。 本设计中定时器T0工作模式为方式1(16位定时/计数器模式),即M1M0为01。方式1的计数位数是16位,由TL0作为低8位、TH0作为高8位,组成了16位加1计数器 。其逻辑结构如图3-2所示: 图3-2 T0方式1逻辑结构 计数个数与计数初值的关系如式(1),式(2)所示。 16X=2-N (1) N=t/Tcy (2) 式中t为定时时间,Tcy为晶振周期,X为计数初值,N为计数个数。本设计中晶振为12MHz,因此Tcy为1us。 ?3.2 超声波传感器程序设计 ?3.2.1 超声波发射子程序设计 本设计中P1.0引脚连接到推挽放大电路再连接到超声波发射换能器,超声波发生子程序的作用是通过P1.0端口发送8个40KHz左右超声波脉冲信号,脉冲宽度为12μs左右,同时把计数器T0打开进行计时。流程图如图3-3所示: 23 河南科技大学本科毕业设计(论文) 开始 初始化计数器T0 启动计数器T0 发送40KHz方波信号 N 是否发送完, Y 停止发送 返回 图3.3 超声波发生子程序流程图 ?3.2.2 超声波接收中断程序设计 超声波接收中断服务子程序主要完成计数值的读取、距离计算等工作。超声波测距仪主程序利用外中断0检测返回超声波信号,一旦接收到返回超声波信号(INT0引脚出现低电平),立即进入中断程序。进入该中断后就立即关闭计数器T0停止计数,并将测距成功标志字赋值1,将计数器T0中的数(即超声波来回所用的时间)按式(1)和(2)计算即可测得被测物体与测距仪之间的距离,设计时取20?时的声速c为340 m/s则有: d=(c×T0)/2=172*T0/1000mm (1) T0=TH0*256+TL0 (2) 式中T0为计数器T0的值,d为被测物体与测距仪之间的距离,c为声速。如果当计时器溢出时还未检测到超声波返回信号,则定时器T0溢出中断将外中断0关闭,并将测距成功标志字赋值2以表示此次测距不成功,同时在数码管显示0。超声波接收中断程序流程图如图3-4所示: 24 河南科技大学本科毕业设计(论文) 外部中断入口 关外部中断 读取时间 计算距离 输出结果 开外部中断 返回 图3-4 超声波接收中断程序流程图 ?3.3 LED显示模块程序设计 本设计中LED显示采用动态扫描显示方法,即在某一时刻,只让某一位的位选线处于选通状态,而其他各位的位选线处于关闭状态,同时,段选线上输出相应要显示字符的段码。这样同一时刻,4位LED中只有选通的那一位字符,而其它三位是熄灭的,同样,在下一时刻,只让下一位的位选线处于选通状态,而其它各位的位选线处于关闭状态,同时,在段选线上输出相应位将要显示字符的段码,则同一时刻,只有选通位显示相应的字符,而其它各位是熄灭的。如此循环下去,就可以使各位显示出将要显示的字符,虽然这些字符是在不同时刻出现的,但由于LED显示器的余辉和人眼的视觉暂留作用,只要每位显示间隔足够短,就可以造成多为同时亮的假象,达到同时亮的假象,达到同时显示的目的。 25 河南科技大学本科毕业设计(论文) 如何确定LED不同位显示的时间间隔,例如对8位LED显示器,假如显示一位保持1ms时间,则显示完所有8位后,则需要8ms。上述保持1ms的时间根据实际情况而定。不能太短,也不能太长。 本设计中LED显示,由P0口控制段选,P2.0~P2.3控制位选,首先读取距离,分别计算得到个位,十位,百位,千位应显示的数值,查表译码,清空数据,防止有交替重影,然后分别送位选码和段选码将所得测量距离结果以十进制BCD码方式显示,保持显示约0.5s后,重复读取数据并显示。显示流程图如图3-5所示: 开始 读取数据 查表译码 P0口清零,防止交替重影 送位选数据到P2口 送段选数据到P0口 LED显示0.5s 图3-5 LED显示流程图 本设计中LED显示器采用的是4位共阳数码管,其段码如表3-4所示,位码如表3-5所示。 26 河南科技大学本科毕业设计(论文) 显示数 dp g f e d c b a 段码 0 1 0 0 0 0 0 0 0 0xc0 1 1 1 1 1 1 0 0 1 0xf9 2 1 0 1 0 0 1 0 0 0xa4 3 1 0 1 1 0 0 0 0 0xb0 4 1 0 0 1 1 0 0 1 0x99 5 1 0 0 1 0 0 1 0 0x92 6 1 0 0 0 0 0 1 0 0x82 7 1 1 1 1 1 0 0 0 0xf8 8 1 0 0 0 0 0 0 0 0x80 9 1 0 0 1 0 0 0 0 0x90 表3-4 段码表 4位LED位码表 位选 个位 十位 百位 千位 0x01 0x02 0x04 0x08 位码 表3-5 位码表 27 河南科技大学本科毕业设计(论文) 结 论 该超声波测距仪适用于需要对距离实时检测的多种场合。由于采用了测量范围广、精度高、响应速度快的超声波传感器进行超声波的发送和接收,同时经过STC89C51RC单片机的实时处理,因此该测距仪基本上达到技术指标中对测距精度和分辨力的要求。 在这次设计中我也遇到不少问题,也正是对这些问题的逐步解决,该测距仪才得以顺利设计完成。设计主要面临着硬件设计和软件设计的两大问题,比如元件的选取, 40KHz方波信号的产生以及硬件和软件的结合。在孙老师的悉心辅导下和查阅大量资料之后,最终使以上问题得到了很好解决 。 由于这次设计的时间较短,个人水平有限,该测距仪的主要功能虽然已经实现,但设计思路和实现功能上难免有不足之处,要达到实用,还需继续进一步进行研究设计。 28 河南科技大学本科毕业设计(论文) 参考文献 [1] 丁元杰.单片微机原理与应用.北京:机械工业出版社 [2] 喻评.郭文川.单片机原理与接口技术.北京:化学工业出版社 [3] 沙占友.单片机外围电路设计.北京:电子工业出版社 [4] 王树勋. MCS-51单片微型计算机原理与开发. 北京: 机械工业出版社, 1998 [5] 马忠梅.单片机的C语言应用程序设计.北京航空航天大学出版社 [6] 蔡美琴.,,,-,,系列单片机系统及其应用.高等教育出版社 [7] 李建忠.单片机原理及应用(第二版).西安电子科技大学出版社 [8] 韩志军,沈晋源,王振波.单片机应用系统设计. 北京: 机械工业出版社, 2004 [9] 何立民.MCS-51系列单片机应用设计、系统配置与接口技术 [10] 彭喜源,谭晓均,张毅刚.MCS-51单片机应用设计 [11] 陈宝江,翟涌,张幽彤.MCS单片机应用系统实用指南 [12] 胡健.单片机原理及接口技术实践教程.北京:机械工业出版社,2004 [13] 徐爱钧.智能化测量控制仪表原理与设计. 北京: 北京航空航天大学出版社, [14] 李刚.51系列单片机系统设计与应用技巧.北京航空航天大学出版社 [15] 余永权.MCS-51系列单片机应用技术.北京:北京航空航天出版社,2002 [16] 胡萍.超声波测距仪的研制.计算机与现代化,2003.10 [17] 何莉. 微机原理与接口技术. 北京: 机械工业出版社, 2004 [18] 胡萍.超声波测距仪的研制.计算机与现代化,2003.10 [19] 时德刚,刘哗.超声波测距的研究.计算机测量与控制,2002.10 [20] 肖红冰. 跟我学用单片机. 北京: 机械工业出版社, 2002 [21] 谭浩强.C程序设计.北京:清华大学出版社,2005 [22] 姚四改. Protel99SE电子线路设计教程. 上海: 上海交通大学出版社,2004 [23] 莫力. Protel电路设计. 北京: 国防工业出版社, 2005 [24] 刑增平 Protel 99 SE设计专家指导北京:中国铁道出版社,2004 [25] 邸春红.Visio 2003 图形设计实用教程. 北京:清华大学出版社,2006 [26] Tom R. Watt .Cooling our tomorrows economically ,ASHRAE Journal. [27] Army Kayla. Improving efficiency in existing chillers with optimization technology ,ASHRAE Journal. 29 河南科技大学本科毕业设计(论文) 致 谢 本设计的题目是由孙炎增老师根据实际工作和生产中的具体需要拟定的,花费了许多时间和精力查询资料,最终定出设计方案 。有多年单片机应用开发经验的孙老师给我们进行了深入而系统的指导。老师认真负责的工作态度,严谨的治学精神和扎实的、深厚的理论水平都使我受益匪浅。正是在孙老师的耐心引导和帮助及查阅相关资料下,解决了设计中的种种问题,最终使毕业设计圆满完成。在此我衷心的感谢孙老师对我这次毕业设计的指导和帮助。 在这次设计中也得到了周围同学的大力支持和热心帮助,他们对本超声波测距仪的设计提出了许多有益的建议和意见,在此一并致谢。 转眼四年已过,回想自己的大学生活,许多老师和同学都对我产生了很深的影响,学校优良的校风也使我颇受教益。在这里我学到了很多专业知识,思想上也受到很多启发,这一切都为我以后走向社会奠定了良好的基础。 再次感谢我的学校,我的老师,我的同学~ 30 1234 DD VCC C610uK_RESET1SWCC RST 10kC7R8 30P 河南科技大学本科毕业设计(论文) C8 30P BB附 录 附录一 超声波测距仪的电路原理图 VCC USB232_1USBVCC1PCTxD4.7k2PCRxDR13U9VCC34C1+VCCTitleCON4C18C16AAC200.1u0.1uC1-V+USB232_210uFS1C2+V-SizeNumberRevisionUSBVCCT01PCTxDC19C174A42SWPCRxD0.1u0.1u3C2-GNDDate:31-May-2012Sheet of RxDPCRxD4T1INT1OUTFile:F:\SYS.DDBDrawn By:S2T2INT2OUTCON4TxDPCTxDT11234R1OUTR1INSWR2OUTR2INU6VCCMAX232P10140P1.0VCCP11239P00P1.1P0.0P12338P01P1.2P0.1P13437P02P1.3P0.2P14536P03P1.4P0.3P15635P04P1.5P0.4P16734P05P1.6P0.5P17833P06P1.7P0.6RST932P07RSTP0.7J6RxD1031P4.6RXD/P3.0EATxD1130P4.51TXD/P3.1ALEINT01229P4.42INT0/P3.2PSENINT11328P273INT1/P3.3P2.7T01427P26VCC4T0/P3.4P2.6XTALM1V+5T11526P255XTAL1T1/P3.5P2.5V-511.0592MWR1625P246WR/P3.6P2.4V+9RD1724P237RD/P3.7P2.3V-9XTAL21823P228XTAL2P2.2XTAL11922P21XTAL1P2.1CON82021P20R15GNDP2.01kMCU-SIP40XTAL2T1P102J2VCCJ31ADC0P0.0112ADC1P0.123ADC2P0.23U8R16VCC4ADC3P0.345ADC41P0.451k6ADC52P0.567ADC63P0.67VCC8ADC74P0.78U109RST5CX20106AP4.6911410RxD6A1VCCP4.510T221311TxD7Y1A6P4.4111INT031212INT08A2Y6P2.71241113INT1Y2A5P2.61351014T02A3Y5P2.514C126915T1Y3A4P2.415473P7816WRGNDY4P2.316R1717RDP2.2174.7k74LS0418XTAL2P2.118220k220k19XTAL1P2.019C1320204.7uR18R19CON20VCCCON20C14C154.7u300PP20VCC P21 P22 VCC P23330330330330330330330330R0R1R2R3R4R6R7R5 U7位LED4.7kP000R14aP011bP022cP033dP044eP055fP066gP077dp 8com09com110com2超声波测距仪的电路原理图 11com3 Q0Q1Q2Q331 NPNNPNNPNNPN 4.7k4.7k4.7k4.7kR9R10R11R12 河南科技大学本科毕业设计(论文) 附录二 超声波测距仪程序 /********************************************************************** 超声波测距程序 程序说明: 为便于演示,本程序是按照我自己的开发板:JC-51A 单片机开发学习板,根据其上的资源和原理图进行编写的,因此程序中LED显示部分仅利用了P0口,通过锁存器,分别控制显示段码和位码,此处与文中设计的测距仪LED显示部分稍有不同,但显示原理是相同的,因此若用于文中设计的测距仪,只需把LED显示程序稍作修改即可。 程序功能: 1 启动单片机,s1键按下,开始发送8个40KHz左右的超声波方波信号,同时启动定时器T0,延时0.1ms,开外部中断0,若接收到回波信号,则停止计数,往测距标志位写1,计算时间和距离,送LED显示。 2 s2键按下,则停止发送超声波即停止测距,此时LED保持显示最近一次所测距离,若s1键按下,则重复步骤1. **********************************************************************/ #include #include sbit duan=P2^6; //段锁存 sbit wei=P2^7; //位锁存 //sbit INT0=P3^2;//外部中断,接CX20106的脚 sbit csb=P1^0;//40KHz方波输出脚 sbit s1=P3^4;//按键s1启动发射超声波 sbit s2=P3^5; //按键s2停止测距 #define DataPort P0 //数码管的数据口为P0口 #define uchar unsigned char #define uint unsigned int #define nop _nop_() void init(void);//初始化 //void delay_nms(uint n);//延时nms 32 河南科技大学本科毕业设计(论文) void delay(uint i); void delay100us(void); void display(uint dat);//4位数码管显示函数 void tran(void);//超声波测量函数 uint distance,tmp,high_time,low_time; uchar flag=0; uchar code table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; //共阳 数码管显示0-9 void main(void) { init(); if(s1==0) { delay(20000); while(1) //循环测量并显示 { tran();//发送超声波信号测距 display(distance);//显示距离 if(s2==0) //判断是否停止测距 { while(s1) //等待再次发射超声波 { display(distance); } } } } } void init(void) { 33 河南科技大学本科毕业设计(论文) TMOD=0x01;//定时器方式用于计时 TH0=0; TL0=0; EA=1; //开总中断 IT0=1;//下降沿有效 } //延时函数 void delay(uint i) { while(--i); } void delay100us() { uchar i; for(i=0;i<31;i++); } //显示数据转换程序 void display(uint dat) //dat(mm) { uchar j; for(j=0;j<50;j++) { uchar ge,shi,bai,qian; qian=dat/1000; bai=(dat%1000)/100; shi=(dat%100)/10; ge=dat%10; duan=1; DataPort=0x00; //清空数据,防止有交替重影 duan=0; wei=1; 34 河南科技大学本科毕业设计(论文) DataPort=0x01; wei=0; duan=1; DataPort=table[qian]; duan=0; delay(200) ; duan=1; DataPort=0x00; //清空数据,防止有交替重影 duan=0; wei=1; DataPort=0x02; wei=0; duan=1; DataPort=table[bai]; duan=0; delay(200) ; duan=1; DataPort=0x00; //清空数据,防止有交替重影 duan=0; wei=1; DataPort=0x04; wei=0; duan=1; DataPort=table[shi]; duan=0; delay(200) ; duan=1; DataPort=0x00; //清空数据,防止有交替重影 duan=0; wei=1; DataPort=0x08; 35 河南科技大学本科毕业设计(论文) wei=0; duan=1; DataPort=table[ge]; duan=0; delay(200) ; } } //超生波测量函数 void tran(void) { uchar i=0; float temp; TH0=0; TL0=0;//清定时 TR0=1;//开定时 csb=1; for(i=8;i>0;i--) { csb=!csb; nop; nop; nop; nop; nop; nop; nop; nop; nop; } delay100us(); 36 河南科技大学本科毕业设计(论文) EX0=1;//开中断 if(flag==1) //中断标志位置,说明有回波 { //以下为路程计算 temp=high_time*256+low_time; //us temp=(temp/1000)/2; //ms temp*=340; //mm distance=(uint)temp-20; //误差补偿 flag=0; if(distance<=50) //盲区 distance=0; } } //外部中断0 void exter0() interrupt 0 { TR0=0;//关定时器 flag=1; // EX0=0;//关外部中断 high_time=TH0;//把计时值放入缓冲 low_time=TL0; } //定时器0中断 void timer0() interrupt 1 { EX0=0; flag=2; } 37 河南科技大学本科毕业设计(论文) 外文资料原文 Ultrasonic distance meter Abstract: Document Type and Number:United States Patent 5442592 Abstract:An ultrasonic distance meter cancels out the effects of temperature and humidity variations by including a measuring unit and a reference unit. In each of the units, a repetitive series of pulses is generated, each having a repetition rate directly related to the respective distance between an electroacoustic transmitter and an electroacoustic receiver. The pulse trains are provided to respective counters, and the ratio of the counter outputs is utilized to determine the distance being measured. A.BACKGROUND OF THE INVENTION This invention relates to apparatus for the measurement of distance and, more particularly, to such apparatus which transmits ultrasonic waves between two points. Precision machine tools must be calibrated. In the past, this has been accomplished utilizing mechanical devices such as calipers, micrometers, and the like. However, the use of such devices does not readily lend itself to automation techniques. It is known that the distance between two points can be determined by measuring the propagation time of a wave travelling between those two points. One such type of wave is an ultrasonic, or acoustic, wave. When an ultrasonic wave travels between two points, the distance between the two points can be measured by multiplying the transit time of the wave by the wave velocity in the medium separating the two points. It is therefore an object of the present invention to provide apparatus utilizing ultrasonic waves to accurately measure the distance between two points. When the medium between the two points whose spacing is being measured is air, the sound velocity is dependent upon the temperature and humidity of the air. It is therefore a further object of the,present invention to provide apparatus of the type described which is independent of temperature and humidity variations. B.SUMMARY OF THE INVENTION 1 河南科技大学本科毕业设计(论文) The foregoing and additional objects are attained in accordance with the principles of this invention by providing distance measuring apparatus which includes a reference unit and a measuring unit. The reference and measuring units are the same and each includes an electroacoustic transmitter and an electroacoustic receiver. The spacing between the transmitter and the receiver of the reference unit is a fixed reference distance, whereas the spacing between the transmitter and receiver of the measuring unit is the distance to be measured. In each of the units, the transmitter and receiver are coupled by a feedback loop which causes the transmitter to generate an acoustic pulse which is received by the receiver and converted into an electrical pulse which is then fed back to the transmitter, so that a repetitive series of pulses results. The repetition rate of the pulses is inversely related to the distance between the transmitter and the receiver. In each of the units, the pulses are provided to a counter. Since the reference distance is known, the ratio of the counter outputs is utilized to determine the desired distance to be measured. Since both counts are identically influenced by temperature and humidity variations, by taking the ratio of the counts, the resultant measurement becomes insensitive to such variations. C.DETAILED DESCRIPTION A.The introduction of STC89C51 microcontroller 4Kbytes of Flash, 128 bytes of RAM, 32 I/O lines, two 16-bittimer/counters, a five vector two-level interrupt architecture,a full duple ser -ial port, on-chip oscillator and clock circuitry.In addition, the STC89C51 is designed with static logic for operation down to zero frequency and supports two software selectable power saving modes. The Idle Mode stops the CPU while allowing the RAM, timer/counters,serial port and interrupt sys -tem to continue functioning. The Power-down Mode saves the RAM contents but freezes the oscil –lator disabling all other chip functions until the next hardware reset. B.principle of ultrasonic distance measurement 1, the principle of piezoelectric ultrasonic generator Piezoelectric ultrasonic generator is the use of piezoelectric crystal resonators to work. Ultrasonic generator, the internal structure as shown in Figure 1, it has two piezoelectric chip and a resonance plate. When it's two plus pulse signal, the frequency equal to the 2 河南科技大学本科毕业设计(论文) intrinsic piezoelectric oscillation frequency chip, the chip will happen piezoelectric resonance, and promote the development of plate vibration resonance, ultrasound is generated. Conversely, if the two are not inter-electrode voltage, when the board received ultrasonic resonance, it will be for vibration suppression of piezoelectric chip, the mechanical energy is converted to electrical signals, then it becomes the ultrasonic receiver. 2, the principle of ultrasonic distance measurement Ultrasonic transmitter in a direction to launch ultrasound, in the moment to launch the beginning of time at the same time, the spread of ultrasound in the air, obstacles on his way to return immediately, the ultrasonic reflected wave received by the receiver immediately stop the clock. Ultrasound in the air as the propagation velocity of 340m / s, according to the timer records the time t, we can calculate the distance between the launch distance barrier (s), that is: s = 340t / 2. System is characterized by single-chip microcomputer to control the use of ultrasonic transmitter and ultrasonic receiver since the launch from time to time, single-chip selection of 8751, economic-to-use, and the chip has 4K of ROM, to facilitate programming. Circuit schematic diagram shown in Figure 2. Draw only the front range of the circuit wiring diagram, left and right in front of Ranging Ranging circuits and the same circuit, it is omitted. 1,40 kHz ultrasonic pulse generated with the launch Ranging system using the ultrasonic sensor of piezoelectric ceramic sensors UCM40, its operating voltage of the pulse signal is 40kHz, which by the single-chip implementation of the following procedures to generate. puzel: mov 14h, # 12h; ultrasonic firing continued 200ms here: cpl p1.0; output 40kHz square wave nop; nop; nop; djnz 14h, here; ret Ranging in front of single-chip termination circuit P1.0 input port, single chip 3 河南科技大学本科毕业设计(论文) implementation of the above procedure, the P1.0 port in a 40kHz pulse output signal, after amplification transistor T, the drive to launch the first ultrasonic UCM40T, issued 40kHz ultrasonic pulse, and the continued launch of 200ms. Ranging the right and the left side of the circuit, respectively, then input port P1.1 and P1.2, the working principle and circuit in front of the same location. 2, reception and processing of ultrasonic Used to receive the first launch of the first pair UCM40R, the ultrasonic pulse modulation signal into an alternating voltage, the op-amp amplification IC1A and after polarization IC1B to IC2. IC2 is locked loop with audio decoder chip LM567, internal voltage-controlled oscillator center frequency of f0 = 1/1.1R8C3, capacitor C4 determine their target bandwidth. R8-conditioning in the launch of the carrier frequency on the LM567 input signal is greater than 25mV, the output from the high jump 8 feet into a low-level, as interrupt request signals to the single-chip processing. Ranging in front of single-chip termination circuit output port INT0 interrupt the highest priority, right or left location of the output circuit with output gate IC3A access INT1 port single-chip, while single-chip P1.3 and P1. 4 received input IC3A, interrupted by the process to identify the source of inquiry to deal with, interrupt priority level for the first left right after. Part of the source code is as follows: receive1: push psw push acc clr ex1; related external interrupt 1 jnb p1.1, right; P1.1 pin to 0, ranging from right to interrupt service routine circuit jnb p1.2, left; P1.2 pin to 0, to the left ranging circuit interrupt service routine return: SETB EX1; open external interrupt 1 pop? acc pop? psw reti right: ...?; right location entrance circuit interrupt service routine ? Ajmp? Return 4 河南科技大学本科毕业设计(论文) left: ...; left Ranging entrance circuit interrupt service routine ? Ajmp? Return 3, the calculation of ultrasonic propagation time When you start firing at the same time start the single-chip circuitry within the timer T0, the use of timer counting function records the time and the launch of ultrasonic reflected wave received time. When you receive the ultrasonic reflected wave, the receiver circuit outputs a negative jump in the end of INT0 or INT1 interrupt request generates a signal, single-chip microcomputer in response to external interrupt request, the implementation of the external interrupt service subroutine, read the time difference, calculating the distance . Some of its source code is as follows: RECEIVE0: PUSH PSW PUSH ACC CLR EX0; related external interrupt 0 ? MOV R7, TH0; read the time value MOV R6, TL0? CLR C MOV A, R6 SUBB A, # 0BBH; calculate the time difference MOV 31H, A; storage results MOV A, R7 SUBB A, # 3CH MOV 30H, A? SETB EX0; open external interrupt 0 POP ACC? POP PSW RETI D.Fourth, the ultrasonic ranging system software design Software is divided into two parts, the main program and interrupt service routine. Completion of the work of the main program is initialized, each sequence of ultrasonic transmitting and receiving control. 5 河南科技大学本科毕业设计(论文) Interrupt service routines from time to time to complete three of the rotation direction of ultrasonic launch, the main external interrupt service subroutine to read the value of completion time, distance calculation, the results of the output and so on. E. Conclusions Required measuring range of 30cm ~ 200cm objects inside the plane to do a number of measurements found that the maximum error is 0.5cm, and good reproducibility. Single-chip design can be seen on the ultrasonic ranging system has a hardware structure is simple, reliable, small features such as measurement error. Therefore, it can be used not only for mobile robot can be used in other detection systems. Thoughts: As for why the receiver do not have the transistor amplifier circuit, because the magnification well, CX20106 integrated amplifier, but also with automatic gain control level, magnification to 76dB, the center frequency is 38k to 40k, is exactly resonant ultrasonic sensors frequency. 6 河南科技大学本科毕业设计(论文) 外文资料译文 超声波测距 摘要:提出了一种可以抵消温度的影响和湿度的变化的新型超声波测距仪,包括测量单元和参考资料。在每一个单位,重复的一系列脉冲的产生,每有一个重复率,直接关系到各自之间的距离,发射机和接收机。该脉冲序列提供给各自的计数器,计数器的产出的比率,是用来确定被测量的距离。 一、背景发明 本发明涉及到仪器的测量距离,最主要的是,这种仪器,其中两点之间 传输超声波。精密机床必须校准。在过去,这已经利用机械设备来完成,如卡钳,微米尺等。不过,使用这种装置并不利于本身的自动化技术发展。据了解,两点之间的距离可以通过测量两点之间的行波传播时间的决定。这样的一个波浪型是一种超声波,或声波。当超声波在两点之间通过时,两点之间的距离可以由波的速度乘以测量得到的在分离的两点中波中转的时间。因此,本发明提供仪器利用超声波来精确测量两点之间的距离对象。 当任意两点之间的介质是空气时,声音的速度取决于温度和空气的相对湿度。因此,它是进一步的研究对象,本次的发明,提供的是独立于温度和湿度的变化的新型仪器。 二、综述发明 这项距离测量仪器发明是根据上述的一些条件和额外的一些基础原则完 成的,其中包括一个参考单位和测量单位。参考和测量单位是相同的,每个包括一个超声波发射机和一个接收机。间隔发射器和接收器的参考值是一个固定的参考距离,而间距之间的发射机和接收机的测量单位是有最小距离来衡量的。在每一个单位,发射器和接收器耦合的一个反馈回路,它会导致发射器产生超声脉冲,这是由接收器和接收到一个电脉冲然后被反馈到发射机转换,从而使重复系列脉冲的结果。重复率脉冲是成反比关系之间的距离发射器和接收器。在每一个单位,脉冲提供一个反馈。由于参考的距离是众所周知的声速,比例反产出是利用数学以确定所期望的距离来衡量。由于这两方面都是相同的影响,温度和湿度的变化,采取的比例相同,由此产生的测量变得准确。 7 河南科技大学本科毕业设计(论文) 三、详细说明 一 STC89C51单片机介绍 4k 字节FLASH 闪速存储器,128 字节内部RAM,32 个I/O 口线,2 个16 位定时/计数器,一个5 向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,STC89C51 降至0Hz 的静态逻辑操作,并支持两种可选的节电工作模式。空闲方式体制CPU 的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。掉电方式保存RAM 中的,但振荡器体制工作并禁止其他所有不见工作直到下一个硬件复位。 二 超声波测距原理 1、压电式超声波发生器原理 压电式超声波发生器实际上是利用压电晶体的谐振来工作的。超声波发生器内部结构如下所示,它有两个压电晶片和一个共振板。当它的两极外加脉冲信号,其频率等于压电晶片的固有振荡频率时,压电晶片将会发生共振,并带动共振板振动,便产生超声波。反之,如果两电极间未外加电压,当共振板接收到超声波时,将压迫压电晶片作振动,将机械能转换为电信号,这时它就成为超声波接收器了。 2、超声波测距原理 超声波发射器向某一方向发射超声波,在发射时刻的同时开始计时,超声波在空气中传播,途中碰到障碍物就立即返回来,超声波接收器收到反射波就立即停止计时。超声波在空气中的传播速度为340m/s,根据计时器记录的时间t,就可以计算出发射点距障碍物的距离(s),即:s=340t/2 三 超声波测距系统的电路设计 系统的特点是利用单片机控制超声波的发射和对超声波自发射至接收往返时间的计时,单片机选用8751,经济易用,且片内有4K的ROM,便于编程。电路原理图如图2所示。其中只画出前方测距电路的接线图,左侧和右侧测距电路与前方测距电路相同,故省略之。 1、40kHz 脉冲的产生与超声波发射 测距系统中的超声波传感器采用UCM40的压电陶瓷传感器,它的工作电压是40kHz的脉冲信号,这由单片机执行下面程序来产生。 puzel: mov 14h, #12h;超声波发射持续200ms here: cpl p1.0 ; 输出40kHz方波 8 河南科技大学本科毕业设计(论文) nop ; nop ; nop ; djnz 14h,here; ret 前方测距电路的输入端接单片机P1.0端口,单片机执行上面的程序后,在P1.0 端口输出一个40kHz的脉冲信号,经过三极管T放大,驱动超声波发射头UCM40T,发出40kHz的脉冲超声波,且持续发射200ms。右侧和左侧测 距电路的输入端分别接P1.1和P1.2端口,工作原理与前方测距电路相同。 2、超声波的接收与处理 接收头采用与发射头配对的UCM40R,将超声波调制脉冲变为交变电压信号,经运算放大器IC1A和IC1B两极放大后加至IC2。IC2是带有锁 定环的音频译码集成块LM567,内部的压控振荡器的中心频率f0=1/1.1R8C3,电容C4决定其锁定带宽。调节R8在发射的载频上,则LM567 输入信号大于25mV,输出端8脚由高电平跃变为低电平,作为中断请求信号,送至单片机处理。 前方测距电路的输出端接单片机INT0端口,中断优先级最高,左、右测距电路的输出通过与门IC3A的输出接单片机INT1端口,同时单片机P1.3和P1.4接到IC3A的输入端,中断源的识别由程序查询来处理,中断优先级为先右后左。部分源程序如下: receive1:push psw push acc clr ex1 ; 关外部中断1 jnb p1.1, right ; P1.1引脚为0,转至右测距电路中断服务程序 jnb p1.2, left ; P1.2引脚为0,转至左测距电路中断服务程序 return: SETB EX1; 开外部中断1 pop? acc pop? psw 9 河南科技大学本科毕业设计(论文) reti right: ...? ; 右测距电路中断服务程序入口 ? ajmp? return left: ... ; 左测距电路中断服务程序入口 ? ajmp? return 3、计算超声波传播时间 在启动发射电路的同时启动单片机内部的定时器T0,利用定时器的计数功能记录超声波发射的时间和收到反射波的时间。当收到超声波反射波时,接收电路 输出端产生一个负跳变,在INT0或INT1端产生一个中断请求信号,单片机响应外部中断请求,执行外部中断服务子程序,读取时间差,计算距离。其部分源程序如下: RECEIVE0: PUSH PSW PUSH ACC CLR EX0 ; 关外部中断0 ? MOV R7, TH0 ; 读取时间值 MOV R6, TL0? CLR C MOV A, R6 SUBB A, #0BBH; 计算时间差 MOV 31H, A ; 存储结果 MOV A, R7 SUBB A, #3CH MOV 30H, A? SETB EX0 ; 开外部中断0 POP ACC? POP PSW RETI 四、超声波测距系统的软件设计 软件分为两部分,主程序和中断服务程序。主程序完成初始化工作、各路超声波发射和接收顺序的控制。 定时中断服务子程序完成三方向超声波的轮流发射,外部中断服务子程 10 河南科技大学本科毕业设计(论文) 序主要完成时间值的读取、距离计算、结果的输出等工作。 五、结论 对所要求测量范围30cm~200cm内的平面物体做了多次测量发现,其最大误差为0.5cm,且重复性好。可见基于单片机设计的超声波测距系统具有硬件结构简单、工作可靠、测量误差小等特点。因此,它不仅可用于移动机器人,还可用在其它检测系统中。 思考:至于为什么接收不用晶体管做放大电路呢,因为放大倍数搞不好,CX20106集成放大电路,还带自动电平增益控制,放大倍数为76dB,中心频率是38k到40k,刚好是超声波传感器的谐振频率 。 11
/
本文档为【超声波测距仪的设计】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索