第2O卷第4期 2009年12月 苏州市职业大学学报 Journal of Suzhou Vocational University Vo1.20.NO.4 Dec.,2009 基于C51的单片机温度控制系统设计 张晓芳 (健雄职业技术学院计算机工程系,江苏太仓215411) 摘 要:单片机温度控制系统通过温度传感器对现场温度采样后变换为模拟电压信号,经低通 滤波滤掉干扰信号后送放大器,信号放大后送模/数转换器转换为数字信号送单片机完成温度的 控制.c语言在单片机编程中简洁、可移植性高.通过用户设置温度值来实现单片机温度控制,给出 了温度控制系统的硬件连接电路以及软件程序. 关键词:单片机;温度传感器;模/数转换器 中图分类号:TP368 文献标志码:A 文章编号:1008—5475(2009)04—0036—03 Design of Temperature・-handling System on C51 Single-・chip Microcomputer ZHANGXiao-fang (Department of Mechanical and Electrical Engineering Chien—shiung Institute of Technology,Taicang 2 1 541 1,China) Abstract:Temperature—handling system is widely used in daily life.The temperature was converted to the voltage signal by sampling circuit,then the signal was sent to the amplifier after the low band filter circuit to reduce the disturbing signal to get a new signa1.The new signal was sent to the Single・chip Microcomputer after the A/D converter.Temperature—handling system on Single—Chip Microcomputer controled the temperature by the signa1.The C language is portable and brevity.It introduced a temperature—handling system,including hardware circuits and software program. Key words:single—chip microcomputer;temperature transducer;A/D converter 在工业生产和日常生活中,温度控制系统,主要是保证温度在一定范围内变化,要求稳定性好、不 振荡,对系统的快速性要求不高.单片机温度控制系统经过温度传感器对现场温度采样后变换为模拟电 压信号,经低通滤波滤掉干扰信号后送放大器,信号放大后送模/数转换器转换为数字信号送单片机,单 片机根据输入的温度与设定温度进行比较,通过继电器的吸合来控制加热设备实现温度的控制.例如在 日常生活中的空调和电饭煲,设定相应温度,通过温度控制系统进行加热,当温度达到设定值,继电器停 止吸合,停止加热,当温度低于设定值,又开始加热.本文设计基于C51的温度控制系统. 1 硬件电路 加热系统要有加热电阻进行加热及温度传感器便于温度的测量. 1.1 TLP521光耦 TLP521光耦的1、2N个脚是发光侧,3、4N个脚是受光侧.有时在1脚和2脚间并联一个电阻起到分 收稿日期:2009—06—01;修回日期:2009—06—12 作者简介:张晓芳(1980一),女,江苏无锡人,讲师,主要从事电子类和电力系统仿真研究 36 2009年第4期 张晓芳:基于C5 1的单片机温度控制系统设计 流作用,防止发光二极管暗亮产生误动作.1、2脚之间的二极管发光,输出端工作.输出端为NPN型光电 三极管结构,3脚为发射极,4脚为集电极,受光点为基极,3脚下拉电阻接地,4脚接+5V,3脚为I/O输出 端,这种接法导通输出为1,截止输出为0,控制单片机工作. 1.2温度传感器 温度经过热敏电阻转换为电压信号,经放大器放大后进人单片机进行A/D转换成数字量后输出到 静态显示部分,显示其温度值.本实验中近似计算 为150℃,TL为-50℃.程序中温度的计算原理:首 先用温度范围除以0 ̄256(即每个十六进制数的温度增长率),然后乘以模拟转换的数字量,即得到升高 的温度,再和最低温度相加,就可以得到实际的温度值.其公式为: : + x( 一 )/256 式中 是最低温度; 是最高温度; 是模拟电压所转换的数字量. 1.3 ADC0809 ADC0809是典型的8位8通道逐次逼近式A/D转换器,CMOS工艺,用于将模拟信号转化为数字信号. 加热系统要有加热电阻进行加热并由热传感器对温度进行采样和测量.图1中的P3.2接光耦,当 P3.2为高电平时,光耦工作,三极管BG2工作,继电器吸合,LED指示灯亮,加热电阻进行加热,并时刻通 过热传感器进行温度测量.测量的温度通过ADC0809的通道3进行A/D转化.当P3.2; ̄t3低电平时,光耦 停止工作,三极管BG2不工作,继电器释放,LED指示灯不亮,停止加热.由分析可知,可通过对P3.2管脚 电平的控制来控制系统加热与否.在实际应用中,先设定加热截止温度,未达到此温度P3.2设定为高电 平进行加热并时刻对温度进行采样,一旦采样到温度达到设定温度P3.2%3低电平停止加热.单片机最 小应用系统1的WR、RD、P2.0、ALE、INT1分别接A/D转换的WR、RD、P2.0、CLOCK、INT1,A/D转换 的IN接继电器与温度控制部件的Tout,单片机最小应用系统1的TO、T1连接到串行静态显示实验模块的 DIN、CLK.显示采用静态显示,P3.3接DIN,P3.4接CLK.P0口接A/D转化的地址和数据.P1.0-P1.3 接按键. 图1加热系统与A/D转化模块 苏 I'1市职业大学学报 第20卷 2程序框图 初始化时,温度设定值为20℃.温度设定键按 下,通过设定值加和减键调整温度设定值.按下启动 键,P3.2转为高电平,开始加热,并显示当前温度.到达 温度设定值,P3.2为低电平停止加热,显示当前温度.温 度低于设定值,继续加热.直到温度高于设定值,停止 加热.若有温度设定键按下,重新进行加热重复上述过 程.温度传感器的范围是-50℃~150℃,A/D转化的 范围是0~255,为了显示当前温度需要进行数值转化, 当前温度为0.784P0-50.当温度低于0℃时,要显示负 值,此时对应P0口的数值为63.主程序框图如图2所示. 3 结果分析 硬件电路较简单,易于实现.采用C语言编程,较汇 编语言简洁,且可移植性高.尤其是算法,可调用相应函 数,过程大大简化. 在用实验箱仿真过程中,设定加热截止温度为50℃, 未达到此温度,继电器吸合一直进行加热,达到此温度 继电器释放,停止加热.此时可通过按键重新设定加 热截止温度,并通过按键启动加热开始新一轮加热过 程.现实生活中,电饭煲、空调都可采用此种方法进行温 度控制. 本文通过用户设置温度值来实现单片机温度控 制,给出了温度控制系统的硬件连接电路以及控制程 序.MCS.5 1单片机体积小、重量轻、抗干扰能力强,对环 境要求不高,价格低廉,可靠性高,灵活性好.C语言在单 片机编程中简洁、可移植性性高.二者的结合一定会使 单片机的应用更加广泛. 参考文献: [1]于风明.单片机原理及接LI技术[M】.北京:中国轻工业出版社, 1997:30l一3l3. 图2主程序框图 [2】陈明荧.8051单片机课程设计实训教材[M].北京:清华大学出版社,2004. [3】胡汉才.单片机原理及其接口技术[M】.北京:清华大学出版社,1995. (责任编辑:孙 洪)