ZHCSD12A October 2014 – June 2022 TMP75B-Q1
PRODUCTION DATA
每次温度测量转换的 12 位数字输出会存储在只读温度寄存器中。要获得数据,必须读取两个字节;请参阅图 7-9。请注意,字节 1 是最有效字节,之后是字节 2,最低有效字节。温度结果是左对齐的,其中 12 个最高有效位用于指示温度。如果不需要低于 1°C 的分辨率,则无需读取第二个字节。表 7-1 总结了温度数据格式。一个 LSB 等于 0.0625°C,负数用二进制补码格式表示。
温度 (°C) | 数字输出 | |
---|---|---|
二进制 | 十六进制 | |
128 | 0111 1111 1111 | 7FF |
127.9375 | 0111 1111 1111 | 7FF |
100 | 0110 0100 0000 | 640 |
80 | 0101 0000 0000 | 500 |
75 | 0100 1011 0000 | 4B0 |
50 | 0011 0010 0000 | 320 |
25 | 0001 1001 0000 | 190 |
0.25 | 0000 0000 0100 | 004 |
0 | 0000 0000 0000 | 000 |
-0.25 | 1111 1111 1100 | FFC |
-25 | 1110 0111 0000 | E70 |
-55 | 1100 1001 0000 | C90 |
表 7-1 不提供所有温度的完整列表。使用以下规则获取给定温度的数字数据格式,反之亦然。
若要将正温度值转换为数字数据格式:
将温度除以分辨率。然后,将结果转换为 12 位、左对齐格式的二进制代码,MSB = 0 表示正号。
示例:(50°C) / (0.0625°C / LSB) = 800 = 320h = 0011 0010 0000
若要将正数字数据格式转换为温度:
将 12 位、左对齐二进制温度结果转换为十进制数,MSB = 0 表示正号。接着,将十进制数与分辨率相乘,得到正温度值。
示例:0011 0010 0000 = 320h = 800 × (0.0625°C / LSB) = 50°C
若要将负温度值转换为数字数据格式:
将温度绝对值除以分辨率,将结果转换为 12 位、左对齐格式的二进制代码。然后,对二进制数求反码再加一,生成结果的二进制补码。用 MSB = 1 来表示一个负数。
示例:(|–25°C|) / (0.0625°C / LSB) = 400 = 190h = 0001 1001 0000
二进制补码格式:1110 0110 1111 + 1 = 1110 0111 0000
若要将负数字数据格式转换为温度:
对二进制数求反码再加一,生成温度结果的 12 位、左对齐二进制数的二进制补码(MSB = 1 表示温度结果为负值)。它表示温度绝对值的二进制数。转换为十进制数并与分辨率相乘,得到绝对温度,再乘以 –1 得到负号。
示例:1110 0111 0000 的二进制补码为 0001 1001 0000 = 0001 1000 1111 + 1
转换为温度:0001 1001 0000 = 190h = 400; 400 × (0.0625°C / LSB) = 25°C = (|–25°C|); (|–25°C|) × (–1) = –25°C