手机版

超声波测距模块使用说明

发布时间:2024-11-12   来源:未知    
字号:

超声波

超声波测距资料

超声波测距模块连线:

我们将超声波测距模块用红色,绿色两根导线引出,红色线(超声波测距模块电源脚)接5208K实验仪+5V,绿色线(超声波测距模块接地脚)接5208K实验仪GND.打开5208K实验仪电源, 超声波测距模块初始化显示27.将超声波发射接收头对准障碍物,数码管将显示超声波测距模块与障碍物之间的距离。

超声波测距学习板,可应用于汽车倒车、建筑施工工地以及一些工业现场的位置监控,也可用于如液位、井深、管道长度的测量等场合。测量时与被测物体无直接接触,能够清晰稳定地显示测量结果。

超声波学习板采用AT89S51单片机晶振为12M,单片机用P1.0口输出超声波换能器所需的40K方波信号,利用外中断监测超声波接收电路输出的返回信号,显示电路采用简单的4位共阳LED数码管,段码驱动用74LS244集成电路,位码用S8550三极管驱动。

超声波测距的算法原理: 超声波在空气中传播速度为每秒钟340米(15℃时)。X2是声波返回的时刻,X1是声波发声的时刻,X2-X1得出的是一个时间差的绝对值,假定X2-X1=0.03S,则距离为340mx0.03S=10.2米。这就是超声波探头到反射物体之间的距离。

超声波

产品性能特点:

成品板上自带:超声波收发传感器、接收放大电路、四位LED数码显示、四位按键(四个按钮和蜂鸣器属于功能预留,程序中无定义),电源部分自带整流、滤波、稳压电路,允许交流7~15V或者直流9~16V输入,经过实际测试,测量范围可达27~250厘米,测量精度为1厘米。

下图是超声波测距学习板的元件布局图,

超声波

以下是部分汇编源程序

;///////////////////////////////////////////////////////

; USE BY :超声波测距器

; IC :AT89C51

; TEL :

; OSCCAL :XT (12M)

; display :共阳LED显示

;///////////////////////////////////////////////////////

;测距范围7CM-11M,堆栈在4FH以上,20H用于标志

;显示缓冲单元在40H-43H,使用内存44H、45H、46H用于计算距离

;

VOUT EQU P1.0 ; 红外脉冲输出端口

speak equ p1.1

;********************************************

;* 中断入口程序 *

;********************************************

;

ORG 0000H

超声波

LJMP START

ORG 0003H

LJMP PINT0

ORG 000BH

reti

ORG 0013H

RETI

ORG 001BH

LJMP INTT1

ORG 0023H

RETI

ORG 002BH

RETI

;

;********************************************

;* 主 程 序 *

;********************************************

;

START: MOV SP,#4FH

MOV R0,#40H ;40H-43H为显示数据存放单元(40H为最高位)

MOV R7,#0BH

CLEARDISP: MOV @R0,#00H

INC R0

DJNZ R7,CLEARDISP

MOV 20H,#00H

MOV TMOD,#11H ;T1为 T0为16位定时器

MOV TH0,#00H ;65毫秒初值

MOV TL0,#00H

MOV TH1,#00H

MOV TL1,#00H

MOV P0,#0FFH

MOV P1,#0FFH

MOV P2,#0FFH

MOV P3,#0FFH

MOV R4,#04H ;超声波肪冲个数控制(为赋值的一半)

SETB PX0

SETB ET1

SETB EA

SETB TR1 ;开启测距定时器

超声波

start1: LCALL DISPLAY

JNB 00H,START1 ;收到反射信号时标志位为1

CLR EA

LCALL WORK ;计算距离子程序

clr EA

MOV R2,#32h;#64H ;测量间隔控制(约4*100=400MS)

LOOP: LCALL DISPLAY

DJNZ R2,LOOP

CLR 00H

setb et0

mov th0,00h

mov tl0,00h

SETB TR1 ;重新开启测距定时器

SETB EA

SJMP Start1

;

;****************************************************

;* 中断程序* *

;****************************************************

;T1中断,发超声波用 ;T1中断,65毫秒中断一次

INTT1: CLR EA

CLR TR0

clr ex0

MOV TH0,#00H

MOV TL0,#00H

MOV TH1,#00H

MOV TL1,#00H

SETB ET0

SETB EA

SETB TR0 ;启动计数器T0,用以计

intt11:

CPL VOUT ;40KHZ

nop

nop

nop

nop

nop

nop

超声波

nop

nop

nop

DJNZ R4,intt11

;超声波发送完毕,

MOV R4,#04H

lcall delay_250 ;延时,避开发射的直达声波信号

SETB EX0 ;开启接收回波中断

RETIOUT: RETI

;外中断0,收到回波时进入

PINT0: nop

jb p3.2,pint0_exit

CLR TR0 ;关计数器

CLR EA ;

CLR EX0 ;

MOV 44H,TL0 ;将计数值移入处理单元

MOV 45H,TH0 ;

mov th0,#00h

mov tl0,#00h

jnb p3.2,$

SETB 00H ;接收成功标志

pint0_exit:

RETI

;

;****************************************************

;* 显示程序 *

;****************************************************

; 40H为最高位,43H为最低位,先扫描高位

DISPLAY: MOV R1,#40H;G

MOV R5,#7fH;G

PLAY: MOV A,R5

MOV P0,#0FFH

MOV P2,A

MOV A,@R1

MOV DPTR,#TAB

MOVC A,@A+DPTR

MOV P0,A

超声波

LCALL DL1MS

INC R1

MOV A,R5

JNB ACC.4,ENDOUT;G

RR A

MOV R5,A

AJMP PLAY

ENDOUT: MOV P2,#0FFH

MOV P0,#0FFH

RET

;

TAB: DB 18h, 7Bh, 2Ch, 29h, 4Bh, 89h, 88h, 3Bh, 08h, 09h,0ffh ;共阳段码表 "0" "1" "2" "3" "4" "5""6" "7" "8" "9" "不亮""A""-" ;

;****************************************************

;* 延时程序 *

;****************************************************

;

DL1MS:

push 06h

push 07h

MOV R6,#14H

DL1: MOV R7,#19H

DL2: DJNZ R7,DL2

DJNZ R6,DL1

pop 07h

pop 06h

RET

;

;****************************************************

;* 距离计算程序 (=计数值*17/1000cm) *

;****************************************************

;

work: 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 DIV4BY2

MOV 40H, R4

MOV A,40H

JNZ JJ0

MOV 40H,#0AH ;最高位为零,不点亮

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: MOV 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 JJ2

MOV 42H,#0AH ;次高位不亮,次次高位也不亮

JJ2: MOV 43H, R0

POP B

POP PSW

POP ACC

RET

;

;****************************************************

;* 两字节无符号数乘法程序 *

;****************************************************

; R7R6R5R4 <= R3R2 * R1R0

超声波专用发射接收头,有T字样的是发射头,标有R字样的是接收头

超声波测距模块使用说明.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
    ×
    二维码
    × 游客快捷下载通道(下载后可以自由复制和排版)
    VIP包月下载
    特价:29 元/月 原价:99元
    低至 0.3 元/份 每月下载150
    全站内容免费自由复制
    VIP包月下载
    特价:29 元/月 原价:99元
    低至 0.3 元/份 每月下载150
    全站内容免费自由复制
    注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
    × 常见问题(客服时间:周一到周五 9:30-18:00)