基于a89c51的温度测量系统.docxVIP

  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文档。上传文档
查看更多
基于a89c51的温度测量系统 1 ds18b20电 温度测量和工业试验中使用的光学和光刻光刻的使用。温度检测的传统方法是使用诸如热电偶、热电阻、半导体PN结之类的模拟温度传感器。信号经取样、放大后通过模数转换,再交由单片机处理。被测温度信号从温敏元件到单片机,经过众多器件,易受干扰、不易控制且精度不高。因此,本文介绍一种新型的可编程温度传感器DS18B20,他能代替模拟温度传感器和信号处理电路,直接与单片机沟通,完成温度采集和数据处理。DS18B20与AT89C51结合实现最简温度检测系统,该系统结构简单,抗干扰能力强,适合于恶劣环境下进行现场温度测量,有广泛的应用前景。 2 温度测量系统的硬件 系统结构图如图1所示。这里通过上拉电阻直接驱动LED显示。以增加线路复杂度为代价,减少芯片数量。 2.1 ds18b20温度转换 DS18B20是美国DALLAS公司推出的单总线数字测温芯片。他具有独特的单总线接口方式,仅需使用1个端口就能实现与单片机的双向通讯。采用数字信号输出提高了信号抗干扰能力和温度测量精度。他的工作电压使用范围宽(3.0~5.5 V),可以采用外部供电方式,也可以采用寄生电源方式,即当总线DQ为高电平时,窃取信号能量给DS18B20供电。他还有负压特性,电源极性接反时,DS18B20不会因接错线而烧毁,但不能正常工作。可以通过编程实现9~12位的温度转换精度设置。由表1可见,设定的分辨率越高,所需要的温度数据转换时间就越长,在实际应用中要将分辨率和转换时间权衡考虑。 DS18B20采用3脚TO-92封装,形如三极管,同时也有8脚SOIC封装,还有6脚的TSOC封装。测温范围为-55~+125 ℃,在-10~85 ℃范围内,精度为±0.5 ℃。每一个DS18B20芯片的ROM中存放了一个64位ID号:前8位是产品类型编号,随后48位是该器件的自身序号,最后8位是前面56位的循环冗余校验码。又因其可以采用寄生电源方式供电。因此,一条总线上可以同时挂接多个DS18B20,实现多点测温系统。另外用户还可根据实际情况设定非易失性温度报警上下限值TH和TL。DS18B20检测到温度值经转换为数字量后,自动存入存储器中,并与设定值TH或TL进行比较,当测量温度超出给定范围时,就输出报警信号,并自动识别是高温超限还是低温超限。 2.2 led控制器 AT89C51单片机是ATMEL公司生产的高性能8位单片机,主要功能特性如下: ① 兼容MCS-51指令系统; ② 32个双向I/O口,两个16位可编程定时/计数器; ③ 1个串行中断,两个外部中断源; ④ 可直接驱动LED; ⑤ 低功耗空闲和掉电模式; ⑥ 4 kB可反复擦写(1 000次)FLASH ROM; ⑦ 全静态操作0~24 MHz; ⑧128×8 b内部RAM。 该款芯片的超低功耗和良好的性能价格比使其非常适合嵌入式产品应用。 3 过单总线与分时完成通讯 DS18B20简单的硬件接口是以相对复杂的接口编程为代价。由于DS18B20通过单总线与单片机进行通讯,所以其通讯功能是分时完成的。他与单片机的接口协议是通过严格的时序来实现的,只有在特定的时隙,才能实现DS18B20数据的写入和读出。这里以AT89C51和一个DS18B20通讯为例,列出部分通讯的汇编语言代码。 3.1 ds18b20的应力 与DS18B20的所有通讯都是由一个单片机的复位脉冲和一个DS18B20的应答脉冲开始的。单片机先发一个复位脉冲,保持低电平时间最少480 μs,最多不能超过960 μs。然后,单片机释放总线,等待DS18B20的应答脉冲。DS18B20在接受到复位脉冲后等待15~60 μs才发出应答脉冲。应答脉冲能保持60~240 μs。单片机从发送完复位脉冲到再次控制总线至少要等待480 μs。程序代码如下: RESET:CLR DQ ;发送复位脉冲 MOV R7,#33 ;延时497 μs LCALL DELAY15 SETB DQ MOV R7,#4 ;延时62 μs LCALL DELAY15 CLR FLAG ;DS18B20应答标志 JB DQ,RET1 ;判断DS18B20应答 SETB FLAG MOV R7,#28 LCALL DELAY15 ;延时422 μs SETB DQ RET1:RET 3.2 ds18b20《驱动方案 写时隙需要15~75 μs,且在2次独立的写时隙之间至少需要1 μs的恢复时间。写时隙起始于单片机拉低总线。以要把单片机A中的数据发给DS18B20为例,程序代码如下: WR1820:CLR C ;发送1个字节 MOV R1,#8 WR18201:CLR DQ ;产生写信号 MOV R7,#1 LCALL DELAY15 ;延时17 μs RR

文档评论(0)

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

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

1亿VIP精品文档

相关文档