超声波测距仪的设计_第1页
超声波测距仪的设计_第2页
超声波测距仪的设计_第3页
超声波测距仪的设计_第4页
超声波测距仪的设计_第5页
已阅读5页,还剩47页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、河南科技大学本科毕业设计(论文)超声波测距仪的设计摘 要当今社会,人们对长度或距离测量的要求越来越高。一些传统的测量方法在某些特殊场合已不能满足人们的需求,如带腐蚀的液体,强电磁干扰,有毒等恶劣条件。而超声波具有指向性强,能量消耗缓慢,可长距离进行传播的优点,因此设计出一个能够精确、稳定、实时测距的实用型超声波测距仪,以便在某些特殊场合能够满足人们使用,显得尤为重要。本超声波测距仪是以stc89c51rc单片机为核心控制芯片,该单片机响应速度快、扩展性良好、有很好的抗干扰能力。基于此单片机的超声波测距仪可以实时、稳定、准确地用于距离的测量。传感器部分利用反相器74ls04和超声波发射换能器作为

2、超声波发射电路,采用集成芯片cx20106a作为超声波接收电路。通过两个独立按键进行状态控制,并用4位共阳led数码管作为显示设备的硬件设计方案。软件部分采用模块化的设计方法,由主程序、发射子程序、接收中断子程序、显示子程序等模块组成。采用c语言,逐模块设计程序,最终使各部分结合起来协调工作,实现对距离的实时检测。该超声波测距仪能够满足基本的使用功能,电路的工作稳定、检测的速度较快,计算结构简单,可以做到实时控制。但由于本人的技术能力,经验不足等因素,元件选取及设计尚有不足之处,离真正的产品还有一定的差距,还需要进一步完善。关键词:stc89c51rc单片机,超声波,74ls04,cx2010

3、6a,ledthe design of ultrasonic distance measure abstractin 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

4、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 rangefind

5、er, 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 th

6、e 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 ci

7、rcuit,.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 d

8、esign 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

9、it can do real-time control. but because mine technical ability, experience and other factors, components 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目录前言1第1

10、章 绪论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

11、67;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附录二 超声波测距仪程序32iv前言超声波是指频率大于20khz的机械波,具有指向性强,能量消耗缓慢,在介质中传播距离远等优点,因此经常应用于距离的测量。超声波是一种特殊的声波,因此具有声波传输的基本物理特性,反射,折射,衍射,干涉,散

12、射。同时更适合在高温,高粉尘,高强电磁干扰等恶劣环境下持续工作,并且其精度和可靠性都做的比较好。由于超声波测距比较迅速、方便、计算简单、易于做到实时控制,在测量精度方面易于达到工业实用的要求,因此具有广泛的发展前景。如今,超声波技术已广泛的应用于工农业生产,通信,医疗及家用电器等领域。综合参考国内外同类产品的设计方法,结合用户的实际需求,文中设计的超声波测距仪采用了深圳宏晶公司生产的stc89c51rc单片机作为主控mcu,利用单片机p1.0口产生40khz的方波信号。超声波发射电路硬件部分采用了价格便宜的六反相器74ls04,负责功率放大,驱动发射探头工作。采用集成芯片cx20106a作为超

13、声波接收电路,具有很好的灵敏度和抗干扰能力。显示设备采用的是4位共阳led数码管,通过动态扫描的方法将所得距离以bcd码的形式清晰的显示出来,段码由单片机p0口控制,位码由单片机p2口控制,整个硬件部分设计比较简单,能够满足实际需求。软件部分采用模块化的设计方法,逐模块设计,最使各部分结合起来协调工作。全文共分三个部分:第一章是绪论,主要介绍了课题提出的背景及研究意义,测距仪的主要性能指标及其工作原理,硬件和软件设计方案;第二章主要介绍了超声波测距仪的硬件电路设计,重点介绍了stc89c51单片机系统电路设计,超声波发射接收电路设计,led显示模块电路设计和键盘控制电路设计;第三章主要介绍了超

