研究与探索
RESEARCH & EXPLORE
编辑|姜菁|E-mail:zhiyezazhi@163.com
实践与探索
基于单片机八路温度巡检系统设计
文/郭 伟 潘 巍
温度是工业农业生产中常见的工艺参数之一,许多产
GND
VCC
VCC
品对温度范围要求严格,对温度的控制好坏直接影响产品
的质量。因此,在工农业生产中,对温度不仅要不断地测
量,而且要进行控制。特别是遇到温度超过我们设定的温
度时,系统还会以报警的方式通知我们。目前市场上普遍
存在的温度检测仪器大都是单点测量,同时还有温度信息
传递不及时、精度不够的缺点,不利于工业控制者根据温
度变化及时做出决定。在这样的形势下,开发一种能够同
时测量多点,并且实时性高、精度高,能够综合处理多点
温度信息的测量系统就很有必要。
本文介绍了一种以单片机为基础,采用高分辨率智能
LCD1602
GND
VCC
VL
RS
RW
E
D0
D1
D2
D3
D4
D5
D6
D7
BLA
BLK
1
2
3
4
5
56
7
8
9
10
11
12
13
14
15
16
1K
VCC
GND
10K*8
26
27
28
39
38
37
36
35
34
33
32
31
9
P2.5
P2.6
P2.7
P0.0
P0.1
P0.2
P0.3
P0.4
P0.5
P0.6
P0.7
EA
RST
VCC
1UF
4K7
GND
4K7*8
3
C
C
V
D0
I
d
G
GND
DS18B20*8
2
P3.7
P3.6
P3.5
P3.4
P3.3
P3.2
P3.1
P3.0
17
16
15
14
13
12
11
10
KTAL1
19
30P
12MHZ
GND
NTAL2
18
30P
温度传感器而制作的八路温度巡检系统,可通过LCD液晶
图2 温度测量及液晶显示电路图
显示器显示温度和路数,当温度高于设定值时,执行报警
AT89S52是一个低功耗,高性能CMOS 8位单片机,
程序。
一、系统总体设计原理及方案
片内含8k Bytes ISP(in-system programmable)的可反复
擦写1000次的Flash只读程序存储器,器件采用ATMEL公
司的高密度、非易失性存储技术制造,兼容标准MCS-51
系统的硬件原理框图如图1所示。该温度巡检系统
指令系统及80C51引脚结构,芯片内集成了通用8位中央
主要由控制模块、显示模块、测温模块组成。测温范围
处理器和ISP Flash存储单元,功能强大的微型计算机的
为-25℃~125℃,该系统启动时,8路温度传感器把检测到
AT89S52可为许多嵌入式控制应用系统提供高性价比的解
的温度送入单片机AT89S52,与温度设定值比较,经过控制
决方案。
后,输出控制信号,显示在1602液晶电路里,该电路能显示
美国Dallas半导体公司的数字化温度传感器DS1820
当前环境温度。当实际温度超过限制值时报警电路报警。
是世界上第一片支持“一线总线”接口的温度传感器,在
8路温度传感器
AT89S52
单
片
机
报 警
电路
其内部使用了在板(ON-B0ARD)专利技术。全部传感
元件及转换电路集成在形如一只三极管的集成电路内。一
线总线独特而且经济的特点,使用户可轻松地组建传感器
显示电路
网络,为测量系统的构建引入全新概念。现在,新一代的
图1 系统总体结构图
DS18B20体积更小、更经济、更灵活。使你可以充分发挥
二、系统硬件电路的设计
“一线总线”的优点。
在传统的模拟信号远距离温度测量系统中,需要很好
1.温度测量及液晶显示电路设计
八路温度巡检仪由8个DSl8B20组成,显示器采用
地解决引线误差补偿问题、多点测量切换误差问题和放大
电路零点漂移误差问题等技术问题,才能够达到较高的测
LCDl602液晶显示模块,它是一种可编程的器件。本系统
量精度。另外一般监控现场的电磁环境都非常恶劣,各种
可以定时循环检测并通过LCDl602显示8路的温度和路数。
干扰信号较强,模拟温度信号容易受到干扰而产生测量误
温度测量及液晶显示电路如图2。
差,影响测量精度。因此,在温度测量系统中,采用抗干
OCCUPATION
2011 1
181
实践与探索 RESEARCH & EXPLORE 研究与探索
编辑|姜菁|E-mail:zhiyezazhi@163.com
组。这些LCM虽然显示字数各不相同,但是都具有相同的
等待1S(DS18B20温度转换时间最大750ms
NO
是否接入
DS18B20
Yes
跳过ROM匹配
发出温度转换命令
跳过ROM匹配
发出读温度指令
将 温 度 低 位 , 高 位 从
DA18B20写入寄存器
用单总线,通过查询序
列号依次读取,程序就
非常复杂,而且速度会
大大减慢,所以将位寻
址扩展为字节寻址,比
如:
#define DQ P3;
DQ=Ox00;DQ=0xff
即可一次输出或输
入8个位数据,从而达
到同步读取的目的。
扰能力强的新型数字温度传感器是解决这些问题的最有效
方案,新型数字温度传感器DS18B20具有体积更小、精度
更高、适用电压更宽、采用一线总线、可组网等优点,在
实际应用中取得了良好的测温效果。
字符型点阵式LCD液晶显示屏:LCD的应用很广泛,
简单如手表上的液晶显示屏,仪表仪器上的液晶显示器或
者是电脑笔记本上的液晶显示器,都使用了LCD。在一般
的办公设备上也很常见,如传真机、复印机以及一些娱乐
器材玩具等也常常见到LCD的足迹。本系统要用的LCD为
字符型点阵式LCD模块(liquid crystal display module,
LCM),或者是字符型LCD。目前市面上常用的有16字×
1行,16字×2行,20字×2行和40字×2行等的字符模块
输入输出界面。本系统用的是1602液晶。
2.报警电路
本系统的报警电路由扬声器电路及LED警报灯电路组
成,报警电路的原理为,系统检测到所检温度值高于某个
值时,算法中进入报警子程序,向红色LED输出循环的高
低电平,造成闪烁的效果,闪烁的间隔由算法中的迟时子
程序决定。同时调用报警扬声器子程序,向扬声器输出一
定规率的高低电平信号组成的报警音(图3)。
LS
Q4
NPN
R11
4.7K
1N1
APEAKER
VCC+5V
图3 报警电路
开始
调用LCD1602初始化子程
三、系统软件设计
1.软件设计说明
对于一支DS18B20,要输出或输入各类数据时,可以
采用位寻址,比如
sbit DQ=Pa 3;DQ=0;DQ=1
而对于8支DS18B20,如果还采用位寻址的方法,采
调用处理温度BCD码子程序
采用上述方法一次
1602显示
访问下一通道SS18B20
图5 测量程序框图
读取8支DS18B20的时
间不超过1s,但读取的
数据在RAM 中不是顺
序排列的。必须用软件
合成处理,才能得到所需的温度值。如表1所示,纵向排列
的是存放每次读取数据的Bur,而横向才是需要的温度值,
此时设计一个将纵向数据转为横向温度的程序,连续执行
两次,就可以将DS18B2O的高、低字节全部合成标准的温
度数据(表1)。
表1 温度数据采集存储对照
Uuf[7] Uuf[6] Uuf[5] Uuf[4] Uuf[3] Uuf[2] Uuf[1] Uuf[0]
D0.7 D0.6 D0.5 D0.4 D0.3 D0.2 D0.1 D0.0
D1.7 D1.6 D1.5 D1.4 D1.3 D1.2 D1.1 D1.0
D2.7 D2.6 D2.5 D2.4 D2.3 D2.2 D2.1 D2.0
D3.7 D3.6 D3.5 D3.4 D3.3 D3.2 D3.1 D3.0
D4.7 D4.6 D4.5 D4.4 D4.3 D4.2 D4.1 D4.0
D5.7 D5.6 D5.5 D5.4 D5.3 D5.2 D5.1 D5.0
D6.7 D6.6 D6.5 D6.4 D6.3 D6.2 D6.1 D6.0
D7.7 D7.6 D7.5 D7.4 D7.3 D7.2 D7.1 D7.0
P3.0
P3.1
P3.2
P3.3
P3.4
P3.5
P3.6
P3.7
2.系统软件流程图
主程序执行流程如图4所示,主程序先对各DS18B2O
进行初始化,然后重复调用写命令和读数据模块,最后将
数据处理后送1602显示。
通道lDSl8B20访问子程序如图5(其他7个通道程序相
依次检测通道1-8是否接入DS18B20置位相应标志位
同)
依次访问已接入DS18B20并显示各
通道温度数值
总之,温度传感器DS18B20转化温度的方法非常简
洁且精度高,测试范围广,单片机AT89S52体积小、抗干
扰能力强、价格低廉、对环境要求不高, 我们已成功地将
DS18B20应用于所开发的多点温度测试系统中,测温精度
满足要求,这种温度测量系统能广泛地应用于各种场合,
具有实际的应用价值。
图4 主程序流程图
(作者单位:广东韶关大江南输变电工程有限公司)
182
OCCUPATION
2011 1