标题:
单片机超声波测距HC-SR04,我想知道为什么最后的单位是毫米,我算出来单位非常小
[打印本页]
作者:
dan'ne'l
时间:
2020-6-3 19:37
标题:
单片机超声波测距HC-SR04,我想知道为什么最后的单位是毫米,我算出来单位非常小
假设系统使用的是单片机定时计数器T0。那么:
高电平持续时间=TO·T (3)
T为单片机的计数周期.需要注意的是,如果单片机采用
11.05926晶振的话.T的值为1.085us。
声速(331.5+温度*0.61)
根据公式1、公式2和公式3可以得出:
S=(331.5+温度*0.61)·TO·T/2 (4)
程序如下:
unsigned int Count0
{
Start0;
while(!ECHO);TR0=1;
while(ECHO);TR0=0;
distance=TH0*256+TI.O;
TH0=0;TLO=0;
distance=distance+(((temp+61+33 150)/200)+10.85)/10000;
retum distance;
J
其中.Start0为启动超声波模块函数.变量distance为被测距离.变量temp是当前测量的环境温度,计算后保留4位有效数字,单位是毫米。
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1