基于单片机的温度控制系统

更新时间:2024-03-03 作者:用户投稿原创标记本站原创 点赞:20828 浏览:95021

摘 要:本文提出的温度采集控制系统以单片机(AT89S52)为核心,由控制部分、显示部分和温度测量部分组成.这套温度控制系统可以方便地实现温度测量、温度显示等功能,并通过与单片机连接的键盘可以实时设定测控温度的下限,还可以连接相应的电路,在收到单片机发出的指令后对环境进行加热.

关 键 词:单片机温度采集硬件模块

中图分类号:TM924文献标识码:A文章编号:1672-3791(2012)11(c)-0119-01

在国民经济各部门,如电力、化工、机械、冶金、农业、医学以及人们的日常生活中,温度检测是十分重要的.在许多模拟量控制和监视应用中,温度测控通常是基于-40℃~125℃温度范围内的应用,如环境监测、蔬菜大棚、粮库、热电偶冷端温度补偿、设备运行的可靠性等应用.实时采集温度信息,及时发现潜在故障,并采取相应的处理措施,对确保设备良好运行具有重要意义.

1工作原理

首先通过外置温度传感器AD590感知外部温度变化并转化为电流信号;然后将电流信号传输给ADC0804进行AD转换;接着通过单片机完成数据的串并转化,并将数据分别发送到LED和键盘专用IC74C922,分别显示温度和设定温度下限.当现在温度低于设定温度时,则加热(P2.1)动作,使温度上升,直到现在温度高于或等于设定温度加热器才停止动作.

2硬件系统

本温度控制系统包括温度传感器及其信号放大电路、温度显示电路、按键路、供电电源电路等部分组成.

2.1主控模块电路

温度控制系统的主控电路主要由单片机的复位电路、石英振荡电路和下载电路构成.

2.2温度采集、放大电路

(1)AD590将温度转换成相应的电流值,接口电路再把电流转换成电压,经ADC0804转换成数字信号,然后经AT89S52处理.ADC0804所得的值比设定的温度参考值低,则令电热器加热,否则关掉电热器,使温度能保持在所设定的参考值.(2)调试步骤.第一,先调AD590的可变电阻器,如以0℃为参考值则应使其电压输出为2.73V;如以25℃为参考值,则应使其电压输出为2.98V.第二,调节VR2使0℃时,OPA2的输出为0V,而25℃时,OPA2的输出为-0.25V(反相).第三,调VR3使OPA3放大5倍,如OPA2的输出为-0.25V,则OPA3的输出应为1.25V.(3)各OPA的功能.OPA1:阻抗匹配;OPA2:减2.73V(经VR2)并反相;OPA3:放大5倍并反相.

2.3模数转换模块电路

ADC0804将输入模拟值转换成数字值输出到P0,再由单片机运算处理.如输入3V,ADC0804的输出应为96H等于10010110B,此数字信号AT89S52的P0,再由P0存入AT89S52的累加器,然后累加器再送至P1,使相对应的数码管显示.ADC的参考电压VREF应调整为2.56V.

2.4按键模块电路

按键电路实现的功能是设定欲加热温度下限.本电路使用键盘专用IC74C922,以简化软件程序.欲设定温度时,输入“*”,就进入设定模式,显示器显示“00”(设定初值,如已设定过,则显示上一次设定值),开始输入设定温度,设定完成后按“*”,就可回到现在温度显示模式.现在温度低于设定温度,则加热器(P2.1)动作,使温度上升,直到现在温度高于或等于设定温度加热器才停止动作.本电路最高设定温度为109℃.

2.5显示模块电路

本设计采用七段显示译码器74LS47驱动共阳数码管,实现的功能是时时显示传感器采集到的温度值.并在数字键盘设定温度下限时显示设置的温度.显示的最大温度值是99℃.

2.6电源电路

本系统中模拟信号的放大器需要提供+12V、-12V两种电压,所以整个电路至少需要三个电源.考虑到模拟信号易受到干扰,在电路的设计中引入了LC振荡电路,起到了稳压和稳流的作用.电路的模拟部分和数字部分分别设计模拟电源和数字电源.另外电路板上还设计了两个地,称其为模拟地和数字地,两个地之间通过一个电感相连,大大增强了系统的抗干扰能力.

3软件系统分析

3.1数据运算与代码转换

本电路采集电压信号,首先将ADC0804转换成数字值,再将此数字值输出到P0.转化过程为:A/D转换→十进制运算→乘以4→显示.

下面解释一下为什么要乘以4.

输出最大转换值为FFH(255).OPA3为放大5倍,则本电路最大测量温度为:

102℃(5.1V/5等于1.02V).由255×X等于102,知X等于0.4,即先乘4再除10,FF→255→255×4→1020.则R4等于10,R3等于20,即在本电路中D2显示个位数2,D1显示十位数0.如OPA3放大10倍,则本电路最大测量温度为:51℃(5.1V/10等于0.51V).由255×X等于51,知X等于0.2,FF→255→255×2等于510.则R4等于05,R5等于10,即在本电路中D2显示个位数1,D1显示十位数5.

3.2数据存储器RAM的设计

30H:现在温度的个位数;33H设定温度的个位数;31H:现在温度的十位数;34H设定温度的十位数.

3.3中断怎么写作程序

进入中断怎么写作程序以后,执行PUSHPSW和PUSHACC将程序状态寄存器PSW的内容和累加器A中的数据保存起来,这便是所谓的保护现场.以保护现场和恢复现场时存取关键数据的存储区叫做堆栈.在软件的控制之下,堆栈可在片内RAM中的任一区间设定,而堆栈的数据存取与一般的RAM存取又有区别,对它的操作,要遵循后进先出的原则.

3.4键盘输入功能与比较指令

系统的另一功能就是实现令加热器动作的最小温度的设定.系统会不间断的检测是否有按“*”键,“*”对应建立的TABLE表的0AH.当检测到有按下时便进入设定模式,读取74C922键盘值至TABLE表取键盘转换码,再通过七段显示器显示此设定值.这样就完成了对下限温度的设定.


4结语

本文首先指出温度控制对我们的生活产生的深刻影响.通过软、硬件电路的设计,充分利用其的特性,以单片机为核心,实现单片机与显示电路、单片机与键盘相连接,最终实现温度采集和控制的功能.