基于单片机温测系统.docVIP

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于单片机温测系统

2.4 DS18B20 测温过程 ???? 1-WIRE 网络具有严谨的控制结构,其结构如图所示,一般通过双绞线与 1-WIRE 元件进行数据通信,它们通常被定义为漏极开路端点,主 / 从式多点结构,而且一般都在主机端接上一个上拉电阻 +5V 电源。通常为了给 1-WIRE 设备提供足够的电源,需要一个 MOSFET 管将 1-WIRE 总线上拉至 +5V 电源。 DS18B20组成的1-WIRE网络 ???? 1-WIRE 网络通信协议是分时定义的,有严格的时隙概念,下图是复位脉冲的时隙。 1-WIRE协议的复位脉冲时隙 1-WIRE读写“0/1”时隙 ???? DS18B20 单线通信功能是分时完成的,他有严格的时隙概念,如果出现序列混乱,1-WIRE 器件将不响应主机,因此读写时序很重要。系统对 DS18B20 的各种操作必须按协议进行。根据 DS18B20 的协议规定,微控制器控制 DS18B20 完成温度的转换必须经过以下 4 个步骤 :每次读写前对 DS18B20 进行复位初始化。复位要求主 CPU 将数据线下拉 500s ,然后释放, DS18B20 收到信号后等待 16s~60us 左右,然后发出 60s~240us 的存在低脉冲,主 CPU 收到此信号后表示复位成功。 ???? 发送一条 ROM 指令,如表所示:指令名称 指令代码 指令功能 读 ROM 33H 读 DS18B20ROM 中的(即读 64 位地址) ROM 匹配(符合 ROM ) 55H 发出此命令之后,接着发出 64 位 ROM 编码,访问单总线上与编码相对应 DS18B20 使之作出响应,用于多个DS1820时定位搜索 ROM 0F0H 用于确定挂接在同一总线上 DS18B20 的个数和识别 64 位 ROM 地址,为操作各器件作好准备 跳过 ROM 0CCH 忽略 64 位 ROM 地址,直接向 DS18B20 发温度变换命令,警报搜索 0ECH 该指令执行后,只有温度超过设定值上限或下限的片子才做出响应 ???? 发送存储器指令,如表所示DS18B20 的存储器指令集指令名称 指令代码 指令功能 温度变换 44H 启动 DS18B20 进行温度转换,转换时间最长为 500ms (典型为 200ms ),结果存入内部 9 字节 RAM 中 读暂存器 0BEH 读内部RAM中9写暂存器 4EH 发出向内部 RAM 的第3 ,4字节写上,下限温度数据命令,紧跟该命令之后,是传送两字节的数据 复制暂存器 48H 将 RAM 中第 3 , 4 字节的内容复制到 EEPROM 中 重调 EEPROM 0B8H EEPROM 中的内容恢复到 RAM 中的第 3 , 4 字节 读供电方式 0B4H 读 DS18B20 的供电模式,寄生供电时 DS18B20 发送“ 0 ”,外接电源供电 DS18B20 发送“ 1 ” 进行数据通信。 DS18B20使用注意事项 ???? DS1820 在实际应用中应注意以下几方面的问题:每一次读写之前都要对 DS18B20 进行复位,复位成功后发送一条 ROM 指令,最后发送 RAM 指令,这样才能对 DS18B20 进行预定的操作。复位要求主 CPU 将数据线下拉 500 秒,然后释放, DS18B20 收到信号后等待 16 ~ 60 秒左右,后发出 60 ~ 240 秒的存在低脉冲,主 CPU 收到此信号表示复位成功。所有的读写时序至少需要 60us ,且每个独立的时序之间至少需要 1us 的恢复时间。在写时序时,主机将在下拉低总线 15us 之内释放总线,并向单总线器件写 1 ;若主机拉低总线后能保持至少 60us 的低电平,则向单总线器件写 0 。单总线仅在主机发出读写时序时才向主机传送数据,所以,当主机向单总线器件发出读数据指令后,必须马上产生读时序,以便单总线器件能传输数据在写数据时,写 0 时单总线至少被拉低 60, 写 1 时 ,15 内就得释放总线。转化后得到的 12 位数据,存储在 18B20 的两个 8 比特的 RAM 中,二进制中的前面 5 位是符号位,如果测得的温度大于 0 ,这 5 位为 0 ,只要将测到的数值乘于 0.0625 即可得到实际温度;如果温度小于 0 ,这 5 位为 1 ,测到的数值需要取反加 1 再乘于 0.0625 即可得到实际温度。较小的硬件开销需要相对复杂的软件进行补偿,由于 DS1820 与微处理器间采用串行数据传送,因此,在对 DS1820 进行读写编程时,必须严格的保证读写时序,否则将无法读取测温结果。在使用 PL/M 、 C 等高级语言进行系统程序设计时,对 DS1820 操作部分最好采用汇编语言实现。在 DS1820 的有关资

文档评论(0)

xy88118 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档