基于51单片机的超声测距器的设计.doc

上传人:精*** 文档编号:846020 上传时间:2023-09-09 格式:DOC 页数:14 大小:905.39KB
下载 相关 举报
基于51单片机的超声测距器的设计.doc_第1页
第1页 / 共14页
基于51单片机的超声测距器的设计.doc_第2页
第2页 / 共14页
基于51单片机的超声测距器的设计.doc_第3页
第3页 / 共14页
基于51单片机的超声测距器的设计.doc_第4页
第4页 / 共14页
基于51单片机的超声测距器的设计.doc_第5页
第5页 / 共14页
点击查看更多>>
资源描述

1、目录绪论11.设计要求与功能分析12.超声测距器原理13.系统硬件设计23.1 超声波发生器的设计23.2 超声波接收器的设计33.3 单片机系统及显示电路43.3.1单片机电路53.3.2 7447解码器54. 系统软件设计64.1 产生发射脉冲信号64.2等待回波信号时的计时功能64.3 计算并显示距离75.系统仿真与调试95.1 40kHz发射脉冲信号95.2 接受脉冲信号95.3 测量距离显示106.PCB板11结论11参考文献11致 谢12附录13元器件清单13基于51单片机的超声测距器的设计摘 要:由于超声波指向性强,能量消耗缓慢,在介质中传播的距离较远,因而超声波经常用于距离的测

2、量。利用超声波检测往往比较迅速、方便、计算简单、易于做到实时控制,并且在测量精度方面能达到工业实用的要求,因此本文设计了基于51单片机的超声波测距器。该系统中由单片机控制超声波发射器发射超声波并计时,当超声波接收器接收到回波信号后单片机根据时间差计算距离,并通过七段数码管来显示。本文还对设计的系统进行了Proteus仿真,验证其正确性。为了便于实物制作,对该系统制作PCB板。本设计的超声波测距器可以显示测量精度为0.1米,测量范围为0.19.9米,测量时与被测物体无直接接触,能够清晰稳定地显示测量结果。关键词:51单片机,超声波测距系统,7447解码器绪论超声波是频率高于20kHz的声波,它方

3、向性好,穿透能力强,易于获得较集中的声能,在水中传播距离远,可用于测距,测速,清洗,焊接,碎石、杀菌消毒等12。在医学、军事、工业、农业上有很多的应用。超声波因其频率下限大约等于人的听觉上限而得名。超声波在气体、液体及固体中以不同速度传播,定向性好、能量集中、传输过程中衰减较小、反射能力较强3。超声波能以一定速度定向传播、遇障碍物后形成反射,利用这一特性,通过测定超声波往返所用时间就可计算出实际距离,从而实现无接触测量物体距离。超声波测距迅速、方便,且不受光线等因素影响,广泛应用于水文液位测量、建筑施工工地的测量、现场的位置监控、振动仪车辆倒车障碍物的检测、移动机器入探测定位等领域456。本文

4、设计的超声波测距器由单片机控制超声波发射器发射超声波并计时当超声波接收器接收到回波信号后单片机根据时间差计算距离,并通过七段数码管来显示,进而显示对应的测量距离。1.设计要求与功能分析设计一个超声波测距器,可以应用于汽车倒车、建筑施工工地以及一些工业现场的位置监控,也可用于如液位、井深、管道长度的测量等场合。要求显示测量精度为0.1米,测量范围为0.19.9米,测量时与被测物体无直接接触,能够清晰稳定地显示测量结果。2.超声测距器原理超声波是指频率高于20KHz的机械波。为了以超声波作为检测手段,必须产生超生波和接收超声波。完成这种功能的装置就是超声波传感器,习惯上称为超声波换能器或超声波探头

5、。超声波传感器有发送器和接收器,但一个超声波传感器也可具有发送和接收声波的双重作用。超声波传感器是利用压电效应的原理将电能和超声波相互转化,即在发射超声波的时候,将电能转换,发射超声波;而在收到回波的时候,则将超声振动转换成电信号。 超声波发射器Tx向某一方向发射超声波,在发射时刻的同时开始计时,超声波在空气中传播,途中碰到障碍物就立即返回来,超声波接收器Rx收到反射波就立即停止计时。超声波在空气中的传播速度为340m/s,根据计时器记录的时间t,就可以计算出发射点距障碍物的距离(S),即:S=340t/2 。图1 超声波测距原理示意图图2 超声波测距器系统设计框图3.系统硬件设计超声波测距器

