基于51单片机的超声波测距1_第1页
基于51单片机的超声波测距1_第2页
基于51单片机的超声波测距1_第3页
基于51单片机的超声波测距1_第4页
基于51单片机的超声波测距1_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

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

文档简介

1、基于51单片机的超声波测距1一设计题目基于51单片机的超声波测距二设计者姓名班级学号组号三、设计思路及框图、原理图任务:以单片机为核心,设计并制作一超声波测距系统根本要求:利用时间差测距,不考虑温度变化用数码管显示测试结果工作频率:450kHz测距范围:0.510米财精度:10%发挥局部尽量增大测控范围,提升测试精度1 .系统的硬件结构设计1.1 .超声波发生电路发射电路主要由反相器74LS04和超声波发射换能器T构成,单片机P1.0 端口输出的450kHz的方波信号一路经一级反向器后送到超声波换能器的一个 电极,另一路经两级反向器后送到超声波换能器的另一个电极,用这种推换形式将方波信号加到超

2、声波换能器的两端,可以提升超声波的发射强度.输出端采两 个反向器并联,用以提升驱动水平.上位电阻 R1O、R11 一方面可以提升反向 器74LS04输出高电平的驱动水平,另一方面可以增加超声波换能器的阻尼效 果,缩短其自由振荡时间.1 / 10基于51单片机的超声波测距1A1VI A2Y72A3V3 ONDg6-653 &r4c A& FAV-1.2 超声波检测接收电路采用集成电路CX20216A为超声波接收芯片.实验证实用 CX20216A接收 超声波无信号时输出高电平,具有很好的灵敏度和较强的抗干扰水平.适当更改电容C4的大小,可以改变接收电路的灵敏度和抗干扰水平1.3 显

3、示电路显示电路主要由741s273芯片驱动,用PNPC8550三级管进行位选,七段共 阳极数码管显示.2 / 10基于51单片机的超声波测距12 .系统的软件结构设计设计思路.开 Mt J王1|欣士IBM如体呵._L婚,百有;1SE波,1| m.4三千口 与二|主程序中包括温度补偿子程序,计算子程序,显示子程序.采用汇编编程.首先进行系统初始化.其次利用循环产生4个40KHz的方波,由输出口进行输出, 并开始计时.第三等待中断,假设超声波被接收探头捕捉到,那么通过中断可测得 超声波在环境中的传播时长.第四进行计算,求得测距仪到被测物的距离.第五 进行距离显示.四.工作原理描述超声波发生器发出的

4、超声波以速度 V在空气中传播,至被测物体时反射并返回至接收器,测得其往返时间为 T,那么与被测物体的距离为S = VT/2.因此次设 计题目不要求考虑温度变化对 V的影响,故设V是一定的,s=340t/2.在此采用AT89C52单片机为限制器,用数码管显示测试结果,超声波驱动信号 用单片机定时器3 / 10基于51单片机的超声波测距1五.器件清单厅P器件型号封装娄AT89C1单片机DIP1522反相器74LS04集成电CX20213路6A474ls2735数码管CON10PNPC856三极管3507电阻4.7K48200k22k1k2按键开switch1关晶振12MHz1电容3.3uf2330

5、pf10.056uf133pf20.1uf14 / 10基于51单片机的超声波测距1附录程序清单VOUT EQU P1.0TEMPI EQU 36HTEP1 EQU 37HDQ EQU P1.7FLAG1 EQU 38HORG 0000HJMP STARTORG 0003HJMP PINT0;*主程序 *START:MOV P3,0FFHMOV P0,0FFHMOV P1,0FFHMOV P2,0FFHMOV TMOD,#01HMOV TH0,#00HMOV TL0,#00HCLR IE0SETB PX0SETB EASETB EX0CLR IT0MOV R4,#4SETB TR0k: CPL

6、 P1.0NOPNOPNOPNOPNOPNOPNOPNOPNOPDJNZ R4,KJNB IE0,$LCALLTEMPLCALL GET_TEMPERLCALLCHANGELCALL WORKLCALL DISPLAY1LJMP STARTPINT0:CLR TR0CLR EX0MOV 30H,TL0MOV 31H,TH0RETITEMP:SETBNOPCLRMOV 时程序赋初值TSR1: DJNZ 延时SETBMOV 时程序赋初值TSR2: JNBDQDQR0,#0FBH;给延R0,TSR1DQR0,#25H;给延DQ ,TSR3S18B20是否存在,存在就跳转到TSR3DJNZ R0,TS

7、R2;不存在等待TSR3: SETB FLAG1;置标志位,说明 DS18B20存在;CLR P2.0极管指示 AJMP TSR5 TSR4: CLR FLAG1LJMP TSR7 TSR5: MOV R0,#06BH TSR6: DJNZ R0,TSR6;延时TSR7:SETB DQ;表明不存在RET* 读转换后的温度值* GET_TEMPER:SETB DQLCALL TEMP5 / 10基于51单片机的超声波测距1JBFLAG1,TSS2不存在那么返回RET;假设TSS2: 过ROMMOVLCALLA,#0CCHWRITE_18B20;跳MOV出温度转换命令LCALLLCALLA,#44

