《基于AT89S52的电烤箱温度控制系统ppt课件》由会员分享,可在线阅读,更多相关《基于AT89S52的电烤箱温度控制系统ppt课件(48页珍藏版)》请在金锄头文库上搜索。
1、第9章 单片机系统的应用与开发9.2运用系运用系统设计实统设计实例例单单片机温度控片机温度控制系制系统统9.2.1技技术术目的目的烘干箱的烘干箱的详细详细目的如下:目的如下: 1 烘干箱由烘干箱由2kW电电炉加炉加热热,最高温度,最高温度为为500。 2 烘烘干干箱箱温温度度可可预预置置,烘烘干干过过程程恒恒温温控控制制,温温度度控制控制误误差差2。 3 预预置置时时显显示示设设定定温温度度,烘烘干干时时显显示示实实时时温温度度,显显示准确到示准确到1。 4 温度超出温度超出预预置温度置温度5时发时发声声报报警。警。 5 对对升降温升降温过过程的程的线线性没有要求。性没有要求。第9章 单片机系
2、统的应用与开发9.2.2控制方案控制方案产产品品的的工工艺艺不不同同,控控制制温温度度的的精精度度也也不不同同,因因此此所所采采用用的的控控制制算算法法也也不不同同。就就温温度度控控制制系系统统的的动动态态特特性性来来讲讲,根根本本上上都都是是具具有有纯纯滞滞后后的的一一阶阶环环节节,当当系系统统精精度度及及温温控控的的线线性性性性能能要要求求较较高高时时,多多采采用用PID算算法或达林法或达林顿顿算法来算法来实现实现温度控制。温度控制。本本系系统统是是一一个个典典型型的的闭闭环环控控制制系系统统。从从技技术术目目的的可可以以看看出出,系系统统对对控控制制精精度度的的要要求求不不高高,对对升升
3、降降温温过过程程的的线线性性也也没没有有要要求求,因因此此,系系统统采采用用最最简简单单的的通通断断控控制制方方式式,即即当当烘烘干干箱箱温温度度到到达达设设定定值值时时断断开开加加热热电电炉炉,当当温温度度降降到到低低于于某某值值时时接接通通电电炉炉开开场场加加热热,从从而而坚坚持恒温控制。持恒温控制。第9章 单片机系统的应用与开发9.2.3硬件硬件设计设计系系统统的的硬硬件件电电路路包包括括主主机机、温温度度检检测测、温温度度控控制制、人人机机对对话话 键键盘盘/显显示示/报报警警 4个主要部分。个主要部分。图图9.10为为系系统统的构造框的构造框图图,图图9.11为为系系统统的硬件的硬件
4、电电路原理路原理图图。下面下面对对各部分各部分电电路分述如下。路分述如下。1 主机主机由由于于系系统统控控制制方方案案简简单单,数数据据量量也也不不大大,因因此此选选用用8031作作为为控控制制系系统统的的中中心心,外外扩扩EPROM2764作作为为程程序序存存储储器器。也也可可视视详详细细情情况况换换用用8051、8052、8751、8752、80C51、89C51、89C52等等。其其中中,8051、8052、8751、8752的的各各个个引引脚脚输输入入/输输出出电电平平只只与与TTL电电平平兼兼容容;89C51、89C52、80C51各各引引脚脚输输入入/输输出出电电平平既既与与TTL
5、电电平兼容,也与平兼容,也与CMOS电电平兼容。平兼容。第9章 单片机系统的应用与开发图9.10 电烤箱控制系统构造框第9章 单片机系统的应用与开发图9.11 电烤箱控制系统硬件电路原理图第9章 单片机系统的应用与开发8031的晶振频率为6MHz。2温度检测这部分包括温度传感器、变送器和A/D转换三部分。温度传感器和变送器的类型选择与被控温度的范围及精度等级有关。型号为WZB003,分度号为BA2的铂热电阻适用于0500的温度丈量范围,可以满足本系统的要求。变送器将电阻信号转换成与温度成正比的电压,当温度在0500时变送器输出04.9V左右的电压。第9章 单片机系统的应用与开发A/D转换器件的
6、选择主要取决于温度的控制精度。本系统要求温度控制误差2,采用8位A/D转换器,其最大量化误差为=,完全可以满足精度要求。这里我们采用ADC0809作为A/D转换器。电路设计好后,调整变送器的输出,使0500的温度变化对应于04.9V的输出,那么A/D转换对应的数字量为00HFAH,即0250,那么转换结果乘以2正好是温度值。用这种方法一方面可以减少标度转换的任务量,另一方面还可以防止标度转换带来的计算误差。第9章 单片机系统的应用与开发3温度控制温度控制电电炉炉控控制制采采用用可可控控硅硅来来实实现现,双双向向可可控控硅硅和和电电炉炉电电阻阻丝丝串串接接在在交交流流220V市市电电回回路路中中
7、。单单片片机机的的P1.7口口经经过过光光电电隔隔离离器器和和驱驱动动电电路路送送到到可可控控硅硅的的控控制制端端,由由P1.7口的上下电平来控制可控硅的导通与断开,从而控制电阻丝的通电加热时间。口的上下电平来控制可控硅的导通与断开,从而控制电阻丝的通电加热时间。4人机对话人机对话这部分包括键盘、显示和报警三部分电路。这部分包括键盘、显示和报警三部分电路。本本系系统统设设有有3位位LED数数码码显显示示器器,停停顿顿加加热热时时显显示示设设定定温温度度,启启动动加加热热时时显显示当前烤箱温度。采用串行口扩展的静态显示电路作为显示接口电路。示当前烤箱温度。采用串行口扩展的静态显示电路作为显示接口
8、电路。第9章 单片机系统的应用与开发为使系统简单紧凑,键盘只设置4个功能键,分别是启动、“百位+、“十位+和“个位+键,由P1口低4位作为键盘接口。利用+1按键可以分别对预置温度的百位、十位和个位进展加1设置,并在LED上显示当前设置值。延续按动相应位的加1键即可实现0500的温度设置。报警功能由蜂鸣器实现。当由于不测要素导致烤箱温度高于设置温度时,P1.6口送出的低电平经反向器驱动蜂鸣器鸣叫报警。5其它可扩展电路对于要求更高的系统,在现有电路的根底上,读者还可以视需求自行扩展以下接口电路:第9章 单片机系统的应用与开发1实时时钟电路:衔接实时时钟芯片DS12887可以获得长的采样周期,显示年
9、、月、日、时、分、秒,而其片内带有的114B非易失性RAM,可用来存入需长期保管但有时也需变卦的数据。如采样周期、PID控制算法的系数KP、KI、KD等。2“看门狗电路:衔接集成监控芯片MAX705可实现对主电源VCC的监控,提高系统的可靠性。由于本书附带的实验板已将P1口用排针引出,因此,读者可以方便地用实验板来实现上述系统。可在P1.6口外接蜂鸣器电路,在P1.7口外接电炉驱动控制电路,P1.0P1.3口外接4个功能按键启动、+100、+10、+1。第9章 单片机系统的应用与开发9.2.4软软件件设计设计1.任任务务流程流程烤烤箱箱在在上上电电复复位位后后先先处处于于停停顿顿加加热热形形状
10、状,这这时时可可以以用用“+1键键设设定定预预置置温温度度,显显示示器器显显示示预预定定温温度度;温温度度设设定定好好后后就就可可以以按按启启动动键键启启动动系系统统任任务务了了。温温度度检检测测系系统统不不时时定定时时检检测测当当前前温温度度,并并送送往往显显示示器器显显示示,到到达达预预定定值值后后停停顿顿加加热热并并显显示示当当前前温温度度;当当温温度度下下降降到到下下限限 比比预预定定值值低低2 时时再再启启动动加加热热。这这样样不不时时反反复复上上述述过过程程,使使温温度度坚坚持持在在预预定定温温度度范范围围之之内内。启启动动后后不不能能再再修修正正预预置置温温度度,必必需需按按复复
11、位位/停停顿键顿键回到停回到停顿顿加加热热形状再重新形状再重新设设定定预预置温度。置温度。第9章 单片机系统的应用与开发2.功能模功能模块块根据上面根据上面对对任任务务流程的分析,系流程的分析,系统软统软件可以分件可以分为为以下几个功能模以下几个功能模块块: 1 键盘键盘管理:管理:监测键盘输监测键盘输入,接入,接纳纳温度温度预预置,启置,启动动系系统统任任务务。 2 显显示:示:显显示示设设置温度及当前温度。置温度及当前温度。 3 温度温度检测检测及温度及温度值变换值变换:完成:完成A/D转换转换及数字及数字滤滤波。波。 4 温度控制:根据温度控制:根据检测检测到的温度控制到的温度控制电电炉
12、任炉任务务。 5 报报警:当警:当预预置温度或当前炉温越限置温度或当前炉温越限时报时报警。警。第9章 单片机系统的应用与开发3.资资源分配源分配为为了便于了便于阅读阅读程序,首先程序,首先给给出出单单片机片机资资源分配情况。源分配情况。数据存数据存储储器的分配与定器的分配与定义见义见表表9.2。表表9.2温度控制温度控制软软件数据存件数据存储储器分配表器分配表地址功能称号初始化值50H51H当前检测温度,高位在前TEMP1TEMP000H52H53H预置温度,高位在前ST1ST000H54H56HBCD码显示缓冲区,百位、十位、个位T100,T10,T00H57H58H二进制显示缓冲区,高位在
13、前BT1,BT000H59H7FH堆栈区PSW.5报警允许标志F0=0时制止报警;F0=1时允许报警F00第9章 单片机系统的应用与开发程序存储器:EPROM2764的地址范围为0000H1FFFHI/O口:P1.0P1.3键盘输入;P1.6、P1.7报警控制和电炉控制。A/D转换器0809:通道0通道7的地址为7FF8H7FFFH,运用通道0。4.功能软件设计1键盘管理模块上电或复位后系统处于键盘管理形状,其功能是监测键盘输入,接纳温度预置和启动键。程序设有预置温度合法检测报警,当预置温度超越500时会报警并将温度设定在500。键盘管理子程序流程图如图9.12所示。第9章 单片机系统的应用与
14、开发图9.12 键盘管理子程序流程图第9章 单片机系统的应用与开发键盘管理子程序KIN:KIN:ACALCHK;预置温度合法性检测MOVBT1,ST1MOVBT0,ST0;预置温度送显示缓冲区LCALLDISP;显示预置温度KIN0:ACALLKEY;读键值JZ KIN0;无键闭合和重新检测ACALLDISP第9章 单片机系统的应用与开发ACALLDISP;二次调用显示子程序延时去抖ACALL KEY;再检测有无键按下JZKIN0;无键按下重新检测JBACC.1,S10MOVA,#100;百位键按下AJMPSUMS10:JBACC.2,S1MOVA,#10 ;十位键按下AJMPSUM第9章 单
15、片机系统的应用与开发S1:JBACC.3,S0MOVA,#01 ;个位键按下SUM: ADDA,ST0 ;预置温度按键+1MOVST0,AMOVA,#00HADDCA,ST1MOVST1,AKIN1:ACALLKEY;判别闭合键释放JNZKIN1;未释放继续判别AJMPKIN;闭合键释放继续扫描键盘第9章 单片机系统的应用与开发S0:JNBACC.0,KIN;无键按下重新扫描键盘RET;启动键按下前往KEY:MOVA,P1;读键值子程序CPL AANL A,#0FHRET预置温度合法性检测子程序CHK用双字节减法比较预置温度能否大于50001F4H:第9章 单片机系统的应用与开发CHK:MOV
16、A,#0F4H;预置温度上限低8位送ACLRCSUBBA,ST0 ;低8位减,借位送CYMOVA,#01H;预置温度上限高8位送ASUBBA,ST1 ;高8位带借位减JCOUTA;预置温度越界,转报警MOVA,#00H;预置温度合法标志RET第9章 单片机系统的应用与开发OUTA:MOVST1,#01H;将500写入预置温度数据区MOVST0,#0F4HCLRP1.6;发报警信号0.6sACALLD0.6sSETBP1.6;停顿报警RET第9章 单片机系统的应用与开发2显示模块显示模块显显示示子子程程序序的的功功能能是是将将显显示示缓缓冲冲区区57H和和58H的的二二进进制制数数据据先先转转换
17、换成成三三个个BCD码码,分分别别存存入入百百位位、十十位位和和个个位位显显示示缓缓冲冲区区54H、55H和和56H单单元元,然后经过串口送出显示。显示子程序然后经过串口送出显示。显示子程序DISP:DISP:ACALLHTB;将显示数据转换为;将显示数据转换为BCD码码MOVSCON,#00H;置串行口为方式;置串行口为方式0MOVR2,#03H;显示位数送;显示位数送R2MOVR0,#T100;显示缓冲区首地址送;显示缓冲区首地址送R0第9章 单片机系统的应用与开发LD:MOVDPTR,#TAB;指向字型码表首地址MOVA,R0;取显示数据MOVCA,A+DPTR;查表MOVSBUF,A;
18、字型码送串行口WAIT:JBCTI,NEXT;发送终了转下一个数据并清中断标志SJMPWAIT;发送未完等待NEXT:INCR0;修正显示缓冲区指针DJNZR2,LD ;判3位显示完否,未完继续RET第9章 单片机系统的应用与开发TAB:;字型码表略BCD码转换子程序HTB:HTB:MOVA,BT0 ;取二进制显示数据低8位MOVB,#100;除100,确定百位数DIVABMOVT100,A;百位数送54H单元MOVA,#10 ;除10,确定十位第9章 单片机系统的应用与开发XCHA,BDIVA,BMOVT10,A;十位数送55H单元MOVT,B;个位数送56H单元MOVA,BT1;取二进制显
19、示数据高8位JNZLH1;高位不为0转LH1继续高8位转换RET;高位为0终了,前往LH1:MOVA,#06H;高位不为0,低位转换结果加256由于温度数据不会;大于500,所以高8位最多为01H,即256第9章 单片机系统的应用与开发ADD A,TDAA;个位加6十进制加MOVT,A;结果送回个位MOVA,#05HADDCA,T10DAA;十位加5十进制加第9章 单片机系统的应用与开发MOVT10,A ;结果送回十位MOVA,#02HADDCA,T100DAA;百位加2十进制加MOVT100,A;结果送回百位RET第9章 单片机系统的应用与开发3温度检测模块温度检测模块A/D转转换换采采用用
20、查查询询方方式式。为为提提高高数数据据采采样样的的可可靠靠性性,对对采采样样温温度度进进展展数数字字滤滤波波。数数字字滤滤波波的的算算法法很很多多,这这里里采采用用4次次采采样样取取平平均均值值的的方方法法。如如前前所所述述,本本系系统统A/D转转换换结结果果乘乘2正正好好是是温温度度值值,因因此此,4次次采采样样的的数数字字量量之之和和除除以以2就就是是检检测测的的当当前前温温度度。检检测测结结果果高高位位存存入入50H,低低位位存存入入51H。温温度度检检测测子子程程序序流流程程图图如如图图9.13所示。所示。温度检测子程序温度检测子程序TIN:第9章 单片机系统的应用与开发图9.13 温
21、度检测子程序流程图第9章 单片机系统的应用与开发温度检测子程序TIN:TIN:MOVTEMP1,#00H;清检测温度缓冲区MOVTEMP0,#00HMOVR2,#04H;取样次数送R2MOVDPTR,#7FF8H;指向A/D转换器0通道LTIN1:MOVXDPTR,A;启动转换HERE:JNBIE1,HERE ;等待转换终了MOVXA,DPTR;读转换结果第9章 单片机系统的应用与开发ADD A,TEMP0;累加双字节加法MOVTEMP0,AMOVA,#00HADDCA,TEMP1MOVTEMP1,ADJNZR2,LTIN1;4次采样完否,未完继续CLRC;累加结果除2双字节除法MOVA,TE
22、MP1第9章 单片机系统的应用与开发RRCAMOVTEMP1,AMOVA,TEMP0RRCAMOVTEMP0,ARET第9章 单片机系统的应用与开发4 温度控制模温度控制模块块将将当当前前温温度度与与预预置置温温度度比比较较,当当前前温温度度小小于于预预置置温温度度时时,继继电电器器闭闭合合,接接通通电电阻阻丝丝加加热热;当当前前温温度度大大于于预预置置温温度度时时,继继电电器器断断开开,停停顿顿加加热热;当当二二者者相相等等时时电电炉炉坚坚持持原原来来形形状状;当当前前温温度度降降低低到到比比预预置置温温度度低低2时时,再再重重新新启启动动加加热热;当当前前温温度度超超出出报报警警上上下下限
23、限时时将将启启动动报报警警,并并停停顿顿加加热热。由由于于电电炉炉开开场场加加热热时时,当当前前温温度度能能够够低低于于报报警警下下限限,为为了了防防止止误误报报,在在未未到到达达预预置置温温度度时时,不不允允许许报报警警,为为此此设设置了置了报报警允警允许标许标志志F0。模。模块块流程流程见图见图9.14。第9章 单片机系统的应用与开发图9.14 温度控制流程图第9章 单片机系统的应用与开发温度控制子程序CONT:CONT:MOVA,TEMP0;当前温度-预置温度双字节减CLRCSUBBA,ST0MOVB,A;低8位相减的差值暂存BMOVA,TEMP1SUBBA,ST1第9章 单片机系统的应
24、用与开发JNCLOFF;无借位,表示当前温度预置温度,转LOFFJNBF0,LON;当前温度预置温度,判能否到达过预置温度MOVA,B;假设到达过预置温度,判二者差值能否大于2CLRCSUBBA,#02HJNCACC.7,LOFF;差值不大于2,转LOFFLON:CLRP1.7;开电炉SJMP EXIT;前往第9章 单片机系统的应用与开发LOFF: SETBF0;设置允许报警标志SETBP1.7;关电炉EXIT: RET在此,读者也可自行参与PID算法程序来实现PID控制。5温度越限报警模块报警上限温度值为预置温度+5,即当前温度上升到高于预置温度+5时报警,并停顿加热;报警下限温度值为预置温
25、度-5,即在当前温度下降到低于预置温度-5,且报警允许时报警,这是为了防止开场从较低温度加温时误报警。报警的同时也封锁电炉。图9.15为报警子程序流程图。第9章 单片机系统的应用与开发图9.15 报警子程序流程图第9章 单片机系统的应用与开发报警子程序ALARMALARM:MOVA,TEMP0;当前温度低字节ACLRCSUBBA,ST0 ;当前温度低字节-预置温度低字节AMOVB,A;低字节相减结果送B暂存MOVA,TEMP1;当前温度高字节ASUBBA,ST1;当前温度高字节-预置温度高字节A第9章 单片机系统的应用与开发JCLA0;有借位,当前温度小于预置温度转LA0SETBF0;当前温度
26、预置温度,允许报警AJMPLA1LA0:MOVA,ST0;预置温度低字节ACLRCSUBBA,TEMP0;预置温度低字节-当前温度低字节AMOVB,A;低字节相减结果送B暂存MOVA,ST1;预置温度高字节ASUBBA,TEMP1;预置温度高字节-当前温度高字节A第9章 单片机系统的应用与开发LA1:XCHA,B;上下字节互换,判别相减结果能否大于5CLRCSUBBA,#05H;低字节差-5AXCHA,B;低字节差-5B,高字节差ASUBBA,#00H;高字节差-0A由于5的高字节为0JCLA2;相减结果小于5,不报警前往JNB F0,LA2;相减结果5,判能否允许报警,不允许那么前往第9章
27、单片机系统的应用与开发CLR P1.6;启动报警SETBP1.7;关电炉LCALLD0.6s;报警延时0.6sSETBP1.6;关报警LA2:RETD0.6s: 略;延时0.6s子程序第9章 单片机系统的应用与开发6主程序和中断效力子程序主程序和中断效力子程序主主程程序序采采用用中中断断嵌嵌套套方方式式设设计计,各各功功能能模模块块可可直直接接调调用用。主主程程序序完完成成系系统统的的初初始始化化,温温度度预预置置及及其其合合法法性性检检测测,预预置置温温度度的的显显示示及及定定时时器器0设设置置。定定时时器器0中中断断效效力力子子程程序序是是温温度度控控制制体体系系的的主主体体,用用于于温温
28、度度检检测测、控控制制和和报报警警包包括括启启动动A/D转转换换、读读入入采采样样数数据据、数数字字滤滤波波、越越限限温温度度报报警警和和越越限限处处置置、输输出出可可控控硅硅的的控控制制脉脉冲冲等等。中中断断由由定定时时器器0产产生生,根根据据需需求求每每隔隔15s中中断断一一次次,即即每每15s采采样样控控制制一一次次。但但系系统统采采用用6MHz晶晶振振,最最大大定定时时为为130ms,为为实实现现15s定定时时,这这里里另行设了一个软件计数器。主程序和中断效力子程序的流程图如图另行设了一个软件计数器。主程序和中断效力子程序的流程图如图9.16所示。所示。第9章 单片机系统的应用与开发图
29、9.16 系统程序总体构造框图第9章 单片机系统的应用与开发主程序MAIN:数据缓冲区的定义和初始化部分从略ORG 0000HAJMPMAINORG 000BHAJMPPT0ORG 0030HMAIN:MOVSP,#59H;设定堆栈指针MOVTMOD,#01H;定时器0初始化第9章 单片机系统的应用与开发MOVTL0,#0B0H;定时器定时时间100msMOVTH0,#3CHMOVR7,#150;置15s软计数器初值ACALLKIN;调键盘管理子程序SETBET0;允许定时器0中断SETBEA;开中断SETBTR0;启动定时器0SJMP$第9章 单片机系统的应用与开发定时器0中断效力子程序PT0:PT0:MOVTL0,#0B0HMOVTH0,#3CH;重置定时器0初值DJNZR7,BACK;15s到否,不到前往MOVR7,#150;重置软计数器初值ACALLTIN;温度检测第9章 单片机系统的应用与开发MOV BT1,TEMP1;当前温度送显示缓冲区MOVBT0,TEMP0ACALLDISP;显示当前温度ACALLCONT;温度控制LCALLALARM;温度越限报警BACK:RETI