图2.4 DS18B20引脚图
DS18B20测量温度的分辨率可设定为9~12位,即精度可以设定为0.5、0.25、0.125、0.0625。
表2.2 DS18B20温度数值的存储格式
温度 数字输出(二进制) 数字输出(十751进制)
+125℃ 0000 0111 1101 0000 07D0H
+20.0625℃ 0000 0001 0100 0001 0141H
+9.125℃ 0000 0000 1001 0010 0092H
+0.5℃ 0000 0000 0000 1000 0008H
0℃ 0000 0000 0000 0000 0000H
-0.5℃ 1111 1111 1111 1000 0FFF8H
-8.125℃ 1111 1111 1000 1110 0FF8EH
-30.0625℃ 1111 1111 1110 1111 0FFEFH
-55℃ 1111 1100 1001 0000 0FC90H
因为每一个DS18B20在出厂时已经给定了唯一的序号,所以任意多个DS18B20可以共用同一条信号线[7]。这样单片机可以只分出一个IO口控制温度传感器,而其余的IO口可以串接其他芯片。这也是单总线设备的优势。
DS18B20工作过程分为:初始化、ROM命令、RAM命令、处理数据。
初始化:启动温度转换。
ROM操作命令:主机检测到已经连接的DS18B20,便可以发出ROM操作命令之一。
表2.3 ROM指令[8]
指 令 代码
Read ROM(读ROM) 33H
Match ROM(匹配ROM) 55H
Skip ROM(跳过ROM) CCH
Search ROM(搜索ROM) F0H
Alarm ROM(告警搜索) ECH
RAM操作指令:进行读取温度过程
表2.4 RAM指令[8]
指 令 代码
Write scratchpad(写暂存器) 4EH
Read scratchpad(读暂存器) BEH
Copy scratchpad(复制暂存器) 48H
Convert temperature(转换温度) 44H
Recall EPROM(重新调出) B8H
Read power supply(读电源) B4H
主机利用时间间隙来读写DS18B20的数据位和写命令字的位 51单片机的数据采集和近距离无线传输系统设计(4):http://www.751com.cn/zidonghua/lunwen_11473.html