6、的硬件有3个部分组成:超声波发射器、超声波接收器、单片机系统及显示电路。3.1 超声波发生器的设计方案一:压电式超声波发生器实际上是利用压电晶体的谐振来工作的。超声波发生器内部结构如图所示,它有两个压电晶片和一个共振板。当它的两极外加脉冲信号,其频率等于压电晶片的固有振荡频率时,压电晶片将会发生共振,并带动共振板振动,便产生超声波。反之,如果两电极间未外加电压,当共振板接收到超声波时,将压迫压电晶片作振动,将机械能转换为电信号,这时它就成为超声波接收器了7。图3 压电式超声波发生电路原理图方案二:由CD4069构成的4个反相器用于驱动超声波发射器Tx,两个三极管2SC1815起到电平匹配的作用

7、,与非门CD4011将输入的方波信号分解出一个反响信号,这一正一反的信号都由反相器CD4069驱动后,通过电容C1的相移作用产生了180度的相差,于是正反信号叠加成一个具有正负电平的脉冲信号作为超声波发射器的发生信号。该脉冲信号通过Tx进行能量转换,以超声波的形式发射出去。图4 超声波发射器及其驱动电路通过以上综合分析可以看出,方案二具有综合设计优点,因此采用方案二设计。3.2 超声波接收器的设计方案一:采用集成电路CX20106A,这是一款红外线检波接收的专用芯片,常用于电视机红外遥控接收器。考虑到红外遥控常用的载波频率38KHz与测距超声波频率40KHz较为接近,可以利用它作为超声波检测电

8、路。实验证明其具有很高的灵敏度和较强的抗干扰能力。适当改变C4的大小,可改变接受电路的灵敏度和抗干扰能力8。图5 超声波接收电路原理图方案二:当超声波遇到障碍物反射回来,回波信号被超声波接收器Rx接受。通过滤波和两级运算放大器放大后,在经过二极管的包络检波获得回波信号的包络线,最后由比较器输出回波的开关信号。图6 超声波接收器及信号调理电路通过以上综合分析可以看出,方案二具有综合设计优点,因此采用方案二设计。3.3 单片机系统及显示电路单片机采用AT89C51,采用12MHz高精度的晶振,以获得较稳定的时钟频率,减小测量误差。单片机用P1.0端口输出超声波转化器所需的40KHz方波信号,单片机

9、用P1.2端口检测超声波接受电路输出的返回信号。单片机与七段数码管通过解码器7447接口,段数码管用于显示最终的测量距离数值。图7 单片机系统及显示电路3.3.1单片机电路单片机的P1.0口用于发射40KHz的信号,P1.2用于检测并接受回波信号。P0将测得发生超声波到接受的时间差传送与解码器7447用于数码管显示。内部时钟电路利用8051内部的一个高增益反相器,把一个有晶体振荡器和两个电容器组成的自激振荡电路接于XTAL1和XATL2之间,把振荡器发出的脉冲直接送与内部时钟电路。时钟电路产生的振荡脉冲经过触发器进行二分频之后,成为单片机的时钟脉冲信号。石英晶体振荡器频率是12MHz,电容器C

10、1、C2选择在30pF。单片机的RST引脚是复位信号的输入端,复位信号是高电平有效,其有效时间应持续24个振荡周期以上。复位操作有上电自动复位和按键手动复位两种方式。本文采用给外部复位电路中的电容充电而实现的上电自动复位。时钟电路和复位电路的连接电路图见于图7单片机系统及显示电路9。3.3.2 7447解码器图9为通过解码器7447驱动七段数码管来控制信息。例如,要显示数字5,则在7447的BCD输入端输入数字5的BCD码0101,则亮段控制输出端为0100100,这样,a、c、d、f、g为低电平0。在共阳极型七段数码管中,低电平使对应的亮段发光,七段数码管的a-g段与解码器7447的亮段控制

11、输出端通过限流电阻相连,于是显示出数字5。不同解码器芯片有可能对“6”和“9”这两个数的“翻译”方式不一样,所以这两个数有时出现如图所示的显示方式10。 图8 数字“6”和“9”的显示图9 解码器7447管脚图及它与七段数码管的接口表1 解码器7447真值表显示BCD码输入端亮段控制输出端DCBAabcdefg0000000000001000110011112001000100103001100001104010010011005010101001006011001000007011100011118100000000009100100001004. 系统软件设计超声波测距器的程序有3个部分组

