网站大量收购闲置独家精品文档,联系QQ:2885784924

基于AT89S52多路多功能温度监测器设计.docVIP

基于AT89S52多路多功能温度监测器设计.doc

  1. 1、本文档共9页,可阅读全部内容。
  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文档。上传文档
查看更多
基于AT89S52多路多功能温度监测器设计

基于AT89S52多路多功能温度监测器设计   [摘要]该款基于AT89S52芯片的多功能多路温度监测器是为实现对多点温度的实时监测报警而设计。采用4个DS18B20温度传感器对4个不同点的温度进行测量;加入DS1302时钟芯片,在测量温度的同时,给出不同温度产生时的精确时间;将得到的变化的温度、温度采集点及其时间进行存储。采用串行EEPROM芯片AT24C08存储时间温度信息的历史变化,当温度变化超过设定值时就会自动报警来达到监视的目的;通过1602液晶屏友好的人机界面将结果完美的呈现给用户。该款设计还具有数字钟的时间显示、定时等完整功能,有很高的实用价值。   [关键词]实时温度监测单片机双级数据存储实时时钟   中图分类号:TP274+.2文献标识码:A文章编号:1671-7597(2009)1120008-01      一、引言      温度的采集监测在日常生活中有着广泛的用途,该款温度监测器基于此而设计,它的最大的优点在于采用双级记忆模式,可以在对温度进行实时测量的同时,记录下当温度发生一定变化时的时间,并将一段时期内的变化过大的记录值进行二级存储并报警,已达到历史数据进行监测、整理和分析的目的。同时它还可以充分利用自身的时钟芯片起到数字钟的功能,扩大了该监测器的使用范围。      二、工作原理      该系统由主控模块、温度测量、实时时钟、控制键盘、液晶显示,温度报警、数据存储等七部分组成,这其中最主要的部分是中间的主控模块部分,温度测量由DS18B20温度传感器完成。单片机在接到数据后,一方面将该时刻的温度值送到液晶屏显示出来,另一方面对比之前的温度数据看是否有变化,若有变化就将温度值连同变化的时间一起存储到外部数据存储器AT24C08中,如果两次存储有较大的波动,就会自动报警并同时将此进行单独存储以利于复查。当用户想查看时间时,通过键盘进行显示切换,就可实现温度监测与时钟功能的灵活切换。      三、硬件电路设计      对应之前提到的该检测器的每一个部分都有相应的硬件电路与之对应,下面对关键部分的具体的器件选择及连接电路做具体的介绍。      (一)主控制器AT89S52   在该监测器中起到总控作用的是AT89S52单片机,它的最大方便之处室支持在系统编程ISP,节约设计成本。单片机的口线中,P0和P2用于液晶显示电路,P1口用于接收温度传感器输入的数据并同片外存储器间经行数据交换,P3口用于输入键盘的中断信号和实时时钟芯片的信号。      (二)温度测量部分   温度测量在本监测器中起到一个非常关键的作用,这里选择了美国DALLAS公司生产的单总线式数字温度传感器DS18B20。由于采用单总线结构,每一个18B20都拥有唯一的标号,节约了口线资源[1]。四个温度传感器的数据端全部连到P1^1口处。在读取数据时,通过发送传感器的唯一序列号读取不同的温度传感器值以实现多点测量。      (三)数据存储部分   该设计中需要将温度发生变化时的温度值及对应的时间进行存储,这里存储的时间信息来自DS1302。由于单片机内部8K的FLASH存储空间只能存放主程序,必须选择外部存储器。这里选择AT24C08,该芯片具有8K的EEPROM存储空间,与单片机之间通过Isup2;C总线技术进行通信,三个地址端A0、A1与A2可以为每个存储器赋予不同的地址,最多可以将8个挂到单片机上去,而且同单片机的接口仅占用两根口线。系统硬件电路如图1所示。      四、软件设计      为利于该设计的多功能的实现和更高的编程效率,采用C语言进行编程[2]。由于18B20是单总线结构,要读出4个温度传感器的值,必须先写不同编号的控制字,然后读出对应的温度值,每个传感器的编号是预先通过程序得到的。读入温度后,与之前一分钟时的温度值做对比,如果温度变化超过了设定的范围(初设为2℃),那么就将变化后的温度值连同变化的时刻一起存入片外存储器中,这是一级存储,若1h内变化超过3℃(可另设),则触发蜂鸣器报警的同时将这些数据在单独取出存储,这是二级存储。另设按键可改变显示状态,将实时时钟的信息显示出来,一个温度监测器瞬间就变成了一个数字钟。      (一)测温模块子程序   在该设计中采用的是单总线结构的DS18B20,在使用前必须先进行初始化,其初始化步骤包括:单片机通过拉低单线480us以上产生复位脉冲,然后释放该线,进入Rx接收模式。单片机释放总线时会产生一个上升沿,18B20检测到该上升沿后延时40us,通过拉低总线60~240us来产生应答脉冲,单片机接收到后就说明有单线器件存在,之后就可以发出ROM操作命令、内存操作命令及数据处理。   要实现多路测量

文档评论(0)

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

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

1亿VIP精品文档

相关文档