基于DS18B20在单片机AT89S52上实现的数字式温度计.docVIP

基于DS18B20在单片机AT89S52上实现的数字式温度计.doc

  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在单片机AT89S52上实现的数字式温度计 功能要求 数字式温度计要求测温范围为-50~110℃,精度误差在0.1 ? 方案论述 ? 在日常生活及工农业生产中经常要用到温度的检测及控制,传统的测温元件有热电偶和热电阻。而热电偶和热电阻测出的一般都是电压,再转换成对应的温度,需要比较多的外部硬件支持,硬件电路复杂,软件调试复杂,制作成本高。 ?? 本数字温度设计采用美国DALLAS半导体公司继DS1820之后推出的一种改进型智能温度传感器DS18B20作为检测元件,测温范围为-55~125℃,最大分辩率可达0.0625 ? 系统硬件电路的设计 温度计电路设计原理图如下图所示,控制器使用单片机AT89S52,温度传感器使用DS18B20,用4位共阴LED数码管以动态扫描法实现温度显示 基于DS18B20在单片机AT89S52上实现的数字式温度计 温度传感器工作原理 DS18B20功能特点 1.采用单总线技术,与单片机通信只需要一根I/O线,在一根线上可以挂接多个DS18B20。 2.每只DS18B20具有一个独有的,不可修改的64位序列号,根据序列号访问地应的器件。 3.低压供电,电源范围从3~5V,可以本地供电,也可以直接从数据线上窃取电源(寄生电源方式)。 4.测温范围为-55℃~+125℃,在-10℃~85 5.可编辑数据为9~12位,转换12位温度时间为750ms(最大) 6.用户可自设定报警上下限温度 7.报警搜索命令可识别和寻址哪个器件的温度超出预定值。 8.DS18B20的分辩率由用户通过EEPROM设置为9~12位 9.DS18B20可将检测到温度值直接转化为数字量,并通过串行通信的方式与主控制器进行数据通信。 ? DS18B20内部结构及功能 DS18B20的内部结构如下图所示,主要包括:寄生电源,温度传感器,64位ROM和单总线接口,存放中间数据的高速暂存器RAM,用于存储用户设定温度上下限值的TH和TL触发器,存储与控制逻辑,8位循环冗余校验码(CRC)发生器等7部分 ? 温度和数字量的关系 ROM操作命令 指令 说明 读ROM命令(33H) 读18B20的序行号 搜索ROM命令(F0H) 识别总线上各器件的编码 匹配ROM命令(55H) 用于多个DS18B20的定位 跳过ROM命令(CCH) 此命令执行后,存储器操作将针对总线上的所有操作 报警搜索ROM命令(ECH) 仅温度超限的器件对此命令做出响应 RAM操作命令 指令 说明 温度转换(44H) 启动温度转换 读暂存器(BEH) 读全部暂存器内容,包括CRC字节 写暂存器(4EH) 写暂存器第2,3和4个字节的数据 复制暂存器(48EH) 将暂存器中的TH,TL和配置寄存器内容复制到EEPROM中 读EEPROM(B8H) 将TH,TL和配置寄存器内容从EEPROM中回读至暂存器 字节 ROM RAM 0 产品代号 温度低8位 1 ? 48位 器件 序列 号 温度高8位 2 TH 3 TL 4 配置寄存器 5 保留 6 保留 7 CRC 保留 8 ? CRC 温度配置寄存器的格式如下 0 R1 R2 1 1 1 1 1 分辩率设置如表 R1 R2 分辩率设置/位 测温精度/C 转换时间/ms 0 0 9 0.5 93.75 0 1 10 0.25 187.5 1 0 11 0.125 375 1 1 12(默认) 0.0625 750 DS18B20的通信协议 DS18B20器件要求采用严格的通信协议,以保证数据的完整性。该协议定义了几种信号类型:复位脉冲,应答脉冲时隙;写0,写1时隙;读0,读1时隙。与DS18B20的通信,是通过操作时隙完成单总线上的数据传输。发送所有的命令和数据时,都是字节的低位在前,高位在后。 1.? 复位和应答脉冲时隙 每个通信周期起始于微控制器发出的复位脉冲,其后紧跟DS18B20发出的应答脉冲,在写时隙期间,主机向DS18B20器件写入数据,而在读时隙期间,主机读入来自DS18B20的数据。在每一个时隙,总线只能传输一位数据。 2.? 写时隙 当主机将单总线DQ从逻辑高拉为逻辑低时,即启动一个写时隙,所有的写时隙必须在60~120us完成,且在每个循环之间至少需要1us的恢复时间。写0和写1时隙如图所示。在写0时隙期间,微控制器在整个时隙中将总线拉低;而写1时隙期间,微控制器将总线拉低,然后在时隙起始后15us之释放总线。 3.? 读时隙 ?? DS18B20器件仅在主机发出读时隙时,才向主机传输数据。所以在主机发出读数据命令后,必须马上产生读时隙,以便DS18B20能够传输数据。所有的读时隙至少需要60us,且在两次独立的读时隙之间,至少需要1us的恢复时间。每个读时隙都由主机发起,至少拉低总线1us。

文档评论(0)

153****9595 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档