高速暂存RAM的第6、7、8字节保留未用,表现为全逻辑1。第9字节读出前面所有8字节的CRC码,可用来检验数据,从而保证通信数据的正确性。
当DS18B20接收到温度转换命令后,开始启动转换。转换完成后的温度值就以16位带符号扩展的二进制补码形式存储在高速暂存存储器的第1、2字节。单片机可以通过单线接口读出该数据,读数据时低位在先,高位在后,数据格式以0.0625℃/LSB形式表示。
当符号位S=0时,表示测得的温度值为正值,可以直接将二进制位转换为十进制;当符号位S=1时,表示测得的温度值为负值,要先将补码变成原码,再计算十进制数值。表2-3是一部分温度值对应的二进制温度数据。
表2-2 DS18B20温度转换时间表
R1 R0 分辨率/位 温度最大转向时间/ms
0 0 9 93.75
0 1 10 187.5
1 0 11 375
1 1 12 750
表2-3 一部分温度对应值表
温度/℃ 二进制表示 十751进制表示
+125 0000 0111 1101 0000 07D0H
+85 0000 0101 0101 0000 0550H
+25.0625 0000 0001 1001 0000 0191H
+10.125 0000 0000 1010 0001 00A2H
+0.5 0000 0000 0000 0010 0008H
0 0000 0000 0000 1000 0000H
-0.5 1111 1111 1111 0000 FFF8H
-10.125 1111 1111 0101 1110 FF5EH
-25.0625 1111 1110 0110 1111 FE6FH STC89C52单片机的鸡舍温度控制器软件设计(7):http://www.751com.cn/zidonghua/lunwen_3017.html