超声波测距器课程设计_第1页
超声波测距器课程设计_第2页
超声波测距器课程设计_第3页
超声波测距器课程设计_第4页
超声波测距器课程设计_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

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

文档简介

1、徐州工程学院微机原理及应用课程设计微机原理及应用课程设计超声波测距器的设计学生姓名郝强学号 20110611113学院名称机电工程学院专业名称机械电子工程指导教师王前2013年12月27日 摘要随着科学技术的快速发展,超声波将在科学技术中的应用越来越广。本文对超声波传感器测距的可能性进行了理论分析,利用模拟电子、数字电子、微机接口、超声波换能器、以及超声波在介质的传播特性等知识,采用以AT89C51单片机为核心的低成本、高精度、微型化数字显示超声波测距仪的硬件电路和软件设计方法在此基础上设计了系统的总体方案,最后通过硬件和软件实现了各个功能模块。相关部分附有硬件电路图、程序流程图。为了保证超声

2、波测距传感器的可靠性和稳定性,采取了相应的抗干扰措施。就超声波的传播特性,超声波换能器的工作特性、超声波发射、接收、超声微弱信号放大、波形整形、速度变换、语音提示电路及系统功能软件等做了详细说明。关键词: 超声波 ;传感器; 测量距离;控制目 录 摘要 2 目 录 3 1.设计目的 4 2.总体方案 4 3.硬件设计 5 3.1 超声波测距器硬件电路设计 5 3.2.1 单片机芯片的选择 63.2.2AT89C51定时计数应用电路 6 3.3 超声波发射电路设计 63.3.1选择超声波发生器类型 6 3.3.2 超声波发射电路设计 7 3.4 超声波接收电路设计

3、83.5超声波显示电路设计9 4.软件设计 9 4.1波测距器的算法设计 10 4.2系统的主控制程序设计 11 4.3发生子程序设计12 4.4接收中断程序设计13 4.5显示程序设计144.6距离计算程序15 5.结论 17 参考文献 181.设计目的超声波测距器,可应用于汽车倒车、建筑施工工地以及一些工业现场的位置监控,也可用于如液位、井深、管道长度的测量等场合。要求测量范围在0.104.00m,测量精度1 cm,测量时与被测物体无直接接触,能够清晰稳定地显示测量结果。2.总体方案 硬件部分主要由单片机系统及显示电路、超声波发射电路和超声波检测接收电路三部分组成。采用AT89C1或其兼容

4、系列来实现对CX20106A红外接收芯片和74LS04系列超声波发射模块的控制。单片机通过P1.0引脚经反相器来控制超声波的发送,然后单片机不停的检测INT0引脚,当INT0引脚的电平由高电平变为低电平时就认为超声波已经返回。计数器所计的数据就是超声波所经历的时间,通过换算就可以得到传感器与障碍物之间的距离。软件部分主要由主程序、超声波发生子程序、超声波接收中断程序及显示子程序等部分。3.硬件设计3.1 超声波测距器硬件电路设计超声波测距是通过不断检测超声波发射后遇到障碍物所反射的回波,从而测出发射和接收回波的时间差t,然后求出距离。路程、波速、时间之间的关系,可用下列简单的公式表示: 上式中

5、,d为超声波传播单边的路程,s为超声波来回的路程, c为超声波波速, t为超声波来回所用的时间。当声速确定后,只要测得超声波往返的时间,即可求得距离。这就是超声波测距的原理。超声波测距的原理如图所示。3.1超声波测距原理根据超声波测距原理,超声波测距器需要有超声波发生器、超声波接收器、超声波传播的计时器。按照系统设计功能的要求,硬件电路由单片机计时及控制电路、超声波发射电路、超声波检测接收电路、显示电路及电源五部分组成。系统原理总框图见图。3.2超声波测距器的原理总框图3.2.1 单片机芯片的选择89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROMFalsh Programmab

6、le and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。89C2051是一种带2K字节闪烁可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除100次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的89C51是一种高效微控制器,89C2051是它的一种精简版本。89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。3.2.2AT89C51定时计数应用电路AT89C51单片机片内集成有两个可编程

7、的定时/计数器T0和T14。它们既可以工作于定时模式,也可以工作于外部事件计数模式。本设计采用定时计数器T0,根据需要,让其工作于方式1。方式1的计数位数是16位,由TL0作为低8位,TH0作为高8位,组成16位加1计数器。其初值在65 5350范围,计数范围为165 536。具体应用见程序设计部分。3.3 超声波发射电路设计3.3.1选择超声波发生器类型压电式超声波换能器利用压电晶体的谐振来工作,其内部结构如图所示。超声波换能器有两个压电晶片和一个共振板。当它的两极外加电脉冲信号,其频率等于压电晶片的固有振荡频率时,压电晶片将发生共振,从而带动共振板振动,产生超声波。反之,如果在共振板上外加

8、适当的机械振动,使压电晶片发生共振,将在压电晶片之间产生交变的电信号。这时它就成为了超声波接收器。本设计选用压电式超声波换能器TCT40l0Fl作超声波发射器。使用时注意分清器件,因为它与接收换能器在结构上稍有不同。 3.3超声波换能器内部结构图3.3.2 超声波发射电路设计超声波发射电路主要由反向器74LS04和超声波发射换能器T构成,如图所示。图中T为超声波发射器,采用TCT40l0Fl,外型尺寸15 。输出端采用两个反向器并联,用以提高驱动能力。上拉电阻R2,R3一方面可以提高反向器74LS04输出高电平的驱动能力,另一方面可以增加超声波换能器的阻尼效果,缩短其自由振荡的时间。工作时,单

9、片机的定时器T0产生40 KHz方波信号,从P1.3端口输出,一路经过一级反向器后送到超声波发射器T的一个电极,另一路经过两极反向器后送到超声波发射器T的另一个电极,从而将40 KHz电脉冲信号加到超声波发射器T,使T发射超声波。电路采用推挽形式,向超声波发射器T提供电脉冲信号,可以提高超声波的发射强度。3.4超声波发射电路原理图3.4 超声波接收电路设计超声波接收电路主要由超声波接收换能器R和超声波检测接收模块构成,如图所示。图中R为超声波接收器,采用TCT40l0Sl,外型尺寸15 。U5是超声波检测接收模块,设计时选用了红外线检波接收专用集成电路芯片CX20106A。选用的原因是CX20

10、106A常用的载波频率为38KHz,与测距的超声波频率40KHz较为接近,可以将发射的超声波之频率控制为38KHz。电路中设置的电容C4,适当更改其大小,可以改变接收电路的抗干扰能力;适当改变电路中的电容C6,可改变电路的灵敏度。工作时,接收的超声波信号经R转换为电信号,加到CX20106A的输入端(1脚),处理后由CX20106A的输出端(7脚)送达单片机的中断口INT0,申请CPU处理。3.5超声波检测接收电路3.5超声波显示电路设计显示电路采用LED数码管显示。LED数码管显示有静态显示方式和动态显示方式,本系统采用并行输出的动态显示方式。显示电路结构根据本超声波测距器显示测距数据的需要

11、,采用4位LED动态显示电路。 其中2位显示小数部分,2位显示整数部分。显示信息输入部分由单片机P0输出端,连接74LS244相应输入端,驱动器输出端经限流电阻连接相应字段码端;字位控制部分分别由三极管驱动,选用PNP型晶体管9012,其基极经限流电阻连接单片机的P2口相关端子,集电极连接数码管的共用端,发射极连接电源。显示电路如图所示5。3.6超声波测距动态显示电路4软件设计超声波测距器的软件主要由主程序,超声波发生子程序,超声波接收中断程序以及显示子程序组成。4.1波测距器的算法设计从前面距离的计算公式可知,c为声速,对于超声波,在常温20时,其数值为344米/秒;若能准确测量出超声波从发

12、射到返回所用时间,则可以计算出发射点到被测障碍物之间的距离。测量距离时,由超声波测距器的主控制器中定时器记录时间,设计中要求超声波测距时精确计算程序运行时间。测量超声波来回所用的时间,当送出一个超声波脉冲后,需要延时约0.1ms,才打开外中断0接收返回的超声波信号,这是为了避免超声波从发射器直接传送到接收器引起直射波触发。单片机工作时晶振频率为12MHz,计数器每计1个数就是1 s,当主程序检测到接收成功的标志位后,将停止计数器T0计数。计算距离,将计数器T0中的计数值T0带入距离的计算公式计算,即可得被测物体与测距器之间的距离。具体为计算的结果,以十进制BCD码方式送往LED显示,显示时间约

13、0.5s,然后再发超声波脉冲重复测量过程。4.2系统的主控制程序设计主程序包括对系统环境初始化,设置定时器T0工作模式,调用超声波发生子程序,等待反射超声波,计算距离,显示距离;重复。主程序流程图如图。4.1主程序流程图主程序START: MOV SP, #4FH MOV R0, #40H ;40H43H为显示数据存放单元(40H为最高位) MOV R7, #0BHCLEARDISP: MOV R0, #00H INC R0 DJNZ R7, CLEARDISP MOV 20H, #00H MOV TMOD, #21H ;T1为8位自动重装模式,T0为16位定时器 MOV TH0, #00H

