新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于AVR单片机和DS18B20的多点温度测量系统

基于AVR单片机和DS18B20的多点温度测量系统

作者: 时间:2013-12-10 来源:网络 收藏

  测试中,选择芯片出厂时默认的12位转换精度,转换的结果用16位符号扩展的二进制补码读数形式提供。关于可参考DALLAS公司的数据手册。

  多点温度巡回测量的主要程序如下:

基于AVR单片机和DS18B20的多点温度测量系统

基于AVR单片机和DS18B20的多点温度测量系统

基于AVR单片机和DS18B20的多点温度测量系统

基于AVR单片机和DS18B20的多点温度测量系统

  上述两个程序可以编写为两个子程序,主程序在初始化工作完成后,读开关K1的状态,如为打开状态调用温度巡回测量部分的子程序;如为闭合状态调用获取ROM代码子程序。

4.1设置报警限值

  设有温度高低限报警功能。DSl8B20的存储器由两部分组成:一个是9字节的静态RAM,其中第0和第1字节用于存储16位的温度转换值,第2(高温限TH)和第3字节(低温限TL)作为温度报警限值或通用存储器单元供用户使用;另一个是非易失性的E2PROM。当静态RAM作为温度报警限值使用时,可以在系统安装和工作前,用写RAM命令4EH将高温限TH和低温限TL写入第2和第3字节单元。由于静态RAM掉电后信息即丢失,因此需要再通过拷贝RAM命令48H将第2和第3字节单元的温度报警限值拷贝到E2PROM中。主程序只要在初始化部分使用重调E2PROM命令B8H,就可以将E2PROM中的温度报警限值重新拷贝到静态RAM中。

4.2报警处理

  系统正常工作时,在启动所有的DS18B20作温度转换后,可以使用报警搜索命令ECH,发现温度值高于TH或低于TL的数值时,则读取报警的DS18B20的ROM代码,通过查内部E2PROM中测量位置点和传感器64位ROM代码之间的关系表即可得到报警的DS18B20的位置编号,从而启动语音报警或在LCD上显示报警点的位置编号。

  本文的设计方法,将DS18B20 ROM代码的获取和温度的测量融为一体,利用单片机内部的E2PROM建立了测量位置点和ROM代码之间的关系表,用简单的硬件及编程方法实现了多点温度的测量、数字温度传感器的出错指示和识别,大大有利于系统的调试和扩充,能有效降低成本,缩短开发周期。在粮库测温系统、冷库测温系统、中央空调系统、智能建筑自控系统等多点中将获得广泛的应用。

单片机相关文章:单片机教程


单片机相关文章:单片机视频教程


单片机相关文章:单片机工作原理


温湿度控制器相关文章:温湿度控制器原理

上一页 1 2 下一页

关键词: AVR单片机 DS18B20 温度测量系统

评论


相关推荐

技术专区

关闭