单片机从ds18b20读出的温度为什么是两个字节,比如说30度,读出的两个字节又是什么

2024-12-17 20:35:22
推荐回答(3个)
回答1:

两个字节中,D15D14D13D12D11D10D09D08 D07D06D05D04D03D02D01D00
其中D15D14D13D12D11是8个符号位,零上为00000,零下为11111
D03D02D01D00是小数位
中间8位为是整数位,如果是零下负温度则为补码。
30度读出来是:00000001 11100000

回答2:

默认状态是0.0625度/bit
30度 = 0x1e0 * 0.0625
就是说30度两个字节为 0x01 0xe0

回答3:

30度时,高字节是0x03,低字节是0x00
15.5°时,高字节是0x01,低字节是0x55
-10°时,高字节是0xf9,低字节是0x00