一种基于DS18B20的实时温度测量模块的设计
作者: 陈波 蒋树刚
摘要:本文介绍了一种基于DS18B20的数字温度计设计方案,阐述了温度传感器DS18B20的性能指标和工作过程,实现了利用主板STC89C52单片机控制DS18B20进行温度信号采集并通过数码管显示。
关键词:智能温度传感器; 热敏电阻; 串口通信
中图分类号:TP274+.2 文献标识码:A 文章编号:1006-3315(2012)09-177-001
一、智能集成温度传感器DS18B20介绍
DS18B20 是美国DALLAS 半导体公司继DS1820 之后最新推出的一种改进型智能温度传感器。与传统的热敏电阻相比,它能够直接读出被测温度,并且可根据实际要求通过简单的编程实现9~12 位的数字值读数方式。使用DS18B20 可使系统结构更趋简单,可靠性更高[1]。
DS18B20的适用电压为3V~5V,分辨率为9~12位可调,测温分辨率为9位时精度为0.1℃,12位精度为0.01℃,测温范围为:-55℃~+125℃。
由于DS18B20 工作在单总线方式,其硬件接口非常简单,仅需利用系统的一条I/O线与DS18B20的数据总线相连即可
二、测温硬件电路设计
本方案设计的系统由按键控制部分、温度传感器部分、数码显示、串口通信部分组成,利用单片机主模块控制完成温度传感器DS18B20的初始化和读取温度值、按键识别和控制、温度值数码显示和PC机的串口通信等功能。同时利用STC89C52单片机控制4个温度传感器,根据DS18B20的电路标准连接方法将温度传感器与单片机进行连接。
用P2.4至P2.7四个I\O口分别连接四个DS18B20温度传感器,来实现温度的多点监控。单片机系统设计电路图如图1所示。
我们将测量所得的值通过主模块上的数码管进行显示。在主模块的键盘上,通过4个按键来控制数码显示指定的温度传感器的数值。
还将一个蜂鸣器电路通过P2.3口进行控制,我们可以在软件中设置报警温度的上下限,当温度超过此上(下)限值时,通过软件控制使蜂鸣器发声,达到温度报警的效果。
键盘是人机通信不可缺少的部分,其中独立键盘是最基本的键盘方式,本模块中提供了八路独立键盘和矩阵式键盘也称行列式键盘,它由行和列组成,在每一个行列的交叉点上设置一个按键,这样一个8位的控制端口最多就可以由4×4=16个按键组成[2]。
三、数码管显示设计
本系统采用6位共阴极数码显示器,为了简化电路,降低成本,采用一组P0口加P2.6和P2.7与2个锁存器74HC573,控制数码管的段选与位选。
当锁存器的使能端为高电平时,输入和输出是直通的,即输入端的数字量直接赋给对应的输出端,而当使能端为低电平时,则是保持状态,即上一组输入的数字量保持在对应的输出端。P2.6为段选控制位,连接在第一个锁存器的使能端,P2.7为位选控制位,连接在第二个锁存器的使能端。这样当需要控制数码管显示的时候,就让P2.6呈高电平,然后控制P0口赋值给锁存器的输入端,而此时为直通状态,所以输出数字量等于输入的数字量,然后使P2.6呈低电平,第一个锁存器则处于保持状态,使得数码管显示的数值是不变的,这样可以用同样的控制方式来实现6位数码管的位选操作,来控制具体哪些数码管工作。具体电路连接如图3.3所示。第一个锁存器的输出端接到6位数码管的段选端a,b,c,d,e,f,g,h,第二个锁存器的输出端分别接到数码管的位选端WE1到WE6。数码管硬件电路图如图2所示。
四、RS-232C串口通信
本方案对RS-232-C接口采用3线制,PC机和单片机的发送数据线(TXD)与接收数据(RXD)交叉连接,二者的地线(GND)直接相连,其他信号线如握手信号线均不用,而采用软件握手。但由于RS-232-C电平与单片机TTL电平不同,逻辑1电平规定为+5~+15V之间,逻辑0电平为-5~-15V之间,因此用MAX232芯片进行电平转换。
五、总结
本系统通过单片机控制,实现了4个温度传感器的温度测量,不但可以同时测量多个监测点的温度,也可以测量某个环境的温度分布或平均温度。同时通过串口可以把温度信息传送给上位机电脑实现实时监控。
参考文献:
[1]杨恩然.温度场实时测控温度系统:(硕士学位论文).陕西:西安建筑科技大学,2007.
[2]何立民.单片机高级教程. 北京:北京航空航天大学出版社,2000