8、HWRITE_18B20TEMP;发过ROMMOVA,#0CCH;跳LCALL WRITE_18B20 MOV A,#0BEH 发出读温度换命令LCALL WRITE_18B20 LCALLREAD2_18B20;读两个字节的温度RET ;* 写 ds18b20 汇编程序 *WRITE_18B20:MOV R2,#8CLR CWR1:CLR DQMOV R3,#6DJNZ R3,$RRC AMOV DQ,CMOV R3,#23DJNZ R3,$ SETB DQNOP CLR DQ NOP NOP NOP SETB DQ MOV R3,#7 DJNZ R3,$ MOV C,DQ MOV R3,#

9、23 DJNZ R3,$ RRC A DJNZ R2,RE01 MOV R1,A DEC R1 DJNZ R4,RE00 RET ;*读出的温度进行数据转换 *CHANGE:MOV A,29H;MOV C,28H.0;将28H中的最低位移入CRRC A MOV C,28H.1 RRC AMOV C,28H.2 RRC AMOV C,28H.3 RRC A MOV 29H,A LCALLCONVERSE RETNOPDJNZ R2,WR1SETB DQRET* *CONVERSE:DISPLAY*MOV A,29H;将29H中的十六进制数转换成10进制*读18B20程序,读出两个字节的温度REA

10、D2_18B20:MOV R4,#2低位存在29 H,高位存在28HMOV R1,#29HRE00: MOV R2,#8*; TABLE:MOV DPTR,#TABLE MOVC A,A+DPTR MOV TEMP1,ADBRE01: CLR CSETB CNOP165D,165D,165D,166D,166D,166D,167D,167D,167D,167DDB168D,168D,168D,169D,169D,169D,170D,17 0D,170D,171DDB6 / 10基于51单片机的超声波测距1171D,171D,172D,172D,172D,173D,173D,173D,174D,

11、174DDB 174D,174D,175D,175D,175DRET;* * 计算子程序 *WORK: ; MOVPSW,#18h ;选择3区R系列存放器MOVR3,31HMOVR2,30HMOVR1,#00DMOVR0,tempiLCALL MUL2BY2MOVR3,#27HMOVR2,#10HLCALL DIV4BY2LCALL HBCDRET*两子中尢的号数来出程序*;R7R6R5R4 <= R3R2 * R1R0速度 X 时间/2MUL2BY2: CLRAMOVR7,AMOVR6,AMOVR5,AMOVR4,AMOV46H, #10HMULLOOP1: CLRCMOVA,R4RL

12、CAMOVR4,AMOVA,R5RLCAMOVR5,AMOVA,R6RLCAMOVR6,AMOVA,R7RLCAMOVR7,AMOVA,R0RLCAMOVR0,AMOVA,R1RLCAMOVR1,AJNCMULLOOP2MOVA,R4ADDA,R2MOVR4,AMOVA,R5ADDCA,R3MOVR5,AMOVA,R6ADDCA,#00HMOVR6,AMOVA,R7ADDCA,#00HMOVR7,AMULLOOP2: DJNZ46H, MULLOOP1RET*四字节/两字节无符号数除法程序 * ;R7R6R5R4/R3R2=R7R6R5R4 商.R1R0 余数/10000DIV4BY2: MO

13、V 46H, #20HMOVR0,#00HMOVR1,#00HDIVLOOP1: MOVA,R4RLCAMOVR4,AMOVA,R5RLCAMOVR5,AMOVA,R6RLCAMOVR6,AMOVA,R7RLCAMOVR7,AMOVA,R0RLCAMOVR0,AMOVA,R1RLCAMOVR1,ACLRCMOVA,R0SUBBA,R2MOVB,A7 / 10基于51单片机的超声波测距1MOVA,R1SUBBA,R3JCDIVLOOP2MOVR0,BMOVR1,ADIVLOOP2: CPLCDJNZ46H,DIVLOOP1MOVA,R4RLCAMOVR4,AMOVA,R5RLCAMOVR5,AM

14、OVA,R6RLCAMOVR6,AMOVA,R7RLCAMOVR7,ARET:*: ;十六进制双字节转三字节十进制 .* ,HBCD:MOV A,R5 MOV R6,A MOV A,R4 MOV R7,AHB2: CLR AMOV R3,A MOV R4,A MOV R5,A MOV R2,#10HHB3: MOV A,R7 RLC A MOV R7,A MOV A,R6 RLC A MOV R6,A MOV A,R5 ADDC A,R5 DA A MOV R5,A MOV A,R4 ADDC A,R4DA AMOV R4,A MOV A,R3 ADDC A,R3 MOV R3,A DJNZ

15、R2,HB3 MOV A,R5 ANL A,#0FH MOV 40H,AMOV A,R5 ANL A,#0F0H SWAP AMOV 41H,AMOV A,R4 MOV 42H,A RET.* ;显示子程序*;DISPLAY1:MOV DPTR,#TABLE1 MOV R0,#4 DP1:MOV R1,#250LOOP:MOV A,40H;显示低位MOVC A,A+DPTR MOV P0,A CLR P1.4SETB P1.4CLR P1.4 CLR P2.5 ACALL DELAY1 SETB P2.5MOV A,41H;显示中位 MOVC A,A+DPTR MOV P0,ASETB P1.4CLR P1.4CLR P2.6ACALL DELAY1SETB P2.6MOV A,42H ;显示高位 JZ LMOVC A,A+DPTR8 / 10基于51单片机的超声波测距1MOV P0,

温馨提示

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

评论

0/150

提交评论