下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、基于51单片机的超声波测距仪说明书引言超声波测距仪,可应用于汽车倒车、建筑施工工地以及一些工业 现场的位置监控,也可用于如液位、井深、管道长度的测量等场合。 利用超声波指向性强,能量消耗缓慢,在介质中传播的距离较远,因 而超声波经常用于距离的测量。利用超声波检测往往比较迅速、方便、 计算简单、易于做到实时控制。一、性能要求该超声波测距仪,要求测量范围在,测量精度1cm, 测量时与被测物体无直接接触,能够清晰稳定地显示测量结果。二、工作原理及方案论证超声波传感器及其测距原理超声波是指频率高于20KHZ的机械波。用超声波传感器产生超 声波和接收超声波,习惯上称为超声波换能器或超声波探头。超声波传感
2、器有发送器和接收器.超声波传感器是利用压电效应的原理将电 能和超声波相互转化,即在发射超声波的时候,将电能转换,发射超 声波;而在收到回波的时候,则将超声振动转换成电信号。超声波测距的原理一般采用渡越时间法 TOF( timeofflight )。 首先测出超声波从发射到遇到障碍物返回所经历的时间,再乘以超声波的速度就得到二倍的声源与障碍物之间的距离。根据要求并综合各方面因素,采用 AT89C5单片机作为主控制器,用动态扫描法实现LED数字显示,超声波驱动信号用单片机的定 时器完成,超声波测距仪的系统框图如下图所示:图1超声波测距仪系统设计框图三、系统硬件部分硬件部分主要由单片机系统及显示电路
3、、 超声波发射电路和超声 波检测接收电路三部分组成。1. 单片机系统及显示电路单片机采用AT89C52来实现对CX20106A红外接收芯片和TCT40-10系列超声波转换模块的控制。单片机通过P1.1引脚发射脉冲控制超声波的发送,然后单片机不停的检测外中断 0口 INTO引脚, 当INTO引脚的电平由高电平变为低电平时就认为超声波已经返回。 计数器所计的数据就是超声波所经历的时间, 通过换算就可以得到传 感器与障碍物之间的距离。显示电路采用简单实用的4位共阳LED数码管,段码用74LS244驱动,位码用PNP三极管驱动。单片机系统及显示电路如下图所示:61514dTO BOhT- B2ocy0
4、alA7mip5S-CL4*txK7 43r席OJT $ dbss8VY1301A iAA3 i021042SL4Z31+-ZL/JC3-OlZL/IC3-QXFOC3-2U3S-CL2Jr/nMIPI51/-C2LT4CA6C2LO-CA5C2LC2CA4C2L-V<A3C2LelaNESP03OVCA2C2L<9jt- .Aro8/> oth7qa-.c£l6QAD.C0L5QAD.C0L4qa/-.c£l3QAO.C0L2CD/I.C0L1DAn._nOQAD.C0L92TSR2Lalx1Lalx1U001图2单片机系统及显示电路2. 超声波发射电路
5、利用555时基电路振荡产生40kHz的超声波信号,使之与换能器 的40kHz固有频率一致。12V电源保证555时基具有足够驱动能力。P1.1为超声波发射控制信号,由单片机控制。发射电路如图3所示:lkK65k图3超声波发射电路原理图3. 超声波检测接收电路超声波接收电路采用集成电路 CX20106A这是一款红外线检波接 收的专用芯片,常用于电视机红外遥控接收器。考虑到红外遥控常用 的载波频率38KHZ与测距超声波频率40KHZ较为接近,可以利用它作 为超声波检测电路。实验证明其具有很高的灵敏度和较强的抗干扰能 力。适当改变C4的大小,可改变接受电路的灵敏度和抗干扰能力。接收电路如图4所示:四.
6、 系统软件部分超声波测距程序设计软件部分主要由主程序,超声波发射子程 序,超声波接受中断程序及显示子程序组成。 下面对超声波测距仪的 算法,主程序,超声波发射子程序和超声波接受中断程序逐一介绍。1.超声波测距仪的算法设计下图示意了超声波测距的原理,即超声波发生器T在某一时刻发 出的一个超声波信号,当超声波遇到被测物体后反射回来, 就被超声 波接收器R所接受。这样只要计算出发生信号到接受返回信号所用的 时间,就可算出超声波发生器与反射物体的距离。距离计算公式:d=s/2=(c*t)/2*d为被测物与测距器的距离,s为声波的来回路程,c为声速,t为声波来回所用的时间2.主程序主程序框图如右图所示:
7、 主程序首先对系统环境初始化,设置定时 器TO工作模式为16位的定时计数器模式, 置位总中断允许位EA并给显示端口 P0和 P2青0。然后调用超声波发生子程序送出 一个超声波脉冲,为避免超声波从发射器 直接传送到接收器引起的直接波触发,需 延迟0.1ms(这也就是测距器会有一个最 小可测距离的原因)后,才打开外中断0接 收返回的超声波信号。由于采用12MHZ勺晶振,机器周期为1us,当主程序检测到接收成功的标志位后,将计数 器T0中的数(即超声波来回所用的时间)按下式计算即可测得被测 物体与测距仪之间的距离,设计时取20C时的声速为344m/s则有: d=(C*T0)/2=172T0/1000
8、0cm (其中T0为计数器T0的计数值)测出距离后结果将以十进制 BCD码方式LED,然后再发超声波脉冲重复测量过程。3.超声波发生子程序和超声波接收中断程序超声波发生子程序的作用是通过 P1.1端口发送超声波发射控制脉冲 信号,同时把计数器T0打开进行计时。超声波测距器主程序利用外 中断0检测返回超声波信号,一旦接收到返回超声波信号(INT 0引脚 出现低电平),立即进入中断程序。进入该中断后就立即关闭计时器 T0亭止计时,并将测距成功标志字赋值1。如果当计时器溢出时还未 检测到超声波返回信号,则定时器 T0溢出中断将外中断0关闭,并将 测距成功标志字赋值2以表示此次测距不成功。五. 软硬件
9、调试及性能超声波发射和接收采用 15的超声波换能器TCT40-10F1( T发 射)和TCT40-10S1(R接收),中心频率为40kHz,保持两换能器中心 轴线平行并相距4 8cm。主要性能指标:测距仪能测的范围为0.083.00m,测距仪精度1cm。程序清单以下是用汇编语言编写的超声波测距控制源程序:采用AT89S52 12mh?晶振显示缓冲单元在4oh43H,使用内存 轴H、45H、46H用于计算距离用于标志脉冲输出端口中断入口程序卡ORG 0000HLJMP STARTORG 0003HLJMP PINTOORG OOOBHLJMP INTTOORG 0013HRETIORG 001B
10、HLJMP INTT1ORG 0023HRETIORG 002BHRETI主程序*S : MOV SR#4FH为显示数据存放单元(40为最高位)MOV R7,#0BHCLEARD1SP:MOV ®R0, OOHNC RODJNZ R7.CLEARDISPMOV 2OH¥OQHMOV 1MOD, 21H 时器MOV TH0,#00HMOV lltHOOHMOV TH1 岸0F2HMOV 1L1J0F2HMOV PO用OFFHMOV PLWFHMOV P2.#0FFHMOV P玄鮒FFHMOV R4.#04HSETB PXOSETB ETOSTEB EACLR OOHSETB
11、TROSTART1: LCALL DISPLAYJNB OOH. START 1CLR EALCALL WORKSETB EACLR OOHSETB TROMOVR1 #6 斗 HLOOP:LCALL DISPLAYDJNZ R2. LOOPSJW START 1:T1为8位自动重装模式,TO为16位定初值初值;超声波脉冲个数控制(为赋值的一半);开启测距定时器:收到反射信号时标志位为1;计算距离子程序;重新开启测距定时器;测量间隔控制(约00=400ms)*中断程序*:TO中断,65ms中断一次NTT0:CLREACLRTROMOVTHO, #00HMOVTLO, #00HSETBET1SE
12、TBEA来回时间SETBTRO:启动计时器TO,用以计算超声波SETBTRI:开启发超声波用定时器T1OUT:RETI中断,发超声波用NTT1:CPLVOUTDJNZR4.RETIOUTCLRTRI7超声波发送完毕,关T1CLRET1MOVR404HSETBEXO开启接收回波中断RETIOUT:RETI;外中断0,收到回波时进入PINTO:CLRTRO;关计数器CLRTRICLRET1CLREACLREXOMOV44H, TLO;将计数值移入处理单元MOV45H THOSETBOOH;接收成功标志RETI*延时程序iDL1MS:MOVR6J14HDL1:MOVR7+19HDL2:DJNZR6.
13、 DL2DJNZ R6, DL1RET*显示程序*:40H为最高位,为最低位,先扫描高位DISPLAY:MOVR140H:GMOVR50F7H;GPLAY:MOVA. R5MOVPO. #OFFHMOVP2.AMOV扎R1MOVDPTR. TABMOVC A邂A-DPTR MOV PO.ALCALL DLIMS INC R1MOV A.R5,JNB ACC.O. ENDOl;T;G RR AMOV R5,A AM PLAYENDOUT; MOV PZ#0FFHMOV 呛 #0FFHRETTAB; DBO C0H,0F9H10A4E0B0E99H52H;10BFH;共阳数码管0、2.3、4*5,
14、6工8.9、不亮,A* *距离计算程序(=计算值xm近似WORK:PUSHACCPUSHPSWPUSHBMOVPSW:#18HMOVR3.45HMOVRZ 44HMOVRL#00DMOVRO.粗7DLCALL MIO Y2MOVR3. #03HMOVRZ #0E8HLCALL DIV4BY2LCALL DR4BY2MOV40H. R4MOVA. 40HJNZJJOMOV最咼位为0,不点亮JJO:MOVA ROMOV RIAMOV A R1MOV R5 AMOV IE MODMOV R2100DLCALL DIV4BY2MOV 41H.R4MOV A.41HJNZ JJ1;此高位为0,先看最高位
15、是否为不亮SUBBJJ1:JNZJJ1MOV41H. #0AHMOVA. ROMOVR4.AMOVA.R1MOVR5,AMOV& MODMOV也 10D最咼位不亮,次咼位也不亮JJ2:LCALL DIT4BY2MOV42H. R4MOVA 42HJNZJJ2MOVA.41H:次高位为o,SUBBA.和AHJNZJJ2MOV42H.和AH;次咼位不亮,MOV43H ROPOPBPOPPSWPOPACCRET*两字节无符号数乘法程序先看次高位是否为不亮次咼位也不亮NWL2BY2;CLR AMOV R7,AMOV R6,AMOV R5.AMOV R4.AMULL00P1:MOV 46H10H
16、CLR CMOV A?R4RLC AMOV RIAMOV A. R5RLC AMOV R5,AMOV A.R6RLC AMOV R6,AMOV A.R7RLC AMOV R7.AMOV A. RORLC AMOV RO, AMOV A.R1 RLC A MOV Rl-A JNC NWLLOOP2 MOV A.R4 ADD a?R2 MOV RIA MOV A.R5 ADDC A. R3 MOV R5.A MOV A.R6 ADDC A.呦 OH MOV R6-A MOV A.R7 ADDC亠呦OH MOV RMULLOOP2: DJNZ 46H. MULLOOP1RET*四字节:两字节无符号数
17、除法程序iDIV4BY2:MOV 46比世OHMOV RlUOOH MOV RlOOH DIVLOOPI: MOV A.R4RLC AMOV R4,A MOV A.R5 RLC AMOV R5,A MOV A?R6 RLC AMOV R6,A MOV A.R7 RLC A MOV R7,A MOV A. RO RLC A MOV RO. A MOV A.R1 RLC A MOV RLA CLR C MOV A. RO SUBB A.R2 MOV B.aDIVLOO 巴:-I.-I.-I.I.-I.-I.A.R1A. R3 DRT00P2RO.BRl.AC46H. DIVLOOP1A.R4AR4
18、.AA. R5 AR5.AA. R6AR6.AA. R7 AR7.AEXD 附C51程序 INCLUDE <REG5kH> WEFINEUCHAR UNSIGNED CHAR DEFINE I'INT UNSIGNED IN'T WEFINEULONG UNSIGNED LONG EXTERN VOID CS_T(VOID); EXTERN VOID DELAWINT); EXTERN VOID DISPLAY! UCHAR*); /DATA UCHAR DISPLAY(UCILR*); DATAUCHARTESTOK; VOID MAIN (VOID)<DA
19、TA UCHAR D1SPRAM5;DATA UINTI;DATA ULONG TIME;P0=0XFF;P2=0XFF;TMOD=OX11;IE二0X80;WHILE C'S TO;DELAY( 1);TESTOK=0;EXO=1;ETO= I;WHILE(! TESTOK) DISPLAY(DISPRAM);IF(1=TESTOK)TIME=TH0;TIME=(TIME«8)| TLO;TIME*=172;TIME/= 10000;DISPRAM0F(UCHAR) (TIME% 10);TIME/=10;DISPR AM 1 F(UCH AR) (TIME% 10);TI
20、ME/=10;DISPRAM2=(UCHAR) (TIME% 10);DISPRAM=(UCHAR) (TIME/10);IF (0=DISPRAM3) DISPRAM3=17; ELSEDISPRAM0=16;DISPR AM1=16;DISPRAM2=16;DISPRAM3=16;FOR (I=0;I<300;I+) DISPLAY(DISPRAM);VOID CS_R(VOID) INTERRUPT 0TR0=0;ET0=0;EX0=0;TESTOK=1;VOID OVERTIME(VOID) INTERRUPT 1EX0=0;TR0=0;ET0=0;TESTOK=2;NAME C
21、S_T?PR?CS_T?CS_T SEGMENT CODEPUBLIC CS TRSEG?PR?CS_T?CS_TCS_T:PUSHACCMOVTHO. #00HMOVTLO. #00HMOVA, #4DSETBTROCS_T1:CPLNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPpl.ODJNZA CCCS_T1POPACCRET9ENDNAMEDELAY?PR?_DELAY?DELAY SEGMENTCODEPUBLIC_DELAYRSEG?PR?_DELAY?DELAY一DELAY:PUSH ACC MOVA.R7 JZ DELA1 INC R6DELAI:MOV R5.#50DDJNZ R5, $DJNZ R7.DELA 1DJNZR6.D
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 46352-2025信息技术分布式存储协议互联技术要求
- 【正版授权】 ISO 3842:2006/Amd 1:2025 EN Road vehicles - Fifth wheels - Interchangeability - Amendment 1
- 公司方面解除合同协议
- 合伙购买厂房合同范本
- 兼职美术老师合同协议
- 卫生间抵押合同协议书
- 购销合同中质量约定的条款
- 营销战略合作协议基本模板
- 口头协议能不能算合同
- 口头合同能否成立协议
- 2025杭州桐庐县统计局编外招聘2人考试参考题库及答案解析
- 湖南单招历史试题及答案
- 扶贫项目实施方案及资金管理
- 机械设计制造及其自动化专升本2025年智能设备联网试卷(含答案)
- 小学数学期末综合评价标准与表格
- 手术过程及准备流程
- 消防安全知识培训课件及考试题库
- 永久起搏器植入术课件
- 中国移动杭州市2025秋招笔试行测题库及答案通信技术类
- 卫生厅课题申报书范文
- 2025年甘肃省平凉市庄浪县第五幼儿园教育集团保健医招聘考试参考试题及答案解析
评论
0/150
提交评论