全球旧事资料 分类
距的原理,既超声波发生器T在某一时刻发出一个超声波信号,当这个超声波遇到被测物体后反射回来,就会被超声波接收器R接收到。这样,只要计算出从发出超声波信号到接收到返回信号所用的时间,就可算出超声波发生器于反射物体的距离。该距离的计算公式如下:
ds2v×t2
其中:d为被测物于测距器的距离;s为声波的来回路程;v为声速;t为声波来
f回所用的时间。超声波也是一种声波,其声速v于温度有关。表31列出了几种不同温度下
的超声波声速。在使用时,如果温度变化不大,则可认为声速基本不变的。如果测距精度要求很高,则应通过温度补偿的方法加以校正。声速确定后,只要测得超声波往返的时间,即可求得距离。表31不同温度下超声波声速表
温度℃
302010
0
10
20
30100
声波(ms)313319
325323
338
344349386
32主程序
主程序首先要对系统环境初始化,设置定时器T0工作模式为16位定时计
数器模式,置位总中断允许位EA并对显示端口P0和P2清0;然后调用超声波
发生子程序送出一个超声波脉冲。为了避免超声波从发射器直接传到接收器引起
的直射波,需要延时约01ms(这也就是超声波测距器会有一个最小可测距离的
原因)后才可打开外中断0接收返回的超声波信号。由于采用的是12MHz的晶振,
计数器每计一个数就是1us,所以当主程序检测到接收成功的标志位后,将计数
器T0中的数(即超声波来回所用的时间)按式(32)计算,即可得被测物体
与测距器之间的距离。设计时取20℃时的声速为344ms,则有
d(v×t)2(172T10000)cm
(32)
其中:T为计数器T0的计数值。
测出距离后,结果将以十进制BCD码方式送往LED显示约为05s,然后再发
超声波脉冲重复测量过程。图37所示为主程序流程图。
开始
系统初始化
发送超声波脉冲
等待反射超声波
计算距离
显示结果05s
STARTCLEARDISP
※※※※※※主程序※※※※※※
MOV
SP4FH
MOVR040H40H~43H为显示数据存放单元(40H为最高位)
MOV
R70BH
MOV
R000H
fINC
R0
DJNZR7CLEARDISP
MOV
20H00H
MOVTMOD21H;T1为8位自动重装模式,T0为16位定时器
MOV
TH000H
65ms初值
MOV
TL000H
MOV
TH10F2H40kHz初值
MOV
TL10F2H
MOV
P00FFH
MOV
P10FFH
MOV
P20FFH
MOV
P30FFH
MOV
R404H
超声波脉冲个数控制(为赋值的一半)
SETB
PX0
SETB
ET0
SETB
EA
SETB
TR0
;开启测试定时器
START1
LCALLDISPLAY
JNB
00HSTART1收到反射信号时标志位为1
CLR
EA
LCALLWORK
SETBEA
CLR
00H
SETBTR0
重新开启测试定时器
MOV
r
好听全球资料 返回顶部