基于DS18B20和AT89S52的热计量仪表采集系统

2013-11-18 13:23杨洪军
电子测试 2013年12期
关键词:液晶显示子程序温度传感器

杨洪军

(烟台南山集团,山东烟台,265713)

0 引言

随着生活水平的提高,人们对生活的环境提出了更高的要求,良好的温度控制对提高人民生活质量起着非常重要的作用。特别是北方,城镇居民冬季一般采取集中供暖,采暖质量的好坏,直接关系到人们生产生活。目前我国绝大数的地区采暖缺少有力的监控系统,无法完成按需采暖以及实现对温度数据的有效控制,从而造成了对供暖热能的浪费。随着人们节约能源意识的逐步增强,迫切需要一种操作简单、节能环保和高效利用的智能热计量仪表温度控制系统。

1 热计量表工作原理

根据热量与流量、温度之间的关系:

Q=CM(T1-T0)

式中,Q 为散热器的散热量(单位:J);C 为水的比热4.2*103J/kg°C;T1-T0 为散热器进出口的温差(°C);M 为流经散热器的水的流量(L),也即质量(kg)大小。据上式可知,只要能测出流量和温差,就可计算出散热器的散热量大小。

温度传感器检测的信号传送到单片机,同时将流量信息传输到单片机,用矩阵键盘完成对温度的设定。单片机处理完数据后,发送命令到液晶显示器并控制电磁阀。系统总体框架如图1 所示

2 模块介绍

本设计主要有单片机、液晶显示、数字温度传感器、液体流量计、键盘、电磁阀等部分构成。温度显示:单片机控制数字温度传感器(DS18B20),把温度信号通过单总线从数字温度传感器传递到单片机上,单片机数据处理之后,将当前温度信息发送到LCD(LCD12864)进行显示。热量显示:流量计检测到的流量信息(脉冲信号)传输到单片机,单片机数据处理之后,将当前热量信息发送到LCD(LCD12864)进行显示。温度设定:本系统还可以通过按键来设置温度限定值,单片机比较数字温度传感器的温度与设定的温度值,发出控制继电器动作的指令。

2.1 DS18B20 概述

DS18B20 的数字温度计提供9 至12 位摄氏温度测量,并具有报警功能与非易失性用户可编程上限和下限触发点。DS18B20 的通信通过1-Wire 总线,需要定义只有一个数据线(与地面)与中央微处理器的通信。DS18B20 是“一线总线”接口的温度传感器,其内部使用了在板专利技术,其传感器元件及转换电路集成在形如一只三极管的集成电路内。由于一线总线具有独特,因此一个微处理器可控制大面积分布的DS18B20。

2.2 AT89S52 单片机

图1 系统总体框架

单片机(Single-chip Microcomputer 或Microcontroller Unit)将CPU、ROM、RAM、I/O 接口电路以及内部系统总线等全部集中在一块大规模集成电路芯片上,就构成了单片机。AT89S52 是一种低功耗、高性能CMOS8 位微控制器,具有8K 在系统可编程Flash 存储器。使用Atmel 公司高密度易失性存储器的技术制造,与工业用的80C51 产品指令和引脚功能完全兼容。程序存储器可以在片上Flash 对系统进行编程,亦适于常规编程器。单芯片上,拥有灵活的8 位CPU 以及系统可编程的Flash,使得AT89S52 为许多的嵌入式控制系统提供非常灵活和有效的解决方案。

3 主要模块电路的设计

3.1 温度信号采集电路设计

本系统为多点温度测试,DS18B20 采用外部供电方式,理论上可以在一根数据总线上挂256 个DS18B20,但实践应用中发现,如果挂接25 个以上的DS18B20 仍旧有可能产生功耗问题。另外单总线长度也不宜超过80M,否则也会影响到数据的传输。在实际应用中还可以使用一个MOSFET 将I/O 口线直接和电源相连,起到上拉的作用,如图2 所示。在对DS18B20 进行操作的整个工作过程中,主要包括三个关键过程:搜索 DS18B20 序列号子程序;启动在线 DS18B20 作温度转换子程序:读取在线DS18B20的温度值子程序。

图2 温度采集模块设计

3.2 液晶显示电路设计

液晶显示模块 LCD12864 的显示分辨率为128×64,内置8192 个16*16 点汉字和128 个16*8 点ASCII 字符集,具有4 位/8 位并行、2 线或3 线串行多种接口方式。利用该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面。另外低电压低功耗是其又一显著特点,由该模块构成的液晶显示方案与同类型的图形点阵液晶显示模块相比,不论硬件电路结构或显示程序都要简洁得多,且该模块的价格也略低于相同点阵的图形液晶模块。设计图见图3。

图3 液晶显示模块设计

4 系统的软件设计

主程序的功能是:开机以后,进行系统初始化操作,主要是进行定时/计数器的初始化。温度采集程序将温度信号转换成数字信号,在输入到单片机的RAM 存储器中;换算成负责进行温度的标度换算后的十六进制换算成BCD 码,并存储到显示缓冲区以便显示子程序使用,需显示时负责将缓冲区中的各路温度送到LCD 上显示出来。键盘子程序通过按键程序的编写,可以完成对温度的设定,图5 为温度设定部分算法流程。流量信号处理程序的作用是:通过设定定时器、计时器以及外部中断,完成对频率的测定,并转换成流量信息。主程序流程图如图4 所示。

图4 主程序流程图

5 总结

本系统对多处技术和方法进行改进,用STC89C52 单片机作为控制核心,实现了对整个系统的控制和操作。液体流量计部分采用涡轮传感器实现对液体流量的采集,数字温度传感器采用DS18B20 实现对温度信号的采集,将数字温度信号传送到单片机,并且可以通过矩阵键盘完成对温度的设定,单片机通过对比设定温度与实际温度发出命令控制继电器开或者关,控制液体的流量,以达到控制室温的目的。

图5 温度设定部分算法流程图

[1]王树译.供热计量仪表的前景[J].中国科技信息,2004,9:17-18.

[2]徐科军.传感器与检测技术[M].北京:电子工业出版社,2010.

[3]魏志英.DS18B20 温度控制中的应用[J].煤矿机械,2005,18(3):92-93.

[4]吴永.基于网络的单片机多点温度采集系统的设计[J].计算机测量与控制,2010,18(4):956-960.

[5]范云霄,刘桦.测试技术与信号处理[M].北京:中国计量出版社,2002.

[6]谭浩强.C 语言程序设计[M].北京:清华大学出版社,2000.1.

猜你喜欢
液晶显示子程序温度传感器
温度传感器DS18B20在温度计设计中的应用
一种高性能CMOS温度传感器
XTR105电流变送器在温度传感器中的应用
基于TRIZ理论液晶显示模块开发板的创新设计
122×32 点阵液晶显示汉字原理实验
浅谈子程序在数控车编程中的应用
温度传感器在笔记本电脑散热系统中的应用
子程序在数控车加工槽中的应用探索
西门子840D系统JOG模式下PLC调用并执行NC程序
简化编程与子程序嵌套的应用