14、声波测距仪的软件设计,软件设计部分采用模块化设计,由主程序、发射子程序、接收子程序、显示子程序等模块组成。实验表明,该超声波测距仪能够满足基本的使用功能,电路的工作稳定、检测的速度较快,计算结构简单,可以做到实时控制。但由于本人的技术能力,经验不足等因素,元件选取及设计尚有不足之处,离真正的产品还有一定的差距,还需要进一步完善。第1章 绪论§1.1 课题提出的背景及研究的意义§1.1.1 课题提出的背景一些传统的距离测量方式在某些特殊场合存在不可克服的缺陷。例如,液面测量就是一种距离测量,传统的电极法是采用差位分布电极,通过给电或脉冲来检测液面,电极长期浸泡于水中或其他液体

15、中,极易被腐蚀、电解,失去灵敏性。利用超声波就可以解决这些问题。随着经济发展,电子测量技术应用越来越广泛,而超声波测量精确度高,成本低,性能稳定则备受青睐。超声波是指频率在20khz以上的声波,它属于机械波的范畴。超声波也遵循一般机械波在弹性介质中的传播规律,如在介质的分界面处发生反射和折射现象,在进入介质后被介质吸收而发生衰减等。正是因为具有这些性质,使得超声波可以用于距离的测量中,超声波测距技术正在被广泛应用于人们日常工作和生活之中。§1.1.1 课题研究的意义由于超声测距是一种非接触检测技术,不受光线、被测对象颜色等的影响,较其它仪器更卫生,更耐潮湿、粉尘、高温、腐蚀气体等恶劣

16、环境,具有少维护、不污染、高可靠、长寿命等特点。因此可广泛应用于纸业、矿业、电厂、化工业、农业用水、环保检测、食品、防汛、水文、空间定位、公路限高等行业中。可在不同环境中进行距离准确度在线标定,可直接用于水、酒、糖、饮料等液位控制,可进行差值设定,直接显示各种液位罐的液位、料位高度,在特殊环境下有较广泛的应用。利用超声波检测往往比较迅速、方便、计算简单、易于实现实时控制,并且在测量精度方面能达到工业实用的指标要求。同时由于超声波测距系统具有以上的这些优点,因此在移动机器人的研究和汽车倒车雷达的研制方面也得到了广泛的应用。因此,设计满足实际需求的超声波测距仪就显得非常重要了。§1.2

17、超声波测距仪的主要性能指标及其工作原理§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 超声波发生器原理为了研

18、究和利用超声波,人们已经设计和制成了许多超声波发生器。总体上讲,超声波发生器可以分为两大类:一类是用电气方式产生超声波,一类是用机械方式产生超声波。电气方式包括压电型、磁致伸缩型和电动型等;机械方式有加尔统笛、液哨和气流旋笛等。它们所产生的超声波的频率、功率和声波特性各不相同,因而用途也各不相同。目前较为常用的是压电式超声波发生器。压电式超声波发生器实际上是利用压电晶体的谐振来工作的。超声波发生器内部有两个压电晶片和一个共振板。当它的两极外加脉冲信号,其频率等于压电晶片的固有振荡频率时,压电晶片将会发生共振,并带动共振板振动,便产生超声波。反之,如果两电极间未外加电压,当共振板接收到超声波时,

