智能温度传感器应用
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(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]
《单片机课程设计》
温度传感器
集成单片温度传感器——DS18B20
性能特点
独特的单线接口 通过并联可实现多点组网功能; 无需外部器件 供电电压范围为3.0~5.5V; 零待机功耗 温度以9或12位数字量读出 用户可定义的非易失性温度报警设置 报警搜索命令识别并标志超过程序限 定温度的器件 负电压特性,电源极性接反时,温度 计不会烧毁
00000000
11111111
11111000
11111111
01011110
11111110
01101111
11111100
10010000
《单片机课程设计》
TM
十六进制表示
07D0H 0550H 0191H 00A2H 0008H 0000H FFF8H FF5EH FE6FH FC90H
6
6
温度/
+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
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
DS18B20测温原理
斜率累加器 预置
低温度系数振荡器
减法计数器1
计数比较器 预置
高温度系数振荡器
《单片机课程设计》
增加 减到0 减法计数器2
温度寄存器 停止
减到0
TM
7
7
DS18B20测温原理
上图中低温度系数晶振的振荡频率受温度影响很小,用于产 生固定频率的脉冲信号送给计数器1。高温度系数晶振的振 荡频率随温度变化明显改变,所产生的信号作为计数器2的 脉冲输入。
《单片机课程设计》
TL 用户定义2 容用于确定温度值的数字转换分辨
配置寄存器 率。DS18B20工作时按此寄存器中
保留
的分辨率将温度转换为相应精度的
保留
数值。第6、7、8字节保留未用,
保留
为全逻辑1。第9字节读出前面8个
字节的CRC码,用来检验数据,从
CRC
而保证通信数据的正确性。
.
.
《单片机课程设计》
TM
3
3
配置寄存器的字节定义及分辨率的设置规定
斜率累加器用于补偿和修正测温过程中的非线性,其输出用 于修正计数器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]
小数二 进制值
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线制与单片机相连,减少了外部硬 件电路,具有低成本和易使用的特点。
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
9
9
温度数据的计算处理方法
转换完毕的温度数据存放在LS字节和MS字节,MS 字节的低半字节和LS字节的高半字节合成一个字节,
化成十进制后为温度的整数部分。
LS字节的低半字节化成十进制后,就是温度的小 数部分。
采用1位数码管来显示小数,即精确到0.1度,小 数部分二进制和十进制的近似对应关系如下:
计数器1和温度寄存器被预置为—55摄氏度时对应的一个基 数值。计数器1对低温度系数晶振产生的脉冲信号进行减法 计数,当计数器1的计数值减到0时,温度寄存器的值将加1 ,计数器1的预置值将重新被装入,计数器1重新开始对低温 度系数晶振产生的脉冲信号进行计数,如此循环直至计数器 2计数到0时,停止温度寄存器值的累加,此时温度寄存器中 的数值即为所测温度。
《单片机课程设计》
TM
1
1
DS18B20的内部结构
I/O
VDD 64位ROM的位结构如下图所示。
《单片机课程设计》
TM
2
2
高速暂存RAM的9字节信息
.
.
温度 LSB
前两个字节包含测得的温度信息。
温度 MS B TH 用户定义1
第3和第4字节是TH和TL的拷贝, 是易失的,每次上电复位时被刷 新。第5字节为配置寄存器,其内
《单片机课程设计》
TM
4
4
转换温度后的数据值格式
当DS18B20接收到温度转换命令后,开始启动转换。转换完成
后的温度值以16位带符号扩展的二进制补码形式存储在高速暂
存储器的第1、2字节。单片机可以通过单线接口读出该数据
,读数据时低位在前,高位在后,数据格式以0.0625 0 C/LSB形
式表示。温度值格式如下:
《单片机课程设计》
温度传感器
集成单片温度传感器——DS18B20
性能特点
独特的单线接口 通过并联可实现多点组网功能; 无需外部器件 供电电压范围为3.0~5.5V; 零待机功耗 温度以9或12位数字量读出 用户可定义的非易失性温度报警设置 报警搜索命令识别并标志超过程序限 定温度的器件 负电压特性,电源极性接反时,温度 计不会烧毁
00000000
11111111
11111000
11111111
01011110
11111110
01101111
11111100
10010000
《单片机课程设计》
TM
十六进制表示
07D0H 0550H 0191H 00A2H 0008H 0000H FFF8H FF5EH FE6FH FC90H
6
6
温度/
+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
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
DS18B20测温原理
斜率累加器 预置
低温度系数振荡器
减法计数器1
计数比较器 预置
高温度系数振荡器
《单片机课程设计》
增加 减到0 减法计数器2
温度寄存器 停止
减到0
TM
7
7
DS18B20测温原理
上图中低温度系数晶振的振荡频率受温度影响很小,用于产 生固定频率的脉冲信号送给计数器1。高温度系数晶振的振 荡频率随温度变化明显改变,所产生的信号作为计数器2的 脉冲输入。
《单片机课程设计》
TL 用户定义2 容用于确定温度值的数字转换分辨
配置寄存器 率。DS18B20工作时按此寄存器中
保留
的分辨率将温度转换为相应精度的
保留
数值。第6、7、8字节保留未用,
保留
为全逻辑1。第9字节读出前面8个
字节的CRC码,用来检验数据,从
CRC
而保证通信数据的正确性。
.
.
《单片机课程设计》
TM
3
3
配置寄存器的字节定义及分辨率的设置规定
斜率累加器用于补偿和修正测温过程中的非线性,其输出用 于修正计数器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]
小数二 进制值
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线制与单片机相连,减少了外部硬 件电路,具有低成本和易使用的特点。
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
9
9
温度数据的计算处理方法
转换完毕的温度数据存放在LS字节和MS字节,MS 字节的低半字节和LS字节的高半字节合成一个字节,
化成十进制后为温度的整数部分。
LS字节的低半字节化成十进制后,就是温度的小 数部分。
采用1位数码管来显示小数,即精确到0.1度,小 数部分二进制和十进制的近似对应关系如下:
计数器1和温度寄存器被预置为—55摄氏度时对应的一个基 数值。计数器1对低温度系数晶振产生的脉冲信号进行减法 计数,当计数器1的计数值减到0时,温度寄存器的值将加1 ,计数器1的预置值将重新被装入,计数器1重新开始对低温 度系数晶振产生的脉冲信号进行计数,如此循环直至计数器 2计数到0时,停止温度寄存器值的累加,此时温度寄存器中 的数值即为所测温度。
《单片机课程设计》
TM
1
1
DS18B20的内部结构
I/O
VDD 64位ROM的位结构如下图所示。
《单片机课程设计》
TM
2
2
高速暂存RAM的9字节信息
.
.
温度 LSB
前两个字节包含测得的温度信息。
温度 MS B TH 用户定义1
第3和第4字节是TH和TL的拷贝, 是易失的,每次上电复位时被刷 新。第5字节为配置寄存器,其内
《单片机课程设计》
TM
4
4
转换温度后的数据值格式
当DS18B20接收到温度转换命令后,开始启动转换。转换完成
后的温度值以16位带符号扩展的二进制补码形式存储在高速暂
存储器的第1、2字节。单片机可以通过单线接口读出该数据
,读数据时低位在前,高位在后,数据格式以0.0625 0 C/LSB形
式表示。温度值格式如下: