智能温度传感器应用
TM R 1 R 0 1 1 1 1 1
TM是测试模式位,用于设置DS18B20在工作模式还是在测试 模式。出厂时该位被设置为0,用户不用改动,R1和R0决定温 度转换的精度位数,即用来设置分辨率,定义方法如下:
R1
R0
0
0
0
1
1
0
1
1
分辨率/位 9 10 11 12
温度最大转换时间/ms 93.75 187.5 375 750
小数二 进制值
0
12
3
45678
9
ABCDE F
十进制 值
0
11
2 33445
6 678899
《单片机课程设计》
TM
10
10
DS18B20应用实例——数字温度计的设计
1、功能要求:
数字温度计要求测温范围在 30 ~ 1100C ,误差在 0.50C
以内,用LED数码管直读显示。
2、方案论证:
传统的测温元件有热电耦和热电阻,测出的一般是电压,再转 换成对应的温度,需要较多的硬件支持,硬件电路和软件设计 相对复杂,成本也不低。本设计采用美国DALLAS半导体公司推 出的一种改进型智能温度传感器DS18B20作为检测元件,测温 范围为 55 ~ 1250C,分辨率最大可达 0.06250C 。DS18B20可以直 接读出被测温度值,采用3线制与单片机相连,减少了外部硬 件电路,具有低成本和易使用的特点。
温度/
+125 +85 +25.0625 +10.125 +0.5
0 -0.5 -10.125 -25.0625 -55
二进制表示
00000111
11010000
00000101 01010000
00000001
10010001
00000000
10100010
00000000
00001000
00000000
00000000
11111111
11111000
11111111
01011110
11111110
01101111
11111100
10010000
《单片机课程设计》
TM
十六进制表示
07D0H 0550H 0191H 00A2H 0008H 0000H FFF8H FF5EH FE6FH FC90H
6
6
LS字节
23 22 21 20 2-1 2-2 2-3 2-4
MS字节
S S S S S 26 25 24
当符号位S=0时,表示测得的温度值为正值,可以直接将二 进制数转换为十进制数,当符号位S=1时,表示测得的温度 值为负值,要先将补码变成原码,再计算其对应的十进制数。
《单片机课程设计》
TM
5
5
DS18B20温度与测得二进制数值对应表
《单片机课程设计》
TM
4
4
转换温度后的数据值格式
当DS18B20接收到温度转换命令后,开始启动转换。转换完成
后的温度值以16位带符号扩展的二进制补码形式存储在高速暂
存储器的第1、2字节。单片机可以通过单线接口读出该数据
,读数据时低位在前,高位在后,数据格式以0.0625 0 C/LSB形
式表示。温度值格式如下:
《单片机课程设计》
TM
9
9
温度数据的计算处理方法
转换完毕的温度数据存放在LS字节和MS字节,MS 字节的低半字节和LS字节的高半字节合成一个字节,
化成十进制后为温度的整数部分。
LS字节的低半字节化成十进制后,就是温度的小 数部分。
采用1位数码管来显示小数,即精确到0.1度,小 数部分二进制和十进制的近似对应关系如下:
《单片机课程设计》
TM
1
1
DS18B20的内部结构
I/O
VDD 64位ROM的位结构如下图所示。
《单片机课程设计》
TM
2
2
高速暂存RAM的9字节信息
.
.
温度 LSB
前两个字节包含测得的温度信息。
温度 MS B TH 用户定义1
第3和第4字节是TH和TL的拷贝, 是易失的,每次上电复位时被刷 新。第5字节为配置寄存器,其内
斜率累加器用于补偿和修正测温过程中的非线性,其输出用 于修正计数器1的预置值。
《单片机课程设计》
TM
8
8
DS18B20的主要ROM命令
(1)Read ROM[33H] (2)Match ROM[55H]
(3)Skip ROM[ 0CCH](4)Seach ROM[0F0H] (5)Alarm Search[0ECH]
计数器1和温度寄存器被预置为—55摄氏度时对应的一个基 数值。计数器1对低温度系数晶振产生的脉冲信号进行减法 计数,当计数器1的计数值减到0时,温度寄存器的值将加1 ,计数器1的预置值将重新被装入,计数器1重新开始对低温 度系数晶振产生的脉冲信号进行计数,如此循环直至计数器 2计数到0时,停止温度寄存器值的累加,此时温度寄存器中 的数值即为所测温度。
温度传感器
集成单片温度传感器——DS18B20
性能特点
独特的单线接口 通过并联可实现多点组网功能; 无需外部器件 供电电压范围为3.0~5.5V; 零待机功耗 温度以9或12位数字量读出 用户可定义的非易失性温度报警设置 报警搜索命令识别并标志超过程序限 定温度的器件 负电压特性,电源极性接反时,温度 计不会烧毁
DS18B20测温原理
斜率累加器 预置
低温度系数振荡器
减法计数器1
计数比较器 预置
高温度系数振荡器
《单片机课程设计》
增加 减到0 减法计数器2
温度寄存器 停止
减到0
TM
7
7
DS18B20测温原理
上图中低温度系数晶振的振荡频率受温度影响很小,用于产 生固定频率的脉冲信号送给计数器1。高温度系数晶振的振 荡频率随温度变化明显改变,所产生的信号作为计数器2的 脉冲输入。
(6)Write Scratchpad[ 4EH] (7)Read Scratchpad[0BEH] (8)Copy Scratchpad[48H] (9)Convert T[ 44H] (10)Recall E2[0B8H] (11)Read Power Supply[0B4H]
《单片机课程设计》
TL 用户定义2 容用于确定温度值的数字转换分辨
配置寄存器 率。DS18B20工作时按此寄存器中
保留
的分辨率将温度转换为相应精度的
保留
数值。第6、7、8字节保留未用,
保留
为全逻辑1。第9字节读出前面8个
字节的CRC码,用来检验数据,从
CRC
而保证通信数据的正确性。
.
.
《单片机课程设计》
TM
3
3
配置寄存器的字节定义及分辨率的设置规定