8位产品系列号 |
48位产品序号 |
8位CRC编码 |
DS18B20高速暂存器共9个存存单元,如表所示:
序号 |
寄存器名称 |
作 用 |
序号 |
寄存器名称 |
作 用 |
0 |
温度低字节 |
以16位补码形式存放 |
4、5 |
保留字节1、2 |
|
1 |
温度高字节 |
6 |
计数器余值 |
|
|
2 |
TH/用户字节1 |
存放温度上限 |
7 |
计数器/℃ |
|
3 |
HL/用户字节2 |
存放温度下限 |
8 |
CRC |
|
以12位转化为例说明温度高低字节存放形式及计算:12位转化后得到的12位数据,存储在18B20的两个高低两个8位的RAM中,二进制中的前面5位是符号位。如果测得的温度大于0,这5位为0,只要将测到的数值乘于0.0625即可得到实际温度;如果温度小于0,这5位为1,测到的数值需要取反加1再乘于0.0625才能得到实际温度。
高8位 |
S |
S |
S |
S |
S |
26 |
25 |
24 |
低8位 |
23 |
22 |
21 |
20 |
2-1 |
2-2 |
2-3 |
2-4 |
1、DS18B20控制方法
在硬件上,DS18B20与单片机的连接有两种方法,一种是Vcc接外部电源,GND接地,I/O与单片机的I/O线相连;另一种是用寄生电源供电,此时UDD、GND接地,I/O接单片机I/O。无论是内部寄生电源还是外部供电,I/O口线要接5KΩ左右的上拉电阻。
DS18B20有六条控制命令,如表所示:
指 令 |
约定代码 |
操 作 说 明 |
温度转换 |
44H |
启动DS18B20进行温度转换 |
读暂存器 |
BEH |
读暂存器9个字节内容 |
写暂存器 |
4EH |
将数据写入暂存器的TH、TL字节 |
复制暂存器 |
48H |
把暂存器的TH、TL字节写到E2RAM中 |
重新调E2RAM |
B8H |
把E2RAM中的TH、TL字节写到暂存器TH、TL字节 |
读电源供电方式 |
B4H |
启动DS18B20发送电源供电方式的信号给主CPU |
CPU对DS18B20的访问流程是:先对DS18B20初始化,再进行ROM操作命令,最后才能对存储器操作,数据操作。DS18B20每一步操作都要遵循严格的工作时序和通信协议。如主机控制DS18B20完成温度转换这一过程,根据DS18B20的通讯协议,须经三个步骤:每一次读写之前都要对DS18B20进行复位,复位成功后发送一条ROM指令,最后发送RAM指令,这样才能对DS18B20进行预定的操作。
三、基于DS18B20的温度测量装置
1、系统组成
由DS18B20构成的智能温度测量装置由三部分组成:DS18B20温度传感器、89C2051、显示模块。产品的主要技术指标:①测量范围:-55℃-+125℃,②测量精度:0.5℃,③反应时间≤500ms。
2、 工作原理