- 1、本文档共17页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
DS18B20 温度传感器(详细案列+程序)
硬件介绍
1.1 主要特征
(1) 独特的单线接口方式,只需一个接口引脚即可通信;
(2) 每一个 DS18B20 都有一个唯一的 64 位 ROM 序列码;
(3) 在使用中不需要任何外围元件;
(4) 可用数据线供电,电压范围:+3.0V-+5.5 V;
(5) 测温范围:-55℃ -+125℃,在-10℃-+85℃范围内精度为+0.5℃,分辨率为 0.0625℃;
(6) 通过编程可实现 9-12 位的数字读数方式。温度转换成 12 位数字信号所需时间最长为 750ms,而在 9 位
分辩模式工作时仅需 93.75ms;
(7) 用户可自设定非易失性的报警上下限值;
(8) 告警搜索命令可识别和定位那些超过报警限值的 DS18B20;
(9) 多个 DS18B20 可以并联在惟一的三线上,实现多点测温;
(10)电源极性接反时,DS18B20 不会因发热而烧毁,但不能正常工作;
1.2 外形与接线
引脚图 接线图
DS18B20 引脚定义:
DQ 为数字信号输入/输出端;
GND 为电源地;
VDD 为外接供电电源输入端(在寄生电源接线方式时接地)。
内部结构与介绍
2.1 内部结构
存储器和控制器
电
源
检
测
64位
ROM
和
单线
接口
高速
缓存
存储器
温度灵敏元件
低温触发器TL
高温触发器TH
配置寄存器
8位CRC生成器
内部结构图
2. 2 DS18B20 内部存储器及温度数据格式
对于 DS18B20 内部存储器结构(见下图),它包括一个暂存 RAM 和一个非易失性电可擦除 EERAM,后者存
放报警上下限 TH、TL。当改变 TH、T L 中的值时,数据首先被写进暂存器的第二、三字节中,主机可再读
出其中内容进行验证。如果正确,当主机发送复制暂存器命令,暂存器的第二、三字节将被复制到 TH、TL
中,这样处理有利于确保该数据在单总线上传输的完整性[7]。
(暂存 RAM) EERAM 结构(电可擦写 RAM)
暂存存储器作用是在单线通信时确保数据的完整性,它由 8 字节组成,头两个字节表示测得的温度读数。
以 12 位转化为例说明温度高低字节存放形式(温度的存储形式如表 3.1)及计算:12 位转化后得到的 12
位数据,存储在 18B20 的两个高低 8 位的 RAM 中,二进制中的前面 5 位是符号位。如果测得的温度大于 0,
这 5 位为 0,只要将测到的数值乘于 0.0625 即可得到实际温度;如果温度小于 0,这 5 位为 1,测到的数值
需要取反加 1,再乘于 0.0625 才能得到实际温度[8]。
表 3.1 温度的存储形式
高 8 位 S S S S S 26 25 24
低 8 位 23 22 21 20 2-1 2-2 2-3 2-4
S=1 时表示温度为负,S=0 时表示温度为正,其余低位以二进制补码形式表示,最低位为 1 时表示 0.0625℃ 。
温度/数字对应关系如表 3.2 所示。
表 3.2 DS18B20 温度/数字对应关系表
温度(℃) 输出的二进制码 对应的十六进制码
+125 0000 0111 1101 0000 07D0H
+85 0000 0101 0101 0000 0550H
+25.0625 0000 0001 1001 0001 0191H
+10.125 0000 0000 1010 0010 00A2H
+0.5 0000 0000 0000 1000 0008H
0 0000 0000 0000 0000 0000H
-0.5 1111 1111 1111 1000 FFF8H
-10.125 1111 1111 0110 1110 FF5EH
-25.0625 1111 1110 0110 1111 FF6FH
-55 1111 1100 1001 0000 FC90H
执行序列与介绍
3.1 执行序列
(1)初始化
(2)ROM 指令集
A.READ_ROM [33H] 读 ROM //可读出 64 位编码
B.MATCH_ROM [55H] 匹配 ROM//以此指令对某一个 1820 操作
C.SKIP_ROM [CCH] 跳过 ROM//用于总线只有一个 1820
D.SEARCH_ROM [F0H] 搜索 ROM//用于一次读取多个 1820 的 64 位编码
E.ALARM_SEARCH [ECH] 报警搜索 ROM//从多个 1820 中搜索哪个在报警
(3)DS18B20 功能指令(暂存器指令集)
A.温度转换 [44H] 启动 DS18B20 进行温度转换
B.读暂存器 [BEH] 读暂存器 9 个字节内容
C.写暂存器 [4EH] 将数据写入暂存器的 TH、TL 字节
文档评论(0)