资源预览内容
第1页 / 共19页
第2页 / 共19页
第3页 / 共19页
第4页 / 共19页
第5页 / 共19页
第6页 / 共19页
第7页 / 共19页
第8页 / 共19页
第9页 / 共19页
第10页 / 共19页
亲,该文档总共19页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
基于51单片机的超声波测距仪说明书引言超声波测距仪,可应用于汽车倒车、建筑施工工地以及一些工业 现场的位置监控,也可用于如液位、井深、管道长度的测量等场合。 利用超声波指向性强,能量消耗缓慢,在介质中传播的距离较远,因 而超声波经常用于距离的测量。利用超声波检测往往比较迅速、方便、 计算简单、易于做到实时控制。一、性能要求该超声波测距仪,要求测量范围在0.08-3.00m,测量精度1cm, 测量时与被测物体无直接接触,能够清晰稳定地显示测量结果。二、工作原理及方案论证超声波传感器及其测距原理超声波是指频率高于20KHz的机械波。用超声波传感器产生超 声波和接收超声波,习惯上称为超声波换能器或超声波探头。超声波 传感器有发送器和接收器.超声波传感器是利用压电效应的原理将电 能和超声波相互转化,即在发射超声波的时候,将电能转换,发射超 声波;而在收到回波的时候,则将超声振动转换成电信号。超声波测距的原理一般采用渡越时间法TOF(timeofflight)。 首先测出超声波从发射到遇到障碍物返回所经历的时间,再乘以超声 波的速度就得到二倍的声源与障碍物之间的距离。根据要求并综合各方面因素,采用AT89C52单片机作为主控制 器,用动态扫描法实现LED数字显示,超声波驱动信号用单片机的定 时器完成,超声波测距仪的系统框图如下图所示:图1超声波测距仪系统设计框图三、系统硬件部分硬件部分主要由单片机系统及显示电路、超声波发射电路和超声 波检测接收电路三部分组成。1. 单片机系统及显示电路单片机采用AT89C52来实现对CX20106A红外接收芯片和TCT40-10系列超声波转换模块的控制。单片机通过P1.1引脚发射脉 冲控制超声波的发送,然后单片机不停的检测外中断0口 INT0引脚, 当INT0引脚的电平由高电平变为低电平时就认为超声波已经返回。 计数器所计的数据就是超声波所经历的时间,通过换算就可以得到传 感器与障碍物之间的距离。显示电路采用简单实用的4位共阳LED数 码管,段码用74LS244驱动,位码用PNP三极管驱动。单片机系统及显示电路如下图所示:2AU96ORz04AU9&65132 I2468nT20T2JT2OT23r12YJIOYJ1118642PEPEDH,n7nar RW0B iJonAr OAMHnAr -d-z-co* Ci-Z-CM* Qxccb*5lAn7 0fe 4AMAO0fe 3lAcofe prnrMHOfe IlMAOOfe 9AAJ06I OQnvofero4SBCOQX0BUOSCJOBdo-COSC-OBOOSC-CJBOQ-OB2U3xtTAM.ILaxx21U2. 超声波发射电路利用555时基电路振荡产生40kHz的超声波信号,使之与换能器 的40kHz固有频率一致。12V电源保证555时基具有足够驱动能力。 P1.1为超声波发射控制信号,由单片机控制。发射电路如图3所示:图3超声波发射电路原理图3. 超声波检测接收电路超声波接收电路采用集成电路CX20106A,这是一款红外线检波接 收的专用芯片,常用于电视机红外遥控接收器。考虑到红外遥控常用 的载波频率38KHz与测距超声波频率40KHz较为接近,可以利用它作 为超声波检测电路。实验证明其具有很高的灵敏度和较强的抗干扰能 力。适当改变C4的大小,可改变接受电路的灵敏度和抗干扰能力。接收电路如图4所示:四. 系统软件部分超声波测距程序设计软件部分主要由主程序,超声波发射子程 序,超声波接受中断程序及显示子程序组成。下面对超声波测距仪的 算法,主程序,超声波发射子程序和超声波接受中断程序逐一介绍。1. 超声波测距仪的算法设计下图示意了超声波测距的原理,即超声波发生器T在某一时刻发 出的一个超声波信号,当超声波遇到被测物体后反射回来,就被超声 波接收器R所接受。这样只要计算出发生信号到接受返回信号所用的 时间,就可算出超声波发生器与反射物体的距离。距离计算公式:d=s/2=(c*t)/2*d为被测物与测距器的距离,s为声波的来回路程,c为声速,t为声波来回所用的时间2. 主程序主程序框图如右图所示: 主程序首先对系统环境初始化,设置定时 器T0工作模式为16位的定时计数器模式, 置位总中断允许位EA并给显示端口 P0和 P2清0。然后调用超声波发生子程序送出 一个超声波脉冲,为避免超声波从发射器 直接传送到接收器引起的直接波触发,需 延迟0.1ms(这也就是测距器会有一个最 小可测距离的原因)后,才打开外中断0接 收返回的超声波信号。由于采用12MHz的 晶振,机器周期为1us,当主程序检测到接收成功的标志位后,将计数 器T0中的数(即超声波来回所用的时间)按下式计算即可测得被测 物体与测距仪之间的距离,设计时取20C时的声速为344m/s则有: d=(C*T0)/2=172T0/10000cm (其中T0为计数器T0的计数值)测出距离后结果将以十进制BCD码方式LED,然后再发超声波脉 冲重复测量过程。3. 超声波发生子程序和超声波接收中断程序 超声波发生子程序的作用是通过P1.1端口发送超声波发射控制脉冲 信号,同时把计数器T0打开进行计时。超声波测距器主程序利用外 中断0检测返回超声波信号,一旦接收到返回超声波信号(INT0引脚 出现低电平),立即进入中断程序。进入该中断后就立即关闭计时器 T0停止计时,并将测距成功标志字赋值1。如果当计时器溢出时还未 检测到超声波返回信号,则定时器T0溢出中断将外中断0关闭,并将 测距成功标志字赋值2以表示此次测距不成功。五. 软硬件调试及性能超声波发射和接收采用15的超声波换能器TCT40-10F1 (T发 射)和TCT40-10S1 (R接收),中心频率为40kHz,保持两换能器中心 轴线平行并相距48cm。主要性能指标:测距仪能测的范围为0.083.00m,测距仪精度 1cm。程序清单以下是用汇编语言编写的超声波测距控制源程序:采用MH 晶振AT89S52 12显示缓冲单元在40H43H,使用内存、用于计算距离44H 45H 46H用于标志20H脉冲输出端口VOUT EQU P1.0;中断入口程序* *ORG 0000HLJMP STARTORG 0003HLJMP PINTOORG000BHLJMP INTTOORG0013HRETIORG001BHLJMP INTT1ORG0023HRETIORG002BHRETI主程序*START: MOV SP, #4FH为显示数据存放单兀(为最高位)MOV RO, #40H;4043H40MOV R7,#0BHCLEARDISP:MOVR0, #00HINCRODJNZR7, CLEARDISPMOV20H, #00H为位自动重装模式,为位定时器MOVTMOD, #21H;T18TO 16初值MOVTHO, #00H;65ms初值MOVTLO, #00H;40KHzMOVTH1,#OF2HMOVTL1,#OF2HMOVPO, #0FFHMOVP1,#OFFHMOVP2, #0FFHMOVP3, #0FFH;超声波脉冲个数控制(为赋值的 半)MOVR4, #04HSETBPXOSETBETOSTEBEACLROOH开启测距定时器SETBTROSTART 1:LCALLDISPLAY收到反射信号时标志位为JNBOOH, START 1; 1CLR EA;计算距离子程序LCALL,WORKSETBEACLROOH;重新开启测距定时器SETBTRO;测量间隔控制(约)4*100=400msMOV R2, #64HLOOP:中断,LCALL DISPLAY DJNZ R2, LOOP SJMP START 1中断一次中断程序* *;T0INTTO:来回时间65msCLR EACLR TROMOV THO, #00HMOV TLO, #00HSETB ET1SETB EASETB TRO启动计时器,用以计算超声波;TOOUT:中断,;T1INTT1:SETB TRIRETI发超声波用CPL VOUTDJNZ R4,RETIOUT开启发超声波用定时器;T1;超声波发送完毕,关RETIOUT:外中断, 0PINTO:DL1MS:DL1:DL2:CLR TRICLR ET1 MOV R4,#04H SETB EXO RETI收到回波时进入CLR TRO CLR TRI CLR ET1 CLR EA CLR EXOMOV 44H, TLOMOV 45H, THO SETB OOH RETIMOV R6, #14H MOV R7,#19H DJNZ R6, DL2T1;开启接收回波中断;关计数器;将计数值移入处理单元;接收成功标志延时程序* *DJNZ R6, DL1RET为最高位,;40H:DISPLAY显示程序为最低位,先扫描高位43HMOVMOVRl,#40H;GR5,#0F7H;GPLAY:MOV A, R5MOV P0, #0FFHMOV P2, AMOV A, R1MOV DPTR, #TABMOVC A, A+DPTRMOV P0, ALCALL DLIMSINC R1MOV A, R5JNB ACC.O, ENDOUT;GRR AMOV R5,AAJMP PLAYENDOUT;MOVMOVRETP2, #0FFHP0, #0FFH;共阳数码W,F9H,0A4H,0B0H,9?H,820F8H,80H,90H,0FFH,88H,0BFH0,1, 2,3,4,5,6,7,8,9,A,FE离计算程序计算值Xm近似*(=17/1000c )WORK:PUSHACCPUSHPSWPUSHBMOVPSW,#18HMOVR3, 45HMOVR2, 44HMOVRl,#00D
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号