DS18S20
5 的 27
运作 – 测量 温度
这 核心 符合实际 的 这 ds18s20 是 它的 直接-至-数字的 温度 传感器. 这 直接 读出 的
温度 数据 是 9 位 宽, equating 至 一个 决议 的 0.5
°
c; 如果 高等级的 决议 是 desired, 一个
algorithm 是 描述 后来的 在 这个 部分 至 达到 那 需要. 下列的 这 issuance 的 这 转变 t
[44h] command, 一个 温度 转换 是 执行 和 这 热的 数据 是 贮存 在 这 scratchpad
记忆 在 一个 16-位, sign-扩展 二’s complement format. 这 温度 信息 能 是
retrieved 在 这 1-线 接口 用 issuing 一个 读 scratchpad [beh] command once 这 转换
有 被 执行. 这 数据 是 transferred 在 这 1-线 总线, lsb 第一. 这 msb 的 这 温度
寄存器 包含 这 “sign” (s) 位, denoting whether 这 温度 是 积极的 或者 负的.
表格 2 describes 这 精确的 relationship 的 输出 数据 至 量过的. 为 华氏的 用法, 一个 lookup 表格
或者 转换 routine 必须 是 使用.
温度/数据 relationships
表格 2
2
6
2
5
2
4
2
3
2
2
2
1
2
0
2
-1
LSB
MSb
(单位 =
°
c)
LSb
S SSSSSSSMSB
温度 数字的 输出
(二进制的)
数字的
输出
(十六进制)
+85°C 0000 0101 0101 0000 0550h*
+125°C 0000 0000 1111 1010 00FAh
+25.0°c 0000 0000 0011 0010 0032h
+0.5°c 0000 0000 0000 0001 0001h
0°C 0000 0000 0000 0000 0000h
-0.5°c 1111 1111 1111 1111 FFFFh
-25.0°c 1111 1111 1100 1110 FFCEh
-55°c 1111 1111 1001 0010 FF92h
*the 电源 在 重置 寄存器 值 是 +85°c
高等级的 resolutions 将 是 得到 用 这 下列的 程序. 第一, 读 这 温度,
计数_仍然是, 和 计数_每_c 寄存器 从 这 scratchpad. truncate 这 0.5
°
c 位 (这
lsb) 从 这 温度 值. 这个 值 是 温度_读. 这 真实的 温度 将 然后 是
计算 用 使用 这 下列的:
CPERCOUNT
REMAINCOUNTCPERCOUNT
READTEMPETEMPERATUR
__
___
25.0_
−
+−=
运作 – alarm signaling
之后 这 ds18s20 有 执行 一个 温度 转换, 这 温度 值 是 对照的 至 这
触发 值 贮存 在 th 和 tl. 自从 这些 寄存器 是 8–bit 仅有的, 这 0.5
°
c 位 是 ignored 为
comparison. 这 大多数 重大的 位 的 th 或者 tl 直接地 corresponds 至 这 sign 位 的 这 16–bit
温度 寄存器. 如果 这 结果 的 一个 温度 度量 是 高等级的 比 th 或者 更小的 比 tl, 一个
alarm 标记 inside 这 设备 是 设置. 这个 标记 是 updated 和 每 温度 度量. 作 长 作