0 引言
温度是一种最基本的环境参数,人们的生活环境与温度息息相关,温度测量也被人们所异常关注。因此,研究温度的测量方法和装置具有重要意义,温度测控技术也在各个领域应用越来越广泛。采用单片机对温度进行控制,不仅具有控制方便和组态简单的优点,而且可以提高被控温度的技术指标。本文介绍了一款由单片机AT89S52 和新型的智能集成温度传感器DS18B20 以及LCD 显示器等部件实现的温度测量及报警系统。同时在设计方面做了功能的扩展,键盘是用来调时和温度查询,功能较强,可以设置上下限报警温度,且测量准确、误差小。单片机可把由DS18B20、DS1302 读来的数据利用软件来进行处理,从而把数据传输到显示模块,实现温度、日历的显示,还有闹钟功能以及语音报时功能。对温度实施监测,即当温度超过给定的最高温度或者低于给定的最低温度时,系统通过发光二极管发光报警。通过实验测试说明,所设计的温度计能达到精度的要求。
1 系统设计
在单片机电路设计中,大多都是使用传感器。因此,采用温度传感器DS18B20。DS18B20 是一种改进型智能温度传感器,可以满足从-55 摄氏度到+125 摄氏度范围的温度测量,且测量精度高,可在一秒内把温度转化成数字,测得的温度值存储在两个八位的RAM 中,单片机可以直接从中读出数据并且转换成十进制就是温度,使用方便。按照设计时要求,采取的设计方框图如图一所示,控制器采用单片机AT89S52,温度传感器采用DS18B20,液晶显示器LCD1602 以串口传送数据实现温度的显示。
图一总体设计方框图
2 硬件电路设计
系统整体硬件电路包括:传感器数据采集电路、温度显示电路、上下限报警调整电路、单片机主板电路、复位电路等,如图二所示。
图二单片机系统整体电路
图二中有三个独立式按键可以分别调整温度计的上下限报警设置,蜂鸣器在被测温度超出上下限范围时,发出报警鸣叫声音,同时LCD 显示屏没有被测温度值显示,这时如统果调整报警上下限,可测出被测的温度值。
按健复位电路是上电复位加手动复位,使用比较方便,在程序跑飞时,可以手动复位,这样就不用在重起单片机电源,就可以实现复位。
液晶显示器为TS1602-1,可以同时显示16*2 个字符,能够对字符进行左右平移,操作方便,占用8 个I/O 端口。
温度测量传感器采用DS18B20 的单总线数字化温度传感器,测温范围为-55℃~125℃,可编程为9 位~12 位A/D转换精度,测温分辨率达到0.0625℃,采用寄生电源工作方式,CPU 只需一根总线便能与DS18B20 通信,占用CPU 总线少,可节省大量引线和逻辑电路。
时钟模块采用DS1302 芯片,DS1302 是由DALLAS 公司推出的涓流充电时钟芯片内含有一个实时时钟/ 日历和31字节静态RAM,通过简单的串行接口与单片机进行通信,实时时钟/ 日历电路提供秒分时日期月年的信息,每月的天数和闰年的天数,可自动调整时钟操作,可通过AM/PM 指示决定采用24 或12 小时格式,DS1302 与单片机之间能简单地采用同步串行的方式进行通信,仅需用到三条总线1RES 复位,2 I/O 数据线,3 SCLK 串行时钟。时钟/RAM 的读/ 写数据以一个字节或多达31 个字节的字符组方式通信,DS1302工作时功耗很低保持数据和时钟信息时功率小于1mW。
3 软件分析
系统程序主要包括主程序、读出温度子程序、温度转换命令子程序、计算温度子程序,显示数据刷新子程序等。
主程序的主要功能是负责温度的实时显示、读出并处理DS18B20 的测量的当前温度值,对闹钟的时、分、秒进行设置。这样可以在一秒之内测量一次被测温度,其程序流程见图三所示。
图三主程序流程图
4 结束语
本设计所介绍的数字温度计工作可靠、测量误差小。与传统的温度计相比,具有读数方便、测温范围广及输出温度采用数字显示等特点,主要适用于科研实验室等对测温要求比较准确的场所。本温度计应用AT89S52 单片机对系统进行智能控制,采用温度传感器DS18B20 实现对外界温度的测量,并通过串口通信将数据传输到单片机上进行处理和分析。同时采用C51 程序设计语言对单片机的系统控制程序进行编写。