温度监控器.docx
- 文档编号:9322012
- 上传时间:2023-02-04
- 格式:DOCX
- 页数:49
- 大小:256.65KB
温度监控器.docx
《温度监控器.docx》由会员分享,可在线阅读,更多相关《温度监控器.docx(49页珍藏版)》请在冰豆网上搜索。
温度监控器
目录
摘要2
第一章引言4
1.1温度监控系统设计的背景、发展历史及意义4
1.2温度监控系统的目的4
第二章设计任务及要求5
2.1功能简述5
2.2LCD1602液晶屏显示单元5
2.3温度测量单元5
2.4按键控制单元5
2.5EEPROM记录单元6
2.6直流电动机驱动单元6
2.7温控单元6
2.8系统初始状态说明6
第三章系统硬件设计7
3.1元器件的选择7
3.1.1单片机的选择7
3.1.2传感器的选择9
3.1.3存储器EEPROM的选择11
3.2单片机控制模块13
3.3温度数据采集模块14
3.4显示模块15
3.5按键扫描控制模块15
3.6温度监控模块16
3.7外部存储模块16
第四章系统的软件设计18
4.1系统功能概述18
4.2温度监控主程序设计18
4.3环境温度采样及数据处理子程序设计20
4.5键盘扫描控制设计26
4.6液晶显示程序设计27
第五章系统功能调试28
5.1功能调试28
5.2调试总结28
结论29
参考文献30
致谢31
附录:
32
程序代码32
摘要:
温度是日常生活中无时不在的物理量,温度监控在各个领域都有积极的意义。
很多行业中都有大量的用电加热设备,如用于热处理的加热炉,用于融化金属的坩锅电阻炉及各种不同用途的温度箱等,采用单片机对它们进行控制不仅具有控制方便、简单、灵活性大等特点,而且还可以大幅度提高被控温度的技术指标,从而能够大大提高产品的质量。
因此,智能化温度监控技术正被广泛地采用。
本设计基于AT89S51单片机为核心的温度监控系统,温度信号由温度芯片DS18B20采集,并以数字信号的方式传送给单片机,单片机对信号进行处理,从而实现温度监控的目的。
文中介绍了该控制系统的硬件部分,同时还着重介绍了软件设计部分,在这里采用模块化设计结构,主要模块有:
LCD1602液晶屏显示程序、键盘扫描和按键处理程序、温度信号处理程序、继电器控制程序、超温报警程序以及AT24C02数据存储程序。
关键词:
AT89S51单片机DS18B20温度采集芯片温控AT24C02存储器
第一章引言
1.1温度监控系统设计的背景、发展历史及意义
随着社会的发展,科技的进步,以及测温仪器在各个领域的应用,智能化已是现代温度监控系统发展的主流方向。
特别是近年来,温度监控系统已应用到人们生活的各个方面,但温度监控一直是一个未开发的领域,却又是与人们息息相关的一个实际问题。
针对这种实际情况,设计一个温度监控系统,具有广泛的应用前景与实际意义。
温度是科学技术中最基本的物理量之一,物理、化学、生物等学科都离不开温度。
在工业生产和实验研究中,像电力、化工、石油、冶金、航空航天、机械制造、粮食存储、酒类生产等领域内,温度常常是表征对象和过程状态的最重要的参数之一。
比如,发电厂锅炉的温度必须控制在一定的范围之内;许多化学反应的工艺过程必须在适当的温度下才能正常进行;炼油过程中,原油必须在不同的温度和压力条件下进行分馏才能得到汽油、柴油、煤油等产品。
没有合适的温度环境,许多电子设备就不能正常工作,粮仓的储粮就会变质霉烂,酒类的品质就没有保障。
因此,各行各业对温度监控的要求都越来越高。
可见,温度的测量和监控是非常重要的。
1.2温度监控系统的目的
单片机在电子产品中的应用已经越来越广泛,在很多的电子产品中也用到了温度检测和温度监控。
随着温度监控器应用范围的日益广泛和多样,各种适用于不同场合的智能温度监控器应运而生。
本设计的内容是温度测试控制系统,控制对象是温度。
温度监控在日常生活及工业领域应用相当广泛,比如温室、水池、发酵缸、电源等场所的温度监控。
而以往温度监控是由人工完成的而且不够重视,其实在很多场所温度都需要监控以防止发生意外。
针对此问题,本系统设计的目的是实现一种可连续高精度调温的温度监控系统,它应用广泛,功能强大,小巧美观,便于携带,是一款既实用又廉价的监控系统。
第二章设计任务及要求
2.1功能简述
温度监控器可以实现环境温度检测及报警功能:
通过EEPROM存储上下限数值,温度上下限数值可通过外部按键更改。
系统硬件电路主要有单片机控制电路、液晶显示电路、EEPROM存储电路、直流电动机驱动电路、按键控制电路及继电器组成,系统框2-1图:
图2-1系统工作原理
2.2LCD1602液晶屏显示单元
通过1602液晶屏显示温度信息,包括设定的温度上下限数值和当前温度值,显示格式如下所示:
Top:
38Low:
20
Current:
22
图2-2液晶显示温度
图2-2液晶显示
2.3温度测量单元
通过DS18B20数字温度芯片测量环境温度。
2.4按键控制单元
独立按键key1设定为“加上限”按键;每按下一次,温度上限值增加1度;
独立按键key2设定为“加下限”按键;每按下一次,温度下限值增加1度;
独立按键key3设定为“减上限”按键;每按下一次,温度上限值增加1度;
独立按键key4设定为“减下限”按键;每按下一次,温度下限值减少1度;
2.5EEPROM记录单元
系统通过AT24C02存储温度信息,AT24C02内部存储地址0X00和0X01分别存储温度上下限数据信息;温度上下限数据可通过外部按键进行修改,并通过液晶屏实时显示。
2.6直流电动机驱动单元
利用单片机P34引脚连接直流电动机驱动电路来模拟温度太高时进行降温操作。
2.7温控单元
若当前温度数值超过EEPROM中存储的温度上限数据,通过单片机P34口产生周期为1KHz、占空比为30%的PWM信号驱动直流电机工作。
待温度恢复到上下限阀值内时,P34口输出高电平,直流电机停止工作。
若当前温度低于EEPROM中存储的温度下限数据,继电器打开,当温度恢复到上下限阀值内时,继电器自动关闭。
2.8系统初始状态说明
上、下限温度值需要设定在0度到99度范围内,下限值不大于上限值。
系统上电后,从EEPROM中读取温度上、下限数值,并实时显示当前温度。
第三章系统硬件设计
3.1元器件的选择
3.1.1单片机的选择
单片机的选择在整个系统设计中至关重要,要满足大内存、高速率、通用性、价格便宜等要求,本课题选择AT89S51作为主控芯片。
AT89S51是一个低功耗,高性能CMOS8位单片机,片内含4kBytesISP(In-systemprogrammable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISPFlash存储单元,功能强大的微型计算机的AT89S51可为许多嵌入式控制应用系统提供高性价比的解决方案。
AT89S51芯片具有以下特性:
①指令集和芯片引脚与Intel公司的8051兼容;
②4KB片内在系统可编程Flash程序存储器;
③时钟频率为0~33MHz;
④128字节片内随机读写存储器(RAM);
⑤32个可编程输入/输出引脚;
⑥2个16位定时/计数器;
⑦6个中断源,2级优先级;
⑧全双工串行通信接口;
⑨监视定时器;
⑩2个数据指针。
AT89S51单片机的40个引脚中有2个专用于主电源引脚,2个外接晶振的引脚,4个控制或与其它电源复用的引脚,以及32条输入输出I/O引脚。
★电源引脚Vcc和Vss
Vcc(40脚):
接+5V电源正端;
Vss(20脚):
接地。
★外接晶振引脚XTAL1和XTAL2
XTAL1(19脚):
接外部石英晶体的一端。
在单片机内部,它是一个反相放大器的输入端,这个放大器构成采用外部时钟时,对于HMOS单片机,该引脚接地;对于CHOMS单片机,该引脚作为外部振荡信号的输入端。
XTAL2(18脚):
接外部晶体的另一端。
在单片机内部,接至片内振荡器的反相放大器的输出端。
当采用外部时钟时,对于HMOS单片机,该引脚作为外部振荡信号的输入端。
对于CHMOS芯片,该引脚悬空不接。
★控制信号或与其它电源复用引脚有RST/VPD、ALE/PSEN和/EA/VPP等4种形式。
RST/VPD(9脚):
RST即为RESET,VPD为备用电源,所以该引脚为单片机的上电复位或掉电保护端。
当单片机振荡器工作时,该引脚上出现持续两个机器周期的高电平,就可实现复位操作,使单片机复位到初始状态。
当VCC发生故障,降低到低电平规定值或掉电时,该引脚可接上备用电源VPD(+5V)为内部RAM供电,以保证RAM中的数据不丢失。
ALE/PSEN(30脚):
当访问外部存储器时,ALE(允许地址锁存信号)以每机器周期两次的信号输出,用于锁存出现在P0口的地址信号。
PSEN(29脚):
片外程序存储器读选通输出端,低电平有效。
当从外部程序存储器读取指令或常数期间,每个机器周期PESN两次有效,以通过数据总线口读回指令或常数。
当访问外部数据存储器期间,PESN信号将不出现。
EA/Vpp(31脚):
EA为访问外部程序储器控制信号,低电平有效。
当EA端保持高电平时,单片机访问片内程序存储器4KB(MS—52子系列为8KB)。
若超出该范围时,自动转去执行外部程序存储器的程序。
当EA端保持低电平时,无论片内有无程序存储器,均只访问外部程序存储器。
对于片内含有EPROM的单片机,在EPROM编程期间,该引脚用于接21V的编程电源Vpp。
★输入/输出(I/O)引脚P0口、P1口、P2口及P3口
P0口(39脚~22脚):
这8条引脚有两种不同功能,分别适用于两种不同情况。
第一种情况是89S51不带片外存储器,P0口可以作为通用I/O口使用,P0.0-P0.7用于传送CPU的输入/输出数据。
第二种情况是89S51带片外存储器,P0.0-P0.7在CPU访问片外存储器时用于传送片外存储器的低8位地址,然后传送CPU对片外存储器的读写数据。
P1口(1脚~8脚):
这8条引脚和P0口的8条引脚类似。
当P1口作为通用I/O口使用时,P1.0-P1.7的功能和P0口的第一功能相同,也用于传送用户的输入和输出数据。
P2口(21脚~28脚):
这组引脚的第一功能和上述两组引脚的第一功能相同,既它可以作为通用I/O口使用。
它的第二功能和P0口引脚的第二功能相配合,用于输出片外存储器的高8位地址。
P3口(10脚~17脚):
P3.0~P3.7统称为P3口。
它为双功能口,可以作为一般的准双向I/O接口,也可以将每1位用于第2功能,而且P3口的每一条引脚均可独立定义为第1功能的输入输出或第2功能。
P3口的第2功能见表3.1。
表3.1单片机P3口管脚第2功能
引脚
第2功能
P3.0
P3.1
P3.2
P3.3
P3.4
P3.5
P3.6
P3.7
RXD(串行口输入端0)
TXD(串行口输出端)
INT0(部中断0请求输入端,低电平有效)
INT1(中断1请求输入端,低电平有效)
T0(时器/计数器0计数脉冲端)
T1(时器/计数器1数脉冲端)
WR(部数据存储器写选通信号输出端,低电平有效)
RD(部数据存储器读选通信号输出端,低电平有效)
AT89S51单片机引脚图如图3-1所示
图3-1单片机引脚图
3.1.2传感器的选择
本系统采用DALLAS半导体公司生产的一线式数字温度传感器DS18B20采集温度数据,DS18B20属于新一代适配微处理器的智能温度传感器,可广泛用于工业、民用、军事等领域的温度测量及控制仪器、测控系统和大型设备中。
它具有体积小,接口方便,传输距离远等特点。
DS18B20的性能特点:
①采用单总线专用技术,既可通过串行口线,也可通过其它I/O口线与微机接口,无须经过其它变换电路,直接输出被测温度值(9位二进制数,含符号位),②测温范围为-55℃-+125℃,测量分辨率为0.0625℃,③内含64位经过激光修正的只读存储器ROM,④适配各种单片机或系统机,⑤用户可分别设定各路温度的上、下限,⑥内含寄生电源。
DS18B20内部结构主要由四部分组成:
64位光刻ROM,温度传感器,非挥发的温度报警触发器TH和TL,高速暂存器。
DS18B20的管脚排列如图3-2所示。
图3-2 DS18B20引脚分布图
DS18B20高速暂存器共9个存储单元,如表3.2所示:
表3.2DS18B20高速暂存器
序号
寄存器名称
作 用
序号
寄存器名称
作用
0
1
2
3
温度低字节
温度高字节
TH/用户字节1
HL/用户字节2
以16位补码形式存放
以16位补码形式存放
存放温度上限
存放温度下限
4、5
6
7
8
保留字节1、2
计数器余值
计数器/℃
CRC
以12位转化为例说明温度高低字节存放形式及计算:
12位转化后得到的12位数据,存储在18B20的高低两个8位的RAM中,二进制中的前面5位是符号位。
如果测得的温度大于0,这5位为0,只要将测到的数值乘于0.0625即可得到实际温度;如果温度小于0,这5位为1,测到的数值需要取反加1再乘于0.0625才能得到实际温度。
表3.3温度高低字节存放形式
高8位
S
S
S
S
S
26
25
24
低8位
23
22
21
20
2-1
2-2
2-3
2-4
在硬件上,DS18B20与单片机的连接有两种方法,一种是Vcc接外部电源,GND接地,I/O与单片机的I/O线相连;另一种是用寄生电源供电,此时UDD、GND接地,I/O接单片机I/O。
无论是内部寄生电源还是外部供电,I/O口线要接5KΩ左右的上拉电阻。
DS18B20有六条控制命令,如表3.4所示:
表3.4DS18B20控制命令
指 令
约定代码
操 作 说 明
温度转换
读暂存器
写暂存器
复制暂存器
重新调E2RAM
读电源供电方式
44H
BEH
4EH
48H
B8H
B4H
启动DS18B20进行温度转换
读暂存器9个字节内容
将数据写入暂存器的TH、TL字节
把暂存器的TH、TL字节写到E2RAM中
把E2RAM中的TH、TL字节写到暂存器TH、TL字节
启动DS18B20发送电源供电方式的信号给主CPU
CPU对DS18B20的访问流程是:
先对DS18B20初始化,再进行ROM操作命令,最后才能对存储器操作,数据处理。
DS18B20每一步操作都要遵循严格的工作时序和通信协议。
如主机控制DS18B20完成温度转换这一过程,根据DS18B20的通讯协议,须经三个步骤:
每一次读写之前都要对DS18B20进行复位,复位成功后发送一条ROM指令,最后发送RAM指令,这样才能对DS18B20进行预定的操作。
DS18B20的测温原理:
每一片DSl8B20在其ROM中都存有其唯一的48位序列号,在出厂前已写入片内ROM中。
主机在进入操作程序前必须用读ROM(33H)命令将该DSl8B20的序列号读出。
程序可以先跳过ROM,启动所有DSl8B20进行温度变换,之后通过匹配ROM,再逐一地读回每个DSl8B20的温度数据。
3.1.3存储器EEPROM的选择
外部存储模块采用美国ATMEL公司生产的低功耗CMOS型EPROM器件AT24C02,它内含256×8位存储空间,具有工作电压宽(2.5~5.5V)、擦写次数多(大于10000次)、写入速度快(小于10ms)、抗干扰能力强、数据不易丢失、体积小等特点。
它采用了I^2C总线规程,使主/从机双向通信。
主机通过SCL引脚产生串行时钟信号并发出控制字,控制总线数据传送的开始、方向和停止。
无论是主机还是从机,接收到一个字节后必须发出一个确认信号。
AT24C02B占用很少的资源和I/O线,并且支持在线编程,数据实时存取十分方便。
AT24C02管脚配置:
图3-3AT24C02管脚
表3.5AT24C02管脚名称
管脚名称
功能
A0、A1、A2
器件地址选择
SDL
串行数据、地址
SCL
串行时钟
WP
写保护
VCC
+1.8V~6.0V工作电压
VSS
地
特性:
1.数据线上的看门狗定时器
2.可编程复位门栏电平
3.高数据传送速率为400KHz和1C总线兼容
4.2.7V至7V的工作电压
5.低功耗CMOS工艺
6.16字节页写缓冲区
7.片内防误擦除写保护
8.高低电平复位信号输出
9.100万次擦写周期
10.数据保存可达100年
11.商业级、工业级和汽车温度范围
AT24C02支持I2C,总线数据传送协议I2C,总线协议规定任何将数据传送到总线的器件作为发送器。
任何从总线接收数据的器件为接收器。
数据传送是由产生串行时钟和所有起始停止信号的主器件控制的。
主器件和从器件都可以作为发送器或接收器,但由主器件控制传送数据(发送或接收)的模式,通过器件地址输入端A0、A1和A2可以实现将最多8个AT24C02器件连接到总线上。
SCL串行时钟:
AT24C02串行时钟输入管脚用于产生器件所有数据发送或接收的时钟,这是一个输入管脚。
SDA串行数据/地址:
AT24C02双向串行数据/地址管脚用于器件所有数据的发送或接收,SDA是一个开漏输出管脚,可与其它开漏输出或集电极开路输出进行线或(wire-OR)。
A0、A1、A2器件地址输入端:
这些输入脚用于多个器件级联时设置器件地址,当这些脚悬空时默认值为0。
当使用AT24C02时最大可级联8个器件。
如果只有一个AT24C02被总线寻址,这三个地址输入脚(A0、A1、A2)可悬空或连接到Vss,如果只有一个AT24C02被总线寻址这三个地址输入脚(A0、A1、A2)必须连接到Vss。
WP写保护:
如果WP管脚连接到Vcc,所有的内容都被写保护只能读。
当WP管脚连接到Vss或悬空允许器件进行正常的读/写操作
3.2单片机控制块模
控制模块是整个设计方案的核心,它控制了温度的采集、处理与显示、温度值的设定与温度越限时控制电路的启动。
本控制模块由单片机AT89S51及其外围电路组成,电路如图3-4所示。
图3-4单片机最小系统
该电路采用按键加上电复位,S1为复位按键,复位按键按下后,使RST引脚为高电平,复位按键弹起后,电源通过10KΩ的电阻对1μF的电容CR1重新充电,RST引脚端出现复位正脉冲.
AT89S51内部有一个高增益反相放大器,用于构成振荡器,但要形成时钟脉冲,外部还需附加电路,本设计采用内部时钟方式,利用芯片内部的振荡器,然后在引脚XTAL1和XTAL2两端跨接晶体振荡器,就构成了稳定的自激振荡器,发出的脉冲直接送入内部时钟电路,CY3和CY4的值通常选择为30pF左右,晶振Y2选择12MHz.为了减小寄生电容,更好地保证振荡器稳定、可靠地工作,振荡器电容应尽可能安装得与单片机引脚XTAL1和XTAL2靠近。
单片机的31脚(EA)接+5V电源,表示允许使用片内ROM。
3.3温度数据采集模块
温度由DALLAS公司生产的一线式数字温度传感器DS18B20采集。
DS18B20测温范围为-55°C~+125°C,测温分辨率可达0.0625°C,被测温度用符号扩展的16位补码形式串行输出。
CPU只需一根端口线就能与诸多DS18B20通信,占用微处理器的端口较少,可节省大量的引线和逻辑电路。
本设计采用三引脚PR-35封装的DS18B20,其引脚图见图3-2。
Vdd接外部上拉电阻R11,GND接地,I/O与单片机的P1.4引脚相连,电路如图3-5所示。
图3-5DS18B20接口电路
3.4显示模块
显示部分采用LCD1602液晶屏显示方式,1602液晶屏的D0~D7的8位数据端口接P0,数据选择端RS接P2.0,读写选择端R/W接P2.1,使能信号E端接P1.2,构成显示电路,电路如图3-6所示。
图3-6液晶接口电路
3.5按键扫描控制模块
本模块采用四个独立按键分别接在P30-P33四个I/O口上,独立按键key1设定为“加上限”按键;每按下一次,温度上限值增加1度;独立按键key2设定为“加下限”按键;每按下一次,温度下限值增加1度;独立按键key3设定为“减上限”按键;每按下一次,温度上限值减少1度;独立按键key4设定为“减下限”按键;每按下一次,温度下限值减少1度,电路如图3-7示:
图3-7按键接口电路
3.6温度监控模块
若当前温度数值超过EEPROM中存储的温度上限数据,通过单片机P34口产生周期为1KHz占空比为30%的PWM信号驱动直流电机工作,同时蜂鸣器开始报警。
待温度恢复到上下限阀值内时,直流电机停止工作,蜂鸣器停止报警。
若当前温度低于EEPROM中存储的温度下限数据,继电器打开LED灯,当温度恢复到上下限阀值内时,继电器自动关闭LED灯,电路如图3-8示:
图3-8电动机接口电路
3.7外部存储模块
外部存储模块采用美国ATMEL公司生产的低功耗的CMOS型EEPROM器件AT24C02,它内部含256*8位存储空间,具有工作电压宽(2.5-5.5V)、擦写次数多(大于1000次)、写入速度快(小于10ms)、抗干扰能力强、数据不易丢失、体积小等特点。
它采用了I2C总线规程。
使主/从机双向通信。
主机通过SCL引脚产生串行时钟信号并发出控制字,控制总线数据传送的开始,方向和停止,电路如图3-9示:
图3-9AT24C2接口电路
第四章系统的软件设计
4.1系统功能概述
采用模块化的设计方法,将系统的程序设计复杂度大大降低。
主程序调用了5个子程序,分别是LCD显示程序、按键扫描及处理程序、温度采集程序、温度越界判决程序、AT24C02读写程序。
LCD显示程序用于温度等数据的实时显示;按键扫描及处理程序实现按键识别、按键输入及相关处理;温度采集程序负责把DS18B20所采集的现场温度读入到指定的数组中;温度越界判决程序,对现场温度与设定的温度上下限进行比较,若温度越界,并且当温控开关处于开启状态时,启动加热器或致冷器工作(硬件上通过直流电机和继电器模拟);AT24C02读写程序,存储和调用设定的温度上下限值。
4.2温度监控主程序设计
温度监控程序的设计应考虑如下问题:
(1)环境温度采样,传感器采集温度程序。
(2)温度标度转换程序,温度显示程序。
(3)键盘扫描和存储上下限数据程序。
(4)温度越线报警程序。
图4-1温度监控主程序流程图
4.3环境温度采样及数据处理子程序设计
根据DS18B20的通讯协议,主机控制DS18B20完成温度转换必须经过三个步骤:
1.每一次读写之前都必须要对DS18B20进行复位;
2.复位成功后发送一条ROM指令;
3.最后发送RAM指令,这样才能对DS18B20进行预定的操作。
复位要求主CPU将数据线下拉5
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 温度 监控器
![提示](https://static.bdocx.com/images/bang_tan.gif)