12、成:产生发射脉冲信号、等待回波信号时的计时功能、计算并显示距离。4.1 产生发射脉冲信号超声波频率为40kHz,即周期为25微秒。为了方便计算,从单片机的P1.0口输出周期为24微秒的方波信号,该信号通过适当的驱动电路来推动超声波发射器Tx发射超声波。为保证回波质量,P1.0口连续输出20个方波作为Tx的发射脉冲信号。这里使用Timer 0工作在模式2下(具有自动重新装载功能的8位定时器)进行延时产生周期为24微秒的脉冲信号。计算出计数初值为0F4H。结合DJNZ命令控制产生20个方波信号。4.2等待回波信号时的计时功能利用Timer 1工作在模式1下,计数值范围最大,为65536。在晶振频率

13、12MHz下,最大计时长度为65.536ms。在65.536ms内单片机接收到回波信号,即停止Timer 1工作,并读出当前计数值。如果没有接收到回波,说明测量距离大于11.14米或者别的原因导致回波丢失,则Timer 1在65.536ms后溢出,程序跳回发射脉冲信号部分重新发射超声波。最后将计数值的高位字节存放在31H,低位字节存放在30H。4.3 计算并显示距离单片机将时间差乘以超声传播速度 V=340m/s,然后除以2即得到实测的障碍物到超声测距器的距离。由于超声测距器中只有两位七段数码管,设计显示精度为0.1米,所以测量范围为0.1-9.9米。先计算当距离为1米时的时间差为,16FAH

14、。而距离为0.1米时的时间差,即024CH。用30H和31H中记录的时间差计数值与16FAH和024CH来比较,从而得到与1米和0.1米对应的时间差的倍数,就是测量的距离值。将这个距离值输出到P0口即可正确显示出超声波测距器实测的距离值。源程序清单;=*发射脉冲信号*=ORG 00HSTART: MOV A,#0FFH MOV P1,A ;P1.2作为输入口,需要先写入“1” MOV TMOD,#02H ;设置Timer 0工作在模式2TIMER0_LOAD: MOV TH0,#0F4H ;载入计数初值 MOV TL0,#0F4HRESEND_PULSE: MOV R2,#40SEND_PUL

15、SE: SETB TR0 ;启动Timer 0TIMER0_CHECK: JNB TF0,TIMER0_CHECK ;检测Timer溢出标志,当TF0=1,跳出 CLR TR0 CLR TF0 CPL P1.0 DJNZ R2,SEND_PULSE;=*等待回波信号的计时功能*=WAITECHO: ;等待回波信号 MOV TMOD,#12H ;Timer 1模式1,Timer 0模式2TIMER1_LOAD: MOV TL1,#00H MOV TH1,#00H SETB TR1ECHO_CHECK: JB P1.2, RECORD JNB TF1,ECHO_CHECK CLR TR1 CLR

16、TF1 JMP RESEND_PULSERECORD: CLR TR1 CLR TF1 MOV 30H,TL1 ;计时低字节存放在30H MOV 31H,TH1 ;计时高字节存放在31H;=*计算并显示距离*=MOV R0,#00H ;记录1米的倍数,清0 MOV R1,#00H ;记录0.1米的倍数,清0 MOV SP,#50H CLR CMETER: ;与1米的时间差16FAH进行比较 PUSH 30H MOV A,30H SUBB A,#0FAH MOV 30H,A MOV A,31H SUBB A,#16H JC DECIMETER INC R0 MOV 31H,A JMP METER

17、DECIMETER: ;与0.1米的时间差024CH进行比较 POP 30HDECIMETER_1: MOV A,30H SUBB A,#4CH MOV 30H,A MOV A,31H SUBB A,#02H JC DISPLAY INC R1 MOV 31H,A JMP DECIMETER_1DISPLAY: MOV A,R0 SWAP A ADD A,R1 MOV P0,A ;显示的数据,从P0口输出 END5.系统仿真与调试5.1 40kHz发射脉冲信号为了保证回波质量,P1.0连续输出20个周期为24微秒的方波作为Tx的发射脉冲信号,仿真结果如下:图10 20个40kHz的方波脉冲信号

