找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1304|回复: 0
打印 上一主题 下一主题
收起左侧

单片机超声波测距HC-SR04,我想知道为什么最后的单位是毫米,我算出来单位非常小

[复制链接]
跳转到指定楼层
楼主
ID:718252 发表于 2020-6-3 19:37 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
假设系统使用的是单片机定时计数器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位有效数字,单位是毫米。

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表