找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

关于DS18B20的问题2,网络资料不统一

查看数: 2297 | 评论数: 4 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2021-3-16 18:32

正文摘要:

怎么查到的资料和教学的不一样,是有什么场景要求吗?

回复

ID:851164 发表于 2021-3-17 11:42
负温度的时候输出的是补码,需要转换成原码再计算温度值,补码转换原码的方法取反加一  和减一取反 效果是一样的.

以补码10010110为例,有两种计算方法求原码:
算法1:

补码=原码取反再加1的逆运算。

10010110是补码,应先减去1变为反码,得10010101;

由反码取得源码即除符号位外其他为按位取反,得11101010,即十进制数的-106。

算法2:

负数补码速算法,由最低位(右)向高位(左)查找到第一个1与符号位之间的所有数字按位取反的逆运算

10010110是补码,符号位与最后一个1之间的所有数字按位取反,得11101010

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

ID:390416 发表于 2021-3-16 22:38
数字温度传感器DS18B20 测温时序图 http://www.51hei.com/bbs/dpj-200465-1.html
ID:584814 发表于 2021-3-16 22:37
网络免费的资料统一了就怪了,本着实用试验的心态来取罢。
如果想找没问题的,付费即可。价越高可保证差误越小而且你可以写在合同里。
ID:213173 发表于 2021-3-16 21:49
int型数据的-1就是0xffff,去符号的方法是先减1再取反或先取反再加1是等同的
0xffff-1=0xfffe,取反=0x0001
0xffff取反=0x0000再+1=0x0001

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

Powered by 单片机教程网

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