18、5.2 接受脉冲信号超声波测距系统发射的超声波信号,需要遇到障碍物后,再返回被超声波接收器接受,最后以脉冲信号作用于单片机系统。因此,为了便于仿真和满足仿真的需要,本次系统仿真时以单脉冲激励源作为回波的接收信号作用于P1.2口,脉冲极性为正脉冲(低-高-低)。通过调节脉冲开始时间,模拟不同时刻时接收到的回波信号,也就是实际的测量不同距离。本次仿真设定开始时间为50ms,单脉冲信号如下所示:图11 开始时间为50ms的正极性的单脉冲信号5.3 测量距离显示超声波测距系统初始化时的状态如图所示:图12 测距仿真初始化以开始时间为50ms的正极性的单脉冲作为接收信号,P1.2口检测到高电平时Time

19、r 1停止计时,由七段数码管显示测量距离。所测距离计算过程如下:20个脉冲发射信号的时间为:发射超声波到接受之间的时间差:所测距离:图13 测距仿真结果所测距离的仿真结果为8.3m,计算结果为8.4m,仿真基本满足要求,仿真成功。6.PCB板图14 测距系统PCB板结论本文主要讲述了基于51单片机的超声波测距器的设计。从超声波测速原理出发,先后进行了超声波发射器、超声波接收器和单片机控制及显示电路的设计;然后根据需要进行了软件程序的编写,包括超声波发射信号、等待回波信号时的计时功能和计算并显示距离;最后通过Proteus软件,对设计的电路进行模拟仿真,已验证其正确性。本文设计的超声波测距器测量

20、时与被测物体无直接接触,能够清晰稳定地显示测量结果,可以应用于工业测量等领域。声速c与温度有关,如温度变化不大,则可认为声速是基本不变的。如果测距精度要求很高,则应通过温度补偿的方法加以校正。在系统加入温度传感器来监测环境温度,可进行温度被偿。为了增强系统的可靠性,应在软硬件上采用抗干扰措施。参考文献1 张雷,王志鹏.基于AT89S52单片机的超声波测距避障小车J机电信息,2010, (24)2 张丹,贺西平.基于单片机的超声波测距系统的设计J纺织高校基础科学学报,2008, (01)3 吴超,戴亚文.基于AT89S52单片机的超声波测距系统的设计J中原工学院学报,2008, (05)4 宋永

21、东,周美丽,白宗文.高精度超声波测距系统设计J现代电子技术,2009(08)5 李丽霞.单片机在超声波测距中的应用J电子技术,2002, (06)6 姜道连,宁延一,袁世良.用AT89C2051设计超声波测距仪J国外电子元器件,2000, (12)7 杨欣等. 电子设计从零开始. 北京:清华大学出版社,20058 杨欣等. 51单片机应用从零开始. 北京:清华大学出版社9 郭文川等. 单片机原理与接口技术. 北京:中国农业出版社10 王玉凤等. 51单片机应用实例详解. 北京:清华大学出版社致 谢在这次单片机的课程设计中,通过资料的查阅,制定方案等一系列过程,极大的丰富了专业知识,理论与实际动

22、手能力又有了一个很大的提高,特别是在单片机编程方而又学到了不少新的东西,弥补了学习过程中的不足。在Proteus仿真和制作PCB板过程中,我们意识到做事要认真,同时还要有扎实的专业知识。本次设计得以顺利完成,首先要感谢王老师的指导和大力支持。王老师渊博的专业知识、严谨的治学态度、精益求精的工作作风、平易近人的人格魅力对我们影响深远,王孝检老师指导了我们的设计的结构、思路、同时提供了一些专业知识的帮助。表示衷心的感谢!附录元器件清单元件序号型号数 量1AT89C51单片机12CD4011 (与非门)132SC1815(三极管)24CD4069(反相器)45CSB40T (超声波换能器)16CSB40R (超声波接受器)17共阳极七段数码管287447解码器29LM833N(放大器)210LM358N111电阻、电容若干 .13

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 毕业设计

版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如有侵权请立即联系:2622162128@qq.com ,我们立即下架或删除。

Copyright© 2022-2024 www.wodocx.com ,All Rights Reserved |陕ICP备19002583号-1 

陕公网安备 61072602000132号     违法和不良信息举报:0916-4228922