19、将压迫压电晶片作振动,将机械能转换为电信号,这时它就成为超声波接收器了。2 超声波测距原理超声波发射器向某一方向发射超声波,同时开始计时,超声波在空气中传播,途中遇到障碍物就立即返回,超声波接收器收到反射波就立即停止计时。假设超声波在空气中的传播速度为v,计时器记录的时间t,发射点距障碍物的距离h,如图1-1所示:图1-1超声波测距仪测距原理图1-1 中被测距离为h , 两探头中心距离的一半用m 表示, 超声波单程所走过的距离用l 表示, 由图中关系可得 : h= lcos (1)=arctan( m/ h ) (2)将式(2) 代入式(1) 得:h =l cosarctan(m/ h ) (

20、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单片机作为主控制器,用超声波传感器作为测量器件,超声波驱动信号通

21、过单片机软件延时的方法产生,采用动态扫描法实现led数字显示测量的距离值。整个硬件系统分为以下几个部件,具体如图1-2所示:图1-2 硬件电路框图超生波发射电路主要由反相器74ls04和超声波发射换能器t构成。通过软件发生法由p1.0口输出40khz的方波信号,利用推免形式通过反相器74ls04将方波信号加到超声波发射换能器t的两端,实现超声波信号的发射。超声波接收电路主要由红外接收芯片cx20106a和超声波接收换能器t构成。利用红外接收芯片cx20106a制成超声波检测接收电路,实现超声波回波信号的接收。键盘控制电路主要由两个独立按键组成,实现超声波的发射和停止发射。led显示电路主要由4

22、位led共阳数码管组成,采用动态扫描方法以bcd码显示距离值。串口通讯电路主要由max232芯片和usb接口构成,和pc机串行口联接,实现电平转换和通讯功能。§1.4 超声波测距仪软件系统设计方案根据设计要求超声波测距仪软件系统采用结构化程序设计。采用结构化程序设计可以使程序结构清晰,层次分明,易于编写与调试。具体框图如图1-3所示:图1-3 软件设计模块图超声波测距仪的软件系统主要包括:主程序,超声波发送程序,超声波接收中断程序,led显示程序组成。主程序是整个软件系统的程序入口,包含系统初始化,调用超声波发射和接收程序等子程序,得到时间,计算距离同时用led数码管显示。超声波发送

23、程序主要实现40khz方波信号的发送,同时开始计时。超声波接收中断程序通过检测int0引脚的电平由高到低的跳变,从而判断接收超声波回波信号,计算传播时间和距离,输出相应结果。led显示程序接收数据,通过动态显示方法以十进制bcd码显示所得距离。第2章 超声波测距仪的硬件电路设计本设计中,超声波测距仪硬件电路主要包括以下几部分:单片机系统电路设计,超声波发射电路,超声波检测接收电路,led显示电路设计,键盘控制电路等。采用stc89c51rc单片机来实现对cx20106a红外接收芯片和超声波发射换能器和接收换能器的控制。通过单片机软件延时的方法通过p1.0引脚产生换能器所需的40khz的方波信号

24、,利用外中断0口监测超声波接收电路输出的返回信号。当int0引脚电平由高变为低时,则可认为超声波已经返回。通过定时器得到往返时间,则可计算出传感器距待测物的距离。§2.1 超声波测距仪单片机系统电路设计单片机系统是超声波测距仪整个硬件电路设计的核心。根据本次设计方案需求,我选用了功能强大,价格便宜,使用广泛的stc89c51rc单片机作为主控mcu,同时外接晶振电路,复位电路和串口通讯电路等辅助电路,构成了超声波测距仪的单片机核心系统。1 stc89c51rc单片机电路stc89c51rc单片机引脚图如图2-1所示:图2-1 stc89c51rc引脚图stc89c51rc是一种带4k

25、字节flash存储器(fperomflash programmable and erasable read only memory)的低电压、高性能cmos 8位微处理器,与工业标准的mcs-51指令集和输出管脚相兼容。stc89c51rc是一个低功耗高性能单片机,40个引脚,32个外部双向输入/输出(i/o)端口,同时内含2个外中断口,2个16位可编程定时计数器,1个全双工串行通信口,stc89c51rc可以按照常规方法进行编程,也可以在线编程。其将通用的微处理器和flash存储器结合在一起,特别是可反复擦写的flash存储器可有效地降低开发成本。本设计中单片机主要使用了以下引脚:p0.0:

26、 用于显示输出,控制led段码显示。p0.1: 用于显示输出,控制led段码显示。p0.2: 用于显示输出,控制led段码显示。p0.3: 用于显示输出,控制led段码显示。p0.4: 用于显示输出,控制led段码显示。p0.5: 用于显示输出,控制led段码显示。p0.6: 用于显示输出,控制led段码显示。p0.7: 用于显示输出,控制led段码显示。p2.0:用于显示输出,控制led位码。p2.1:用于显示输出,控制led位码。p2.2:用于显示输出,控制led位码。p2.3:用于显示输出,控制led位码。p1.0:产生输出一个40khz的脉冲信号。int0: 产生中断请求,接超声波接收

27、电路。t0:用于按键控制,发送超声波。t1:用于按键控制,停止发送超声波(即停止测距)。2 时钟电路如图2-2所示,为stc89c51rc单片机外接晶体的接法。片内高增益反相放大器通过xtal1、xtal2外接作为反馈元件的晶体(呈感性)与电容组成的并联谐振回路,构成一个自激振荡器向内部时钟电路提供震荡时钟。振荡器的频率取决于晶体的振荡频率,这里选用11.0592mhz的晶体便于串口通信。电容c7、c8具有滤除高次谐波的作用,但是会影响振荡器的频率,一般取30pf左右。振荡器的频率越高,单片机的指令周期越短,即运行速度越快。图2-2 单片机时钟电路3 复位电路单片机系统常用的有上电复位和按钮复

28、位2种复位方法。所谓上电复位,是指单片机加电瞬间,要在rst引脚上出现大于10ms的正脉冲,使单片机进入复位状态。按钮复位是指用户按下“复位”按钮,使单片机进入复位状态。本设计中stc89c51rc单片机的复位电路采用的开关复位电路,开关sw未按下是上电复位电路,上电复位电路在上电的瞬间,由于电容上的电压不能突变,电容处于充电(导通)状态,故rst脚的电压与vcc相同。随着电容的充电,rst脚上的电压才慢慢下降。选择合理的充电常数,就能保证在开关按下时是rst端有两个机器周期以上的高电平从而使stc89c51rc内部复位。sw按下时是按键手动复位电路,rst端通过r8与vcc电源接通,提供足够

29、的时间的复位电平,使单片机复位。如图2-3所示,为本设计的复位电路。图2-3 单片机复位电路 4 串口通讯电路stc89c51rc单片机有一个全双工的串行通讯口,所以可以方便地进行单片机和电脑之间的串口通讯,可以同时接收或传送外部送来的数据。但是进行串行通讯时要满足一定的条件,例如电脑的串口是rs232电平的,而单片机的串口是ttl电平的,两者之间必须通过一个电平转换电路连接,电平转换后才能实现相应程序的下载。本次设计中,我采用了美信(maxim)公司专为rs232标准串口设计的单电源电平转换芯片max232进行电平转换。当然,也可以用几个三极管进行模拟转换,但都不如专用芯片更简单可靠。标准的

30、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电平。即eia接口,就是把5v转换为-8v到-15v电位0v转换为8

31、v到15v再经rxd输出,接收时由rxd输入,把-8v到-15v电位转换为5v,8v到15v转换为0v。max232的工作电压只需5v,内部有振荡电路产生正负9v电位。串口通讯电路设计如图2-4所示:图2-4串口通讯电路设 5 外部扩展电路外部扩展接口主要是为了方便在通用电路板上使用单片机的资源。只要在通用电路板上把需要和单片机管脚相连的地方接到对应的外部接口上,不必直接和单片机的管脚相连,这样,就提高了系统的稳定性和可扩展性。如图2-5所示,为单片机外部扩展接口电路。图2-5 外部扩展接口电路§2.2 超声波发射电路设计本设计中超声波发射电路主要由反相器74ls04和超声波发射换能

32、器t构成。超声波换能器具体将采用超声波发射换能器tct40-16bt和超声波接收换能器tct40-16br。74ls04内部具有6个独立的反相器,通过将外部管脚的组合连接来实现对单片机发出的超声发射探头激励信号进行功率放大处理,其引脚图如图2-6所示:图2-6 74ls04引脚图超声波换能器命名规则:l 型号:tct40-16bt或(r)l 类别:tc压电陶瓷超声波传感器;t通用性;t发射/r接收l 外径:16代表16mml 外壳材料:铝l 外壳颜色:银色具体参数:l 中心频率:40.0khz±1.0 khzl 输出电压: 115dbl 接收灵敏度:-65dbl 静电容量:2000p

33、f±20%l 指向角:80°l 工作温度: -20+70超声波接收/发射换能器实物图如图2-7所示:图2-7超声波换能器实物图本设计采用的超声波换能器属于压电式超声波换能器。压电式超声波换能器是利用压电晶体的谐振来工作的,超声波换能器内部有两个压电晶片和一个换能板。当它的两极外加脉冲信号,其频率等于压电晶片的固有振荡频率时,压电晶片会发生共振,并带动共振板振动产生超声波,这时它就是一个超声波发生器;反之,如果两电极问未外加电压,当共振板接收到超声波时,将压迫压电晶片作振动,将机械能转换为电信号,这时它就成为超声波接收换能器。超声波发射换能器与接收换能器在结构上稍有不同,使用

34、时应分清器件上的标志。其结构图如图2-8所示:图2-8 压电式超声波换能器结构图发射电路是为了让超声波发射换能器t能向外界发出40 khz左右的方波脉冲信号。40 khz左右的方波脉冲信号的产生通常有两种方法:采用软件如单片机软件编程输出或采用硬件如由555振荡产生。由于采用软件发生法灵活性好,所以本设计采用软件发生法由p1.0端口输出40 khz左右的方波脉冲信号。单片机p1.0端口输出的40khz的方波信号一路经一级反向器后送到超声波换能器的一个电极,另一路经两级反向器后送到超声波换能器的另一个电极,用这种推换形式将方波信号加到超声波换能器的两端,可以提高超声波的发射强度。输出端采两个反向

35、器并联,用以提高驱动能力。上位电阻r15、r16一方面可以提高反向器74ls04输出高电平的驱动能力,另一方面可以增加超声波换能器的阻尼效果,缩短其自由振荡时间。发射电路如图2-9所示:图2-9 超声波发射电路由于发射到换能器的电压高,波形比较完整,因此可以达到很高的发射功率与效率,可以测量到比较远的距离,同时用这个电路发射方波,电路工作稳定,适合单电源供电,功耗也非常小。§2.3 超声波接收电路设计上述超声波发射换能器t发射的超声波在空气中传播,遇到障碍物就会返回,超声波接收部分是为了将反射波(回波)顺利接收到超声波接收换能器t进行转换变成电信号,并对此电信号进行放大、滤波、整形等

36、处理后,这里用索尼公司生产的集成芯片cx20106a,得到一个负脉冲送给单片机的p3.2(int0)引脚,以产生一个中断。cx20l06a是日本索尼公司生产的红外接收芯片,也适用于超声波接收。其采用单列8脚直插式,超小型封装。+5v供电,其内部方框图如图2-10所示:图2-10 cx20106a内部方框图cx20l06a的引脚说明:1脚:超声波信号输入端,该脚的输入阻抗约为40k 。2脚:该脚与gnd之间连接rc串联网络,它们是负反馈串联网络的一个组成部分,改变它们的数值能改变前置放大器的增益和频率特性。增大电阻r或减小c,将使负反馈量增大,放大倍数下降,反之则放大倍数增大。但c的改变会影响到

37、频率特性,一般在实际使用中不必改动,推荐选用参数为r=4.7 ,c=3.3 f。3脚:该脚与gnd之间连接检波电容,电容量大为平均值检波,瞬间相应灵敏度低;若容量小,则为峰值检波,瞬间相应灵敏度高,但检波输出的脉冲宽度变动大,易造成误动作,推荐参数为3.3 f。4脚:接地端。5脚:该脚与电源端vcc接入一个电阻,用以设置带通滤波器的中心频率fn,阻值越大,中心频率越低。例如,取r=200k时,f042khz,若取r=220k,则中心频率f038khz。6脚: 该脚与gnd之间接入一个积分电容,标准值为330pf,如果该电容取得太大,会使探测距离变短。7脚:遥控命令输出端,它是集电极开路的输出方

38、式,因此该引脚必须接上一个上拉电阻到电源端,该电阻推荐阻值为22k ,没有接收信号时该端输出为高电平,有信号时则会下降。8脚: 电源正极,4.5v5v。集成电路cx20106a是一款红外线检波接收的专用芯片,常用于电视机红外遥控接收器。考虑到红外遥控常用的载波频率38 khz与测距的超声波频率40 khz较为接近,可以利用它制作超声波检测接收电路。实验证明用cx20106a接收超声波(无信号时输出高电平),具有很好的灵敏度和较强的抗干扰能力。cx20106a内部由前置放大器、限幅放大器、带通滤波器、检波器、积分器及整形电路构成。工作过程如下:接收的回波信号先经过前置放大器和限幅放大器,将信号调

39、整到合适幅值的矩形脉冲,由滤波器进行频率选择,滤除干扰信号,再经整形,送给输出端7脚。当接收到与cx20106a滤波器中心频率相符的回波信号时,其输出端7脚就输出低电平,而输出端7脚直接接到stc89c51rc的int0引脚上,以触发中断。若频率有一些误差,可调节芯片引脚5的外接电阻r18,将滤波器的中心频率设置在40 khz,就可达到理想的效果。超声波接收电路如图2-11所示:图2-11 超声波接收电路§2.4 led显示电路设计动态扫描显示接口是单片机中应用最为广泛的一种显示方式。其接口电路是把所有数码管的8个笔划断adp同名端连在一起,而每一个数码管的公共极com是各自独立的受

40、i/o线的控制。cpu向字段输出口送出字型码时,所有数码管接收到相同的字型码,但究竟是哪个数码管亮,则取决于com端,而这一端是由i/o控制的,所以我们就可以自行决定何时显示哪一位了。而所谓动态扫描就是指我们采用分时的方法,轮流控制各个数码管的com端,使各个数码管轮流点亮。在轮流点亮过程中,每位数码管的点亮时间是极为短暂的(约1ms),但由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感。静态显示就是显示驱动电路具有输出锁存功能,单片机将要显示的数据送出后就不再控制led,直到下一次显示时再传送

41、一次新的数据。只要当前显示的数据没有变化,就无须理睬数码显示管。静态显示的数据稳定,占用的cpu时间少。静态显示中,每一个显示器都要占用单独具有锁存功能的i/o口,该接口用于笔画段字型代码。这样单片机只要把显示的字型数据代码发送到接口电路,该字段就可以显示要发送的字型。要显示新的数据时,单片机再发送新的字型码。采用静态扫描方式控制点亮led数码管无位选信号,各数码管是同时点亮的,每个数码管显示数码的笔划信息也分路同时送给,其原理比较简单。静态扫描显示编程容易,显示比较清晰,亮度一般较高,但要求占用很多i/o接线口和增用不少硬件芯片,成本较高。因此,本设计中采用了动态扫描显示方式。设计的显示电路

42、采用4位一体八段共阳数码管,段码直接由单片机的p0口来驱动,由于p0口内部无上拉电阻,因此需外接阻值为330欧的上拉电阻;位码通过4个npn型三极管来驱动,同时接单片机p2口。led数码管显示电路如图2-12所示:图2-12 led数码管显示电路§2.5 键盘控制电路设计在外围的键盘控制电路中,设置了两个独立按键,分别与单片机的p3.4和p3.5引脚相连。当按下s1时,启动系统发射超声波,开始测距;当按下s2时,停止发射超声波,即停止测距。键盘控制电路设计如图2-13所示:图2-13 键盘控制电路19河南科技大学本科毕业设计(论文)第3章 超声波测距仪软件设计超声波测距仪的软件设计采

43、用模块化设计,主要由主程序,超声波发射子程序,超声波接收中断子程序,led显示子程序组成。§3.1 主程序模块设计主程序首先要对系统环境初始化,第一设置定时器t0工作模式为16位定时/计数器模式,置位总中断允许位ea并将显示端口p0和p2清0。第二判断按键s1的状态若按下即单片机t0引脚由1变为0时,调用超声波发生子程序送出8个超声波脉冲,并开始计时(40khz方波信号通过9个左右_nop_()空指令延时产生)。为了避免超声波从发射器直接传到接收器引起的直射波,需要延时约0.1ms后才可打开外中断0接收返回的超声波信号。第三等待中断,若超声波回波被接收探头捕捉到,那么通过中断可测得超

44、声波在环境中的传播时长。由于采用的是12mhz的晶振,计数器每计一个数为1us,所以当主程序检测到接收成功的标志位后,调用测距子程序,即可算得被测物与测距仪之间的距离,最后显示在led上。第四判断按键s2的状态,若s2按下,则停止发送超声波信号即停止测距,若s2未按下,则再次发送四个40khz的超声波脉冲信号继续测距。主程序流程图如图3-1所示:图3-1 主程序流程图stc89c51rc单片机内集成有2个可编程的定时/计数器:t0和t1。它们既可以工作于定时模式,也可以工作于计数模式。其工作模式由两个特殊功能寄存器控制。tmod用于设置其工作方式,tcon用于控制其启动和中断申请。1 工作方式

45、寄存器tmod工作方式寄存器tmod用于设置定时/计数器的工作方式,低4位用于t0的设置,高4位用于t1的设置,其格式如表3-1所示:tmod76543210地址gatem1m0gatem1m089h表3-1 tmod格式表gate:门控位。gate0时,只要用软件使tcon中的tr0或tr1为1,就可以启动定时/计数器工作;gata1时,要用软件使tr0或tr1为1,同时外部中断引脚为高电平时,才能启动定时/计数器工作。: 定时/计数模式选择位。 0为定时模式; =1为计数模式。m1m0:工作方式设置位。定时/计数器有四种工作方式,由m1m0进行设置,如表3-2所示:m1m0工作方式说明00

46、方式013位定时/计数器01方式116位定时/计数器10方式28位自动重装定时/计数器11方式3t0分成两个独立的8位定时/计数器;t1此方式停止计数表3-2 定时/计数器工作方式设置表2 控制寄存器tcontcon的低4位与外部中断设置有关,高4位用于控制定时/计数器的启动和中断申请,其格式如表3-3所示:tcon76543210字节地址tf1tr1tf0tr0ie1it1ie0it088h表3-3 tcon格式表tf1(tcon.7):t1溢出中断请求标志位。t1计数溢出时由硬件自动置tf1为1。cpu响应中断后tf1由硬件自动清0。t1工作时,cpu可随时查询tf1的状态。所以,tf1可

47、用作查询测试的标志。tf1也可以用软件置1或清0,同硬件置1或清0的效果一样。tr1:t1运行控制位。tr1置1时,t1开始工作;tr1置0时,t1停止工作。tr1由软件置1或清0。所以,用软件可控制定时/计数器的启动与停止。tf0:t0溢出中断请求标志位,其功能与tf1类同。tr0:t0运行控制位,其功能与tr1类同。ie1:外部中断1中断请求标志位。it1:外部中断1触发方式控制位。ie0:外部中断0中断请求标志位。it0:外部中断0触发方式控制位。本设计中定时器t0工作模式为方式1(16位定时/计数器模式),即m1m0为01。方式1的计数位数是16位,由tl0作为低8位、th0作为高8位

48、,组成了16位加1计数器 。其逻辑结构如图3-2所示:图3-2 t0方式1逻辑结构计数个数与计数初值的关系如式(1),式(2)所示。x=216-n (1)n=t/tcy (2)式中t为定时时间,tcy为晶振周期,x为计数初值,n为计数个数。本设计中晶振为12mhz,因此tcy为1us。§3.2 超声波传感器程序设计§3.2.1 超声波发射子程序设计本设计中p1.0引脚连接到推挽放大电路再连接到超声波发射换能器,超声波发生子程序的作用是通过p1.0端口发送8个40khz左右超声波脉冲信号,脉冲宽度为12s左右,同时把计数器t0打开进行计时。流程图如图3-3所示:图3.3 超声

49、波发生子程序流程图§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)式

