找回密码
 立即注册

QQ登录

只需一步,快速开始

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

关于DS18B20数据转换temp=tp*0.0625*100+0.5

[复制链接]
跳转到指定楼层
楼主
在学习DS18B20程序时,怎么理解数据转换 temp=tp*0.0625*100+0.5;

求大神分别 解释一下* 0.0625;*100;+0.5 的具体含义?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:627942 发表于 2024-5-3 14:12 | 只看该作者
*100表示保留小数两位,+0.5表示对第三位小数四舍五入。
回复

使用道具 举报

板凳
ID:627942 发表于 2024-5-3 14:12 | 只看该作者
*100表示保留小数两位,+0.5表示对第三位小数四舍五入。
回复

使用道具 举报

地板
ID:69038 发表于 2024-5-3 17:40 | 只看该作者
个人觉得,18B20的小数用查表来的更方便快捷。。
u8 tt[16]={0,1,1,2,3,3,4,4,5,6,6,7,8,8,9,9},
就一个16成员的数组而已,18B20的分辩率虽有0.0625度,但精度+-0.5度,
所以小数点后一位的分辩率够用了。后两位显示出来,并没什么用。
且测温这种惯量容差大的应用,真需要高精度的,也用不上18B20了。
回复

使用道具 举报

5#
ID:712493 发表于 2024-5-4 08:39 | 只看该作者
zhuls 发表于 2024-5-3 17:40
个人觉得,18B20的小数用查表来的更方便快捷。。
u8 tt[16]={0,1,1,2,3,3,4,4,5,6,6,7,8,8, ...

楼主位的公式,编译器会当浮点计算?
回复

使用道具 举报

6#
ID:69038 发表于 2024-5-4 10:53 | 只看该作者
不确定,但可以编译一下看看。
回复

使用道具 举报

7#
ID:342197 发表于 2024-5-6 08:53 | 只看该作者
zhuls 发表于 2024-5-3 17:40
个人觉得,18B20的小数用查表来的更方便快捷。。
u8 tt[16]={0,1,1,2,3,3,4,4,5,6,6,7,8,8, ...

大神,请问一下 18B20的分辩率虽有0.0625度,怎么计算的?18B20输出数字量12位,但是量程是180℃,若用180/4095=0.043度?
回复

使用道具 举报

8#
ID:155507 发表于 2024-5-6 10:39 | 只看该作者
远征之路 发表于 2024-5-6 08:53
大神,请问一下 18B20的分辩率虽有0.0625度,怎么计算的?18B20输出数字量12位,但是量程是180℃,若用18 ...

关于DS18B20的分辨率,它的分辨率是由其内部的12位ADC(模数转换器)决定的。DS18B20的分辨率是0.0625度(1/16度)。 这意味着它可以将温度值转换为2的12次方(4096)个不同的数字化输出。因为DS18B20的温度范围是从 -55°C 到 +125°C,所以每个数字化输出代表的温度范围为(125°C - (-55°C)) / 4096 ≈ 0.043°C。这就是你提到的0.043度的计算方式。

所以,每个数字化输出代表大约0.043°C的温度变化,这就是为什么可以说DS18B20的分辨率是0.0625°C的原因。这个值比实际的分辨率稍微高一些,可能是由于精度损失或其他因素造成的。

此外,DS18B20的精度为±0.5°C,在 -10°C 到 +85°C 的范围内。这意味着在这个温度范围内,温度测量的准确度可以保证在±0.5°C之内。
回复

使用道具 举报

9#
ID:69038 发表于 2024-5-6 11:07 | 只看该作者
远征之路 发表于 2024-5-6 08:53
大神,请问一下 18B20的分辩率虽有0.0625度,怎么计算的?18B20输出数字量12位,但是量程是180℃,若用18 ...

手册中有,18B20测量范围是180C,是从-55到+125的:
Measures temperatures from –55°C to +125°C (–67°F to +257°F)
±0.5°C accuracy from –10°C to +85°C
看手册:

你看LSB的你4 位就是小数点后的值,共4bit,最低位就是0.0625C了
温度值传回来的是16bit,高低各一字节,数值从LSB.0到MSB.2,有效位是内容11bit.
而MSB的高5位(bit7-bit3)则表示正负温:全0正温,全1是负温。
正温直接取数,负温取补码。
说这些,只希望对你有点帮助。
建议你在器件选型时认前阅读相关的手册。。。
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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