基于AT89C2051单片机的数字温度计的设计
2010-05-02龙吉
龙 吉
(吉林航空工程学校,吉林 吉林 132102)
温度在人们日常生活、工业控制和科学实验中都是个重要的参数,特别是近些年来,随着社会的发展,人们对居住环境的舒适程度要求越来越高,采用温度计可以对室温进行高精度采集,满足人们的需要。本设计中采用AT89C2051单片机作为主控核心、包括测温模块、控制模块、显示模块等组成,电路结构简单典型、成本低、测量精度高。
1 数字温度计的硬件设计
1.1 设计框图
基于AT89C2051的数字温度计硬件框图(如图1所示)。在整个设计过程中,考虑到成本以及制作出的硬件电路大小,采用AT89C2051作为控制核心,简化电路,以数码管显示、报警电路为输出,这样电路既可以做的很小,节约成本,又可以精确显示温度。
图1 数字温度计硬件框图
1.2 AT89C2051单片机
AT89C2051是美国 ATMEL公司生产的低电压、高性能CMOS 8位单片机,双列直插封装为20引脚,比普通8051单片机更加节省空间。片内含2k bytes的可反复擦写的只读程序存储器(PEROM)和128bytes的随机数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,功能强大的AT89C2051单片机更多应用到许多高性价比的场合。
1.3 温度传感器
温度传感器在本设计中是关键器件。本设计中采用的是Dallas半导体公司的单总线数字温度传感器DS18B20,它支持单总线接口,与微处理器连接时仅需一条口线即可实现微处理器与DS18B20的双向通讯。测温范围-55~+125 ℃,固有测温分辨率 0.5 ℃。最大特点是支持多点组网功能,目前民用仓库、工厂等测温都采用这种方法,多个DS18B20并联在一条供电和数据传输线上,最多并联8个,可以实现多点测温。工作电源直流3 V~5 V。具有耐磨耐碰,体积小,使用方便等特点,封装形式多样,常见封装类似于小三极管,适用于各种狭小空间设备数字测温和控制领域。
1.4 键盘控制
键盘由独立按键组成,控制单片机复位以及控制温度实时显示等功能。本设计中采用低功耗设计,即温度显示一段时间后关闭数码管显示,直到按键按下后继续显示或者设置显示时间,当在关闭显示的同时,发光二极管发光,表示系统正运行在低功耗状态。
1.5 数字温度计的硬件电路
在实际制作过程中考虑到芯片的体积,使用 AT89C2051单片机采用双列直插封装,与普通AT89C51相比仅为其四分之一大小,温度传感器DS18B20采用TO-92封装,大小与小型三极管封装一致,由于需要对温度精确显示,所以温度精确到0.01 ℃,选用4位数码管显示温度。考虑到低功耗设计,在编程过程中控制数码管显示持续时间,并且可以通过独立按键控制是否显示和修改显示时间。通过对DS18B20进行编程,用万能板焊接成功,可以对温度进行精确测量和显示,成本低,测量精度高。
图2 程序流程图
2 数字温度计的软件设计
本设计中采用AT89C2051作为核心处理器,把经过数字传感器DS18B20现场实时采集的温度数据,存入单片机内部数据存储器,送数码管显示,并检测是否有按键按下,来由单片机控制是否显示。进行温度检测和显示的设计应考虑如下问题:温度实时采集;精确显示温度:采用4位数码管显示当前温度,精确到0.01 ℃;定时器启动,设置显示持续时间;按键处理,判断按键然后显示温度。软件设计主要有:主程序、系统初始化程序、温度采集子程序、显示子程序、键盘查询子程序、按键处理子程序等。具体流程图(如图2所示)。
3 结论
本设计采用 AT89C2051单片机作为主控核心,DS18B20数字单总线温度传感器作为测温器件,通过4位数码管显示温度,并考虑低功耗设计,显示有持续时间。作为数字温度计,具有低功耗、低成本、体积小等优点。