基于DS18B20单片机温度控制器设计.docVIP

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

基于DS18B20单片机温度控制器设计   摘 要: DS18B20是新型的单线数字温度传感器,采用它与单片机连接测量温度可简化温度控制器的电路,提高可靠性。介绍了基于DS18B20的单片机温度控制器的设计。   关键词:DS18B20;8051单片机;温度      1 引言      传统的单片机温度控制器用热敏电阻测量温度,须包含模拟测量电路及A/D转换器,且占用单片机的口线多,必要时须增加I/O扩展接口芯片,电路器件多,降低了可靠性。而采用新型的单线数字温度传感器DS18B20测量温度则克服了上述缺点。DS18B20是美国DALLAS半导体公司近年推出的一种改进型智能温度传感器,与传统的热敏电阻相比,它能够直接读出被测温度,并可根据实际要求通过简单的编程实现9-12位的数字值读数方式,无需外加测量电路及A/D转换器,简化了电路;而且从DS18B20读出或写入信息仅需一根口线,大大降低了单片机的硬件资源占用。基于DS18B20的单片机温度控制器具有电路简单、可靠性高的优点。   本温度控制器对温度进行实时测量并显示,用户可设定最高限报警温度值和最低限报警温度值,有一定的温度控制功能。      2 DS18B20的特性      2.1 DS18B20的主要性能特点   (1) 独特的单线接口方式:当DS18B20与微处理器连接时,仅需要一条数据线即可实现与微处理器的双向通信。   (2)使用中不需要任何外围元件。   (3)测温范围为-55-+125℃。固有测温分辨率为0.5℃。   (4)通过编程可实现9-12位的数字读数方式。   (5)用户可设定非易失性的报警上下限值。   (6)多个DS18B20可并联在惟一的数据线上,实现多点测温。      2.2 DS18B20的引脚功能   GND为接地引脚,VCC为电源引脚。   DQ为双向数据线,用它与微处理器连接实现DS18B20与微处理器的双向通信。      3 温控器的具体功能及硬件连接      本温度控制器采用DS18B20与8051单片机连接测量温度,硬件连接如图2所示。对温度进行实时测量,并用二位数码管显示温度值的整数部分,一位数码管显示小数点后一位。   具体温度控制:当外界温度高于设定最高报警温度时,启动风扇降温,当温度降至最高报警温度以下,风扇即停止运转。当外界温度低于最低报警温度时,将发出报警声。   用户可设定最高限报警温度值和最低限报警温度值,这可通过按键实现。告警温度设定范围为1~99°C。      4 温控器的软件设计      4.1 DS18B20的软件设计   由于DS18B20是本温控器的温度测量核心器件,因此首先介绍其软件设计。   (1)DS18B20的操作协议。   对DS18B20的各种操作的软件设计必须依据其操作协议。   DS18B20的操作协议:每一次对DS18B20进行操作,必须先经过3个步骤:成功初始化DS18B20(复位DS18B20)-〉发送ROM操作指令-〉发送存储器操作指令,然后才能处理数据。   (2)DS18B20的程序设计。   ① DS18B20操作的通用子程序模块。   DS18B20单线通信功能是分时完成的,且有严格的时隙概念,因而时序很重要,对其操作的程序设计必须严格按照时序的先后次序与延时时间,才能保障对其操作的可靠实现。由DS18B20的操作协议,根据DS18B20的初始化时序、写时序、读时序要求,设计出对DS18B20操作的通用初始化子程序模块、写字节子程序模块、读字节子程序模块。   以下选取初始化子程序说明其设计:   初始化子程序INIT18B20的功能:对DS18B20进行一次复位,复位成功令FLAG标志置1,不成功令FLAG为0。子程序流程图如图3:   另两个子程序的功能如下:   写字节子程序WRITE18B20的功能:将单片机A寄存器中的字节写入DS18B20中;该子程序在DS18B20初始化成功后才能生效。   读字节子程序READ18B20的功能:从DS18B20中读出一个字节存放入A中。   ② 本温控器对DS18B20的操作的程序。   本温控器对DS18B20的操作的程序有两个:第一,参数设置程序CONFIG,功能:对DS18B20设置最高限告警温度和最低限告警温度、温度转换分辨率(选择范围9-12位)。第二,温度采集程序GETTEMP,功能:控制DS18B20进行温度转换,转换完成后,从它读取两个字节的温度值,低位字节存入TEMPL单元,高位字节存入TEMPH单元。它们的设计都是基于DS18B20的操作协议。以下选取GETTEMP说明其程序实现:   GETT

文档评论(0)

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

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

1亿VIP精品文档

相关文档