全球旧事资料 分类
确性。
当DS18B20接收到温度转换命令后,开始启动转换。转换完成后的温度值就以16位带符号扩展的二进制补码形式存储在高速暂存存储器的第1、2字节。单片机可以通过单线接口读出该数据,读数据时低位在先,高位在后,数据格式以00625℃/LSB形式表示。
当符号位S=0时,表示测得的温度值为正值,可以直接将二进制位转换为十进制;当符号位S=1时,表示测得的温度值为负值,要先将补码变成原码,再计算十进制数值。
表24是一部分温度值对应的二进制温度数据。
8
fR10011
温度℃12525050052555
表3-3DS18B20温度转换时间表
R0
分辨率位温度最大转向时间ms
0
9
9375
1
10
1875
0
11
375
1
12
750
表3-4一部分温度对应值表
数字输出(二进制)000000001111101000000000001100100000000000000001
00000000000000001111111111111111
1111111111001110
1111111110010010
数字输出(十六进制)00FAH0032H0001H
0000HFFFFH
FFCEH
FF92H
32DS18B20的测温原理
每一片DSl8B20在其ROM中都存有其唯一的64地址位序列号,在出厂前已写入片内ROM中。主机在进入操作程序前必须用读ROM33H命令将该DSl8B20的序列号读出。
程序可以先跳过ROM,启动所有DSl8B20进行温度变换,之后通过匹配ROM,再逐一地读回每个DSl8B20的温度数据。
DS18B20的测温原理如图33所示。低温度系数晶振的振荡频率受温度的影响很小,用于产生固定频率的脉冲信号送给减法计数器1,高温度系数晶振随温度变化其震荡频率明显改变,所产生的信号作为减法计数器2的脉冲输入,图中还隐含着计数门,当计数门打开时,DS18B20就对低温度系数振荡器产生的时钟脉冲后进行计数,进而完成温度测量。计数门的开启时间由高温度系数振荡器来决定,每次测量前,首先将55℃所对应的基数分别置入减法计数器1和温度寄存器中,减法计数器1和温度寄存器被预置在55℃所对应的一个基数值。减法计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当减法计数器1的预置值减到0时温度寄存器的值将加1,减法计数器1的预置将重新被装入,减法计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到减法计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。
9
f图23中的斜率累加器用于补偿和修正测温过程中的非线性,提高测量准确制度。其输出用于修正减法计数器的预置值,只要计数门仍未关闭就重复上述过程,直至温度寄存器值达到被测温度值。
斜坡累加器
预置
计数比较器
低温度系数振荡器
r
好听全球资料 返回顶部