转 资料齐全的超声波测距学习板
超声波测距学习板,可应用于汽车倒车、建筑施工工地以及一些工业现场的位置监控,也可用于如液位、井深、管道长度的测量等场合。测量时与被测物体无直接接触,能够清晰稳定地显示测量结果。
超声波学习板采用AT89S51单片机晶振为12M,单片机用P1.0口输出超声波换能器所需的40K方波信号,利用外中断监测超声波接收电路输出的返回信号,显示电路采用简单的4位共阳LED数码管,段码驱动用74LS244集成电路,位码用S8550三极管驱动。
超声波测距的算法原理: 超声波在空气中传播速度为每秒钟340米(15℃时)。X2是声波返回的时刻,X1是声波发声的时刻,X2-X1得出的是一个时间差的{jd1}值,假定X2-X1=0.03S,则距离为340mx0.03S=10.2米。这就是超声波探头到反射物体之间的距离。
产品1:超声波测距学习成品板 成品每套129元
产品性能特点:
成品板上自带:超声波收发传感器、接收放大电路、四位LED数码显示、四位按键(四个按钮和蜂鸣器属于功能预留,程序中无定义),电源部分自带整流、滤波、稳压电路,允许交流7~15V或者直流9~16V输入,经过实际测试,测量范围可达27~250厘米,测量精度为1厘米。因为我们能提供完整的源程序,客户不但可以学习超声波测距的知识,还可以直接将这项技术用于产品开发,是不可多得的资料。
答疑xx:
1、为什么你们选40KHZ的超声波传感器?
因为超声波在空气中传播时衰减很大,衰减的程度与频率成正比,但是频率越高则分辨力也会越高,所以短距离测量时一般选频率高的传感器(100KHZ以上),长距离测距只能选频率低的传感器。
2、为什么你们的最小检测距离为27厘米?
为了防止超声波发射传感器发出超声波沿电路板或者外壳直接进入超声波接收传感器内引起误判断,所以程序要求超声波发射若干时间后必须停止若干时间,这个时间大约是超声波在空气中传播20多厘米的时间,这段时间内是不接受信号的,主要就是为了躲开直接传导的信号避免引起误判断。
3、电路板上的四个按钮和蜂鸣器有啥作用?
这是为后续开发应用所预留的,例如你可以在程序中定义为开关功能,按下一个按键,电路板开始测距、按下另一个按键电路板停止测距,或者定义为多档距离报警设定,当检测到低于设定距离时,驱动蜂鸣器报警。其实我们的电路板您也可以加以改进,例如用1602的液晶模块代替数码管显示、增加语音电路实现语音播报探测距离等等。
4、为什么我的板不管前面有无遮挡物总是显示27呢?
这是因为标有T字样的超声波接收头没有收到正确的回波信息导致工作异常引起的,我们发现接收头比较娇嫩,轻微的磕碰就会导致内部器件错位影响正常工作,但是你只要稍稍旋转或者上下拨动一下接收头,很多情况就会排除故障又能正常工作了。
超声波专用发射接收头 标有T字样的是发射头,标有R字样的是接收头
超声波测距板配套12V1A稳压电源
下图是超声波测距学习板的元件布局图,点击这里可以看到
以下是部分汇编源程序,购买我们产品后我们可以通过电子邮件将完整的单片机汇编源程序和烧写文件发送给客户。
;///////////////////////////////////////////////////////
; 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为{zg}位)
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为{zg}位,43H为{zd1}位,先扫描高位
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 ;{zg}位为零,不点亮
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,先看{zg}位是否为不亮
SUBB A,#0AH
JNZ JJ1
MOV 41H,#0AH ;{zg}位不亮,次高位也不亮
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
超声波测距学习板全部元件清单:
AT_ISP DC3-10 座子
STC_ISP 3 芯单排针
C6 330P
C7 104
C8 104
C9 473
C10 3.3UF/25V
C11 104
C15 470UF/25V
C16 470UF/25V
C17 3.3UF/25V
C19 3.3UF/25V
C20 20P
C25 20P
D1 (电源指示灯) φ3 LED(红色)
D2 206 桥堆
DS1 0.5 寸数码管
DS2 0.5 寸数码管
DS3 0.5 寸数码管
DS4 0.5 寸数码管
J3( POWER) 电源插座
J4 CX20106
LS1 [TX(F)] 超声波发射管
LS4 [RX(S)] 超声波接收管
LS3(SPEAK) +5V 有源蜂鸣器
Q1 9012
Q2 9012
Q3 9012
Q4 9012
Q6 9012
R8 1K
R9 1K
R10 2K
R11 2K
R12 2K
R13 2K
R14 4.7
R15 200K
R16 220K
R17 1K
R18 1K
R19 1K
R20 1K
R25 1K
R26 1K
R28 1K
R29 1K
R30 1K
R31 2K
R32 10K
RL1 排阻A103
S1(K1) 12X12 按键
S2(K2) 12X12 按键
S3(K3) 12X12 按键
S4(K4) 12X12 按键
S10(RST) 6X6 按键
XT1 12MHZ
U7 7805
U5(AT89S51) IC-40P 座子
U6(74LS245) IC-20P 座子
U4(74LS04) IC-14P 座子
4 个数码管插座IC-40P 座子
产品2:超声波移动报警探测器 每套49元
超声波移动探测器是一种新型的检测器件,它利用超声波测距的原理,工作时向周围空间发射超声波信号,当周围空间出现移动的物体时,会引起超声波声场的扰动,从而触发探测器报警,输出下拉信号。
应用说明:
本产品主要的应用领域是汽车内部的报警检测,它可以实现车门被打开瞬间或者是小偷从打开的车窗中拿走物品时立即报警,一般汽车防盗xxx都配备振动传感器,振动传感器通常也是采用三极管集电极开路输出方式,所以我们的超声波移动探测器可以直接代替原车的振动传感器,甚至可以直接和原车的振动传感器并联,就能实现振动和超声波移动双检测(请有一定技术把握时操作)
本产品也可用于楼房、小区通道、商铺等无人值守的地方进行探测,和常用的红外检测技术相比,红外对环境要求很高,不能使用在室外或者空气流通大的场合,而超声波对环境的要求低很多,适应性更强。
性能参数:
A、工作电压:DC12V(内部有78L08稳压后供电)
B、输出方式:NPN三极管集电极开路输出,输出下拉信号
C、探测距离:0~5米
D、工作频率:40KHz
E、工作电流:10mA
注意事项:
A、使用时超声波的发射头和接收头不能挤压
B、使用时发射线和接收线不要相互缠绕
C、输出端不能直接接正电源,会烧毁内部的驱动三极管的,应该通过负载接正电源,或者直接接单片机的输入口。
D、灵敏度较高时,超声波发射头和接收头不能靠得太近。