郭豫荣
(陕西理工学院 电气工程学院,陕西 汉中 723003)
基于单片机的温度测量系统的设计
郭豫荣
(陕西理工学院 电气工程学院,陕西 汉中 723003)
本设计由AT89S52单片机,温度检测电路和显示电路等组成;介绍了DS18B20和 LCD12864液晶显示模块的工作原理,给出了系统的硬件电路设计和软件设计.
AT89S52;DS18B20;LCD12864
温度计是现代工业及日常生活中常用到的一种测量仪器,最早使用的温度计大都是采用水银制成,测温缓慢,现代多采用温度检测元件结合单片机技术设计.
传统的温度检测以热敏电阻为温度敏感元件,热敏电阻虽然成本低但转换成的电信号是模拟量,与单片机通讯时需要A/D转换,不但系统结构复杂,而且所接信号处理电路又会带来引线及零点漂移等问题.热敏电阻本身的可靠性相对较差,测温的准确度低,检测系统的精度差.现代的温度检测多采用数字温度传感器,该传感器具有结构简单,抗干扰能力强,适用恶劣环境下进行现场温度测量等优点.本系统由数字温度传感器DS18B20进行温度采集送给单片机AT89S52进行处理,通过软件编程控制并显示出所测量的温度值.
检测温度并显示温度
温度检测范围:-55℃~+125℃,测量精度:±1℃,显示方式:温度:五位显示
2.1.1 温度测量和控制模块.这是温度测量系统的主要结构部分,由一块数字温度传感器DS18B20组成.DS18B20是硬件电路的核心芯片,本次设计中的温度采集、温度转换和模拟到数字信号的转换都通过该芯片完成,最后将输出信号送入AT89S52的P0口.
2.1.2 单片机部分.设计的测温系统采用AT89S52作为控制系统的核心,主要作用是控制显示单元及时钟、复位、测温外围电路的通讯接口,AT89S52的优点在于具有8K字节在系统可编程Flash存储器,兼容MCS-51单片机;器件采用Atmel公司高密度非易失性存储器技术制造,低功耗空闲和掉电模式,有利于系统的升级和扩展.
2.1.3 显示模块.液晶显示模块LCD12864提供两种界面和微处理机相连接:8位并行及串行两种连接方式.具有多种功能:光标显示,画面移位,睡眠模式等.本设计采用AT89S52串行接口静态显示方式.这种显示亮度大,占用机时少,显示稳定可靠.
本次需要设计一个温度测量系统,这里选用单片机为执行器(核心器件),通过温度检测电路,控制系统,显示电路等做成一个温度测量系统,系统电路设计框图如图1.
图1 系统电路设计框图
系统的工作原理是:DS18B20采集被测物体的温度,在内部进行转换成数字量,送人单片机处理,最终由显示模块LCD-12864显示其温度值.
系统电路图如图2,
图2 系统电路图
整个温度测量过程是由单片机89S52控制的,DS18B20的2端与单片机的P3.4相连,DS18B20内部包括一低温度系数晶振和一高温度系数晶振,分别对内部计数器1和计数器2计数,高温度系数晶振随温度变化其振荡率明显改变,计数器1的值从预置值减到零后内部温度寄存器的值增加一,同时计数器2的值递减一,重新装入预置值到计数器1中,如此反复循环,直到计数器2的值减为零,此时温度寄存器的值为被测物体的温度.单片机读出并处理DS18B20的测量温度值,在读出时必须进行CRC校验,如果有错不能进行温度数据的改写,接下来进行温度转换及计算温度值.LCD12864的数据端和P0口相连,读写控制端和使能端与P2口连接,当读写控制端和使能端有效时,测量的温度值显示在LCD上.
整个系统的软件设计包括主程序的设计,读出温度子程序、温度转换子程序、计算温度子程序及显示程序,这里给出主程序流程图和读DS18B20温度子程序流程图:
图3 主程序流程图
图4 读DS18B20子程序流程图
本文以protuse软件为设计平台,采用C语言实现了温度测量系统的整体设计,对人体及环境温度进行测量,测温时间短,与水银温度计相比误差小,节约了测量时间.所设计的系统软硬件结构简单、成本低廉、可靠性高,即可应用在日常生活中如做成数字温度计,又可以用在仓库、大棚的温度检测等方面,所以具有一定的应用价值.
〔1〕马育长.单片机系统设计与实例分析[M].西安电子科技大学出版社,2007.
〔2〕梅丽凤,王艳秋,等.单片机原理及接口技术[M].北京:清华大学出版社.
〔3〕何希才.常用传感器应用电路的设计与实践[M].科学出版社,2007.
〔4〕陈健,刘九庆.温室环境工程技术[M].哈尔滨:东北林业大学出版社,2002.
〔5〕杜深慧.温湿度检测装置的设计与实现[J].华北电力大学,2004.
TN873
A
1673-260X(2012)09-0149-02