打印

关于DS18B20的温度读取转换问题

[复制链接]
9386|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
yuse|  楼主 | 2009-10-31 21:32 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
按照18B20的DATASHEET图表并结合例程可知实际温度值应该是单片机读出的18B20温度值*0.0625 我计算过,0度以上确实如此,但是0度以下为何也满足呢?我计算后发现*0.0625后应该减去4096才得到表中对应温度值。一直都是直接套用,没有仔细考虑过。请教大家是怎么回事呢?谢谢

QQ截图未命名.jpg (115.49 KB )

QQ截图未命名.jpg

相关帖子

沙发
LZL_83| | 2009-10-31 22:52 | 只看该作者
负数是用补码表示的

使用特权

评论回复
板凳
不亦心| | 2009-11-1 12:14 | 只看该作者
LS正解

使用特权

评论回复
地板
yuse|  楼主 | 2009-11-1 16:44 | 只看该作者
谢谢 是我有些粗心了 也就是说单片机读出的直接就是个原码的补码 是个负的 然后我只需*0.0625换算就可以了吧

使用特权

评论回复
5
WLTXF| | 2009-11-1 17:36 | 只看该作者
判断数据的正负,若是负值,将读取到的数据转换为原码,再乘以0.0625,得到的数值的相反数,就是相应的零度以下的温度。显示的时候,在数值的前面加上“-”即可。

使用特权

评论回复
6
ningling_21| | 2009-11-1 18:10 | 只看该作者
连续工作4-5个小时为何读出的温度,比实际温度高出3-4度,难道是自升温?

使用特权

评论回复
7
328500920| | 2009-11-1 19:16 | 只看该作者
芯片自己也会发热

使用特权

评论回复
8
yuse|  楼主 | 2009-11-1 20:11 | 只看该作者
会有这种现象?稳定性那181B20还如何应用呢?我想不会吧...因为正好在做这个项目 上百个18B20 24小时工作不间断工作 6# ningling_21

使用特权

评论回复
9
yuse|  楼主 | 2009-11-1 20:13 | 只看该作者
会有这种现象?稳定性这么差 那181B20还如何应用呢?我想不会吧...因为正好在做这个项目 上百个18B20 而且需要工作时间呢不间断工作 7# 328500920

使用特权

评论回复
10
ningling_21| | 2009-11-1 20:33 | 只看该作者
9# yuse

你拿个温度计对比就知道了.

使用特权

评论回复
11
yuse|  楼主 | 2009-11-1 20:50 | 只看该作者
真如此,难道还得让设备工作一段时间停止一段时间?这样的话还如何达到要求呢?会不会是个别芯片出现这种现象,我想大部分应该不会的吧 呵呵 10# ningling_21

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

152

主题

453

帖子

0

粉丝