ds18b20温度传感器详解带c程序.doc

  1. 1、本文档共17页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 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)

xina171127 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档