50、中t0为计数器t0的值,d为被测物体与测距仪之间的距离,c为声速。如果当计时器溢出时还未检测到超声波返回信号,则定时器t0溢出中断将外中断0关闭,并将测距成功标志字赋值2以表示此次测距不成功,同时在数码管显示0。超声波接收中断程序流程图如图3-4所示:图3-4 超声波接收中断程序流程图§3.3 led显示模块程序设计本设计中led显示采用动态扫描显示方法,即在某一时刻,只让某一位的位选线处于选通状态,而其他各位的位选线处于关闭状态,同时,段选线上输出相应要显示字符的段码。这样同一时刻,4位led中只有选通的那一位字符,而其它三位是熄灭的,同样,在下一时刻,只让下一位的位选线处于选通状

51、态,而其它各位的位选线处于关闭状态,同时,在段选线上输出相应位将要显示字符的段码,则同一时刻,只有选通位显示相应的字符,而其它各位是熄灭的。如此循环下去,就可以使各位显示出将要显示的字符,虽然这些字符是在不同时刻出现的,但由于led显示器的余辉和人眼的视觉暂留作用,只要每位显示间隔足够短,就可以造成多为同时亮的假象,达到同时亮的假象,达到同时显示的目的。如何确定led不同位显示的时间间隔,例如对8位led显示器,假如显示一位保持1ms时间,则显示完所有8位后,则需要8ms。上述保持1ms的时间根据实际情况而定。不能太短,也不能太长。本设计中led显示,由p0口控制段选,p2.0p2.3控制位选

52、,首先读取距离,分别计算得到个位,十位,百位,千位应显示的数值,查表译码,清空数据,防止有交替重影,然后分别送位选码和段选码将所得测量距离结果以十进制bcd码方式显示,保持显示约0.5s后,重复读取数据并显示。显示流程图如图3-5所示:图3-5 led显示流程图本设计中led显示器采用的是4位共阳数码管,其段码如表3-4所示,位码如表3-5所示。显示数dpgfedcba段码0100000000xc01111110010xf92101001000xa43101100000xb04100110010x995100100100x926100000100x827111110000xf881000000

53、00x809100100000x90表3-4 段码表4位led位码表位选个位十位百位千位位码0x010x020x040x08表3-5 位码表11结论该超声波测距仪适用于需要对距离实时检测的多种场合。由于采用了测量范围广、精度高、响应速度快的超声波传感器进行超声波的发送和接收,同时经过stc89c51rc单片机的实时处理,因此该测距仪基本上达到技术指标中对测距精度和分辨力的要求。在这次设计中我也遇到不少问题,也正是对这些问题的逐步解决,该测距仪才得以顺利设计完成。设计主要面临着硬件设计和软件设计的两大问题,比如元件的选取, 40khz方波信号的产生以及硬件和软件的结合。在孙老师的悉心辅导下和查阅