14、;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 TR0 ;重新开启测试定时器 MO

15、V R2, #64H ;测量间隙控制(约4ms×100=400ms)LOOP: LCALL DISPLAY DJNZ R2,LOOPSJMP START14.3发生子程序设计超声波发生子程序,主要功能是单片机控制,通过P1.3端口发送2个左右超声波脉冲信号,频率为约40kHz的方波,其脉冲宽度为12s左右,同时把计数器T0打开进行计时。ORG 0000H LJMP START ORG 0003H LJMP PINT0 ORG 000BH LJMP INTT0 ORG 0013H RETI ORG 001BH LJMP INTT1 ORG 0023H RETI ORG 002BH RE

16、TI4.4接收中断程序设计超声波接收中断程序,主要功能是单片机控制,检测外中断0返回超声波信号,一旦接收到返回超声波信号(即INT0引脚出现低电平),立即进入中断程序。进入该中断后就立即关闭计时器T0停止计时,并将测距成功标志字赋值1。如果当计时器溢出时还未检测到超声波返回信号,则定时器T0溢出中断将外中断0关闭,并将测距成功标志字赋值2以表示本次测距不成功。;T0中断,65ms中断一次INTT0: CLR EA CLR TR0 MOV TH0,#00H MOV TL0,#00H SETB ET1 SETB EA SETB TR0 ;启动计数器T0,用以计算超声来回时间 SETB TR1 ;开

17、启发超声波用定时器T1OUT: RETI;T1中断,发超声波用INTT1: CPL VOUT DJNZ R4,RETOUT CLR TR1 ;超声波发完毕,关T1 CLR ET1 MOV R4,#04H SETB EX0 ;开启接收回波中断RETIOUT: RETI;外中断0,收到回波时进入PINT0: CLR TR0 ;关计数器 CLR TR1 CLR ET1 CLR EA CLR EX0 MOV 44H,TL0 ;将计数值移入处理单元 MOV 45H,TH0 SETB 00H ;接收成功标志 RETI如果当计时器溢出时还未检测到超声波返回信号,则定时器T0溢出中断将外中断0关闭,并将测距成

18、功标志字赋值2,以表示本次测距不成功。4.5显示程序设计;40H为最高位,43H为最低位,先扫描高位DISPLAY: MOV R1,#40H;GMOV R5,#0E7H;GPLAY: MOV A,R5 MOV P0,#0FEH MOV P2,A MOV R1 MOV DPTR,#TAB MOVC A,A+DPTR MOV P0,A LCALL DL1MS INC R1 MOV A,R5 JNB ACC.0,ENDOUT;G RR A MOV R5,A AJMP PLAYENDOUT: MOV P2,#0FEH MOV P0,#0FEH RETTAB: DB 0C0H,0F9H,0A4H,0B0

19、H,99H,92H,82H,0F8H,80H,90H, 0FEH,88H,0BFH;共阳段码表 “0”,“1”,“2”,“3”,“4”,“5”,“6”,“7”,“8”,“9”,“不亮”,“A”,“-”4.6距离计算程序PUSH ACC PUSH PSW PUSH B MOV PSW, #18h MOV R3, 45H MOV R2, 44H MOV R1, #00D MOV R0, #17D LCALL MUL2BY2 MOV R3, #03H MOV R2, #0E8H LCALL DIV4BY2 LCALL DIV4Y2 MOV 400H, R4 MOV A, 40H JNZ JJ0 MO

20、V 40H,#0AH ;最高位为0,不点亮JJ0: MOV A, R0 MOV R4, A MOV A, R1 MOV R5, A MOV R3, #00D MOV R2, #100D LCALL DIV4BY2 MOV 41H, R4 MOV A, 41H JNZ JJ1 MOV A, 40H ;次高位为0,先看最高位是否为不亮 SUBB A, #0AH JNZ JJ1 MOV 41H, #0AH ;最高位不亮,次高位也不亮JJ1: M0V A, R0 MOV R4, A MOV A, R1 MOV R5, A MOV R3, #00D MOV R2, #10D LCALL DIV4BY2 MOV 42H, R4 MOV A, 42H JNZ JJ2 MOV A, 41H ;次次高位为0,先看次高位是否为不亮 SUBB A, #0AH JNZ

温馨提示

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

评论

0/150

提交评论