54、大量资料之后,最终使以上问题得到了很好解决 。由于这次设计的时间较短,个人水平有限,该测距仪的主要功能虽然已经实现,但设计思路和实现功能上难免有不足之处,要达到实用,还需继续进一步进行研究设计。参考文献1 丁元杰.单片微机原理与应用.北京:机械工业出版社2 喻评.郭文川.单片机原理与接口技术.北京:化学工业出版社3 沙占友.单片机外围电路设计.北京:电子工业出版社4 王树勋. mcs-51单片微型计算机原理与开发. 北京: 机械工业出版社, 19985 马忠梅.单片机的c语言应用程序设计.北京航空航天大学出版社6 蔡美琴.-系列单片机系统及其应用.高等教育出版社7 李建忠.单片机原理及应用(第

55、二版).西安电子科技大学出版社8 韩志军,沈晋源,王振波.单片机应用系统设计. 北京: 机械工业出版社, 20049 何立民.mcs-51系列单片机应用设计、系统配置与接口技术10 彭喜源,谭晓均,张毅刚.mcs-51单片机应用设计11 陈宝江,翟涌,张幽彤.mcs单片机应用系统实用指南12 胡健.单片机原理及接口技术实践教程.北京:机械工业出版社,200413 徐爱钧.智能化测量控制仪表原理与设计. 北京: 北京航空航天大学出版社, 14 李刚.51系列单片机系统设计与应用技巧.北京航空航天大学出版社15 余永权.mcs-51系列单片机应用技术.北京:北京航空航天出版社,200216 胡萍.超

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论