《2022年2022年炉温控制系统报告 .pdf》由会员分享,可在线阅读,更多相关《2022年2022年炉温控制系统报告 .pdf(24页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、基于单片机的水温控制系统目录摘要,3 第一章前言,3 1.1 课题背景和意义,3 1.2 设计内容概述,3 1.3 报告概述,5 第二章课题设计要求2.1 课题要求,6 2.2 原件清单,6 第三章系统方案设计,7 3.1 系统的设计要求,7 3.2 系统的控制部分,7 3.3 系统的控制方式,7 第四章系统硬件电路设计,8 4.1 STC12C5A60S2 最小系统,8 4.2 DS18B20 传感器电路,9 4.3 矩阵键盘,10 名师资料总结-精品资料欢迎下载-名师精心整理-第 1 页,共 24 页 -错误!文档中没有指定样式的文字。错误!文档中没有指定样式的文字。4.4 数码管显示模块
2、,11 4.5 蜂鸣器报警电路,12 第五章系统测试方法和结果,13 第六章总结,13 附录 A系统程序代码名师资料总结-精品资料欢迎下载-名师精心整理-第 2 页,共 24 页 -错误!文档中没有指定样式的文字。错误!文档中没有指定样式的文字。【摘要】温度是工业控制对象主要的参数之一,如何准备而稳定的控制恒温在一些领域是十分重要的,由于受到被控对象的特性的影响,使得控制系统难以被控制,因而设计一个高性能的温度控制系统是非常有价值的。本系统采用STC89C52 单片机为控制单元,以 PID 控制算法为控制方法并用LABVIEW设计上位机实时监测温度。硬件电路包括矩阵键盘、1602 液晶显示、蜂
3、鸣器报警电路等。该系统经过试验证明可以准确控制水温,误差在+-1,并可设计所需的恒温。【关键字】单片机 STC89C52、PID、恒温第一章前言1.1 课题背景和意义在现代化的工业生产中,电流、电压、温度、流量和流速都是常用的主要控制参数。例如在冶金工业、化工生产、电力工程、造纸行业、机械制造和食品加工等诸多领域中,人们都需要对各类加热炉、锅炉进行恒温控制。采用单片机进行控制有控制方便、灵活性强、电路简单等诸多优点。目前温度控制系统在各行各业虽然已经应用的相当广泛,但从国内生产的温度控制器来讲,总体水平仍然不高。成熟产品主要以 PID 控制器为主,随着嵌入式技术的快速发展及在各行各业的广泛应用
4、,人们对电子产品小型化和智能化的要求越来越高,作为高新技术之一的单片机以其体积小、价格低、可靠性高、应用范围广和控制的灵活性等诸多优势得到越来越广泛的应用。1.2设计内容概述本次计算机控制课程设计是应用计算机的实时监控和温度测量技术,采用单片机、温度检测电路、温度控制电路等,实现电阻炉炉温的实时监控。本次设计使用的STC12C5A60S2系列单片机是宏晶科技生产的单时钟/机器周期(1T)的单片机,是高速/低功耗/超强抗干扰的新一代8051 单片机,指令代码完全兼容传统 8051,但速度快8-12 倍。内部集成MAX810 专用复位电路,2 路 PWM,8 路高速 10位 A/D 转换(250K
5、/S),针对电机控制,强干扰场合。名师资料总结-精品资料欢迎下载-名师精心整理-第 3 页,共 24 页 -错误!文档中没有指定样式的文字。错误!文档中没有指定样式的文字。本系列单片机有丰富的内部资源,极大地扩展了8051 系列单片机的用途:1.增强型 8051 CPU,1T,单时钟/机器周期,指令代码完全兼容传统8051;2.工 作 电 压:STC12C5A60S2系 列 工 作 电 压:5.5V-3.3V(5V单 片 机)STC12LE5A60S2 系列工作电压:3.6V-2.2V(3V 单片机);3.工作频率范围:0-35MHz,相当于普通8051 的 0420MHz;4.用户应用程序空
6、间8K/16K/20K/32K/40K/48K/52K/60K/62K字节;5.片上集成1280 字节 RAM;6.通用 I/O 口(36/40/44 个),复位后为:准双向口/弱上拉(普通 8051 传统 I/O 口),可设置成四种模式:准双向口/弱上拉,推挽/强上拉,仅为输入/高阻,开漏,每个I/O口驱动能力均可达到20mA,但整个芯片最大不要超过55Ma;7.ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器,无需专用仿真器可通过串口(P3.0/P3.1)直接下载用户程序,数秒即可完成一片;8.有 EEPROM 功能(STC12C5A62S2/AD/PWM无内部 EEPROM
7、);9.看门狗;10.内部集成 MAX810 专用复位电路(外部晶体12M 以下时,复位脚可直接1K 电阻到地);11.外部掉电检测电路:在 P4.6 口有一个低压门槛比较器,5V 单片机为1.32V,误差为+/-5%,3.3V 单片机为1.30V,误差为+/-3%;12.时钟源:外部高精度晶体/时钟,内部 R/C 振荡器(温漂为+/-5%到+/-10%以内)1用户在下载用户程序时,可选择是使用内部R/C 振荡器还是外部晶体/时钟,常温下内部 R/C 振荡器频率为:5.0V 单片机为:11MHz15.5MHz,3.3V 单片机为:8MHz12MHz,精度要求不高时,可选择使用内部时钟,但因为有
8、制造误差和温漂,以实际测试为准;13.共 4 个 16 位定时器两个与传统8051 兼容的定时器/计数器,16 位定时器T0和 T1,没有定时器2,但有独立波特率发生器做串行通讯的波特率发生器再加上 2 路 PCA 模块可再实现2 个 16 位定时器;14.2 个时钟输出口,可由 T0 的溢出在 P3.4/T0 输出时钟,可由 T1 的溢出在 P3.5/T1名师资料总结-精品资料欢迎下载-名师精心整理-第 4 页,共 24 页 -错误!文档中没有指定样式的文字。错误!文档中没有指定样式的文字。输出时钟;15.外部中断 I/O 口 7路,传统的下降沿中断或低电平触发中断,并新增支持上升沿中断的
9、PCA 模块,Power Down 模式可由外部中断唤醒,INT0/P3.2,INT1/P3.3,T0/P3.4,T1/P3.5,RxD/P3.0,CCP0/P1.3(也可通过寄存器设置到P4.2),CCP1/P1.4(也可通过寄存器设置到P4.3);16.PWM(2 路)/PCA(可编程计数器阵列,2 路):也可用来当2 路 D/A 使用 也可用来再实现2 个定时器 也可用来再实现2个外部中断(上升沿中断/下降沿中断均可分别或同时支持);17.A/D 转换,10 位精度 ADC,共 8 路,转换速度可达250K/S(每秒钟 25 万次)18.通用全双工异步串行口(UART),由于 STC12
10、 系列是高速的8051,可再用定时器或PCA软件实现多串口;19.STC12C5A60S2 系列有双串口,后缀有S2 标志的才有双串口,RxD2/P1.2(可通过寄存器设置到P4.2),TxD2/P1.3(可通过寄存器设置到P4.3);20.工 作 温 度 范 围:-40-+85(工 业 级)/0-75(商 业 级)21.封 装:PDIP-40,LQFP-44,LQFP-48 I/O口 不 够 时,可用2 到3 根普通I/O口线 外 接74HC164/165/595(均可级联)来扩展I/O 口,还可用 A/D 做按键扫描来节省I/O 口或用双 CPU,三线通信,还多了串口。1.3报告概述这份技
11、术报告中,详尽地介绍了本系统的整体结构、硬件电路、软件控制算法、调试方法等,并附有单片机程序和详细的操作方法。本文主要介绍基于STC12C5A60S2 单片机的炉温控制设计流程,介绍了炉温控制方案以及各个主要模块的工作原理和设计思路。本文并涉及温度传感器系统、继电器系统、显示系统、输入系统的设计。由于系统的复杂性和硬件使用要求以及人力、时间等方面的制约,考虑到系统的实时性和运算能力,系统并没有采用复杂的处理算法和控制算法,一切以实用为主。对于温度控制算法还有待进一步的研究和改进。同时,在电路保护方面的设计有待进名师资料总结-精品资料欢迎下载-名师精心整理-第 5 页,共 24 页 -错误!文档
12、中没有指定样式的文字。错误!文档中没有指定样式的文字。一步地学习和实践。第二章课题设计要求2.1课题要求用单片机及相应的组成部件组成电阻炉温的自动控制系统,要求测温范围0100,使其控制系统控制的温度保温值的变化范围为3060。要求:(1)完成电阻炉温度控制系统设计,包括硬件电路设计和软件程序设计;(2)能够显示控温时的实际炉温和恒温时间;(3)对其主电路和控制电路设计相应的保护电路,使其安全可靠地工作。2.2元器件清单元件名称数量电热杯1 个SL 1 型 51 单片机综合试验箱1 个DS18B20 温度传感器1 片STC12C5A60S2 单片机1 片USB 下载线1 条单线固态继电器1 个
13、导线若干另有剪刀、镊子等工具表 2.1 元器件表名师资料总结-精品资料欢迎下载-名师精心整理-第 6 页,共 24 页 -错误!文档中没有指定样式的文字。错误!文档中没有指定样式的文字。7 第三章系统方案设计3.1 系统的设计要求应用计算机的实时监控和温度测量技术,采用单片机、温度检测电路、温度控制电路等,实现电阻炉炉温的实时监控。要求及技术指标:用单片机及相应的组成部件组成电阻炉温的自动控制系统,要求测温范围0100,使其控制系统控制的温度保温值的变化范围为3060要求:(1)完成电阻炉温度控制系统设计,包括硬件电路设计和软件程序设计(2)能够显示控温时的实际炉温和恒温时间(3)对其主电路和
14、控制电路设计相应的保护电路,使其安全可靠地工作3.2 系统的控制部分水温控制系统以STC12C5A60S2 单片机为核心,其总体的结构图:单片机通过温度传感器DS18B20采集环境温度,根据矩阵键盘输入的恒温温度控制继电器的通断,并用 LED数码管显示恒温温度和实时温度,如果实时温度超过恒温温度,蜂鸣器将会报警。3.3 系统的控制方式STC12C5A60S2单片机DS18B20 矩阵键盘LED 显示蜂鸣器继电器名师资料总结-精品资料欢迎下载-名师精心整理-第 7 页,共 24 页 -错误!文档中没有指定样式的文字。错误!文档中没有指定样式的文字。8 本系统采用PID 控制算法实现对温度的闭环控
15、制比例,积分,微分(PID)是建立在经典控制理论基础上的一种控制策略。PID 控制器作为最早实用化的控制器,已经有五十多年的历史,现在仍然是最广泛的工业控制器。PID控制器最大的特点是简单易懂,使用中不需要精确的系统模型等先决条件,因而成为应用最广泛的控制器。本系统采用了数字PID okjkkDjIkPkueeKeKeKu)(01比例积分微分被控对象r(t)+-e(t)+u(t)y(t)式中:k 采样信号,k=0,1,2,uk 第 k 次采样时刻的计算机输出值ek 第 k 次采样时刻输入的偏差值ek-1 第 k-1 次采样时刻输入的偏差值KI 积分系数(积分时间TI 即为累积多少次/个 T)K
16、D 微分系数u0 开始进行PID 控制时的原始初值(应为前一次的给定值)如果采样周期取得足够小,则以上近似计算可获得足够精确的结果,离散控制过程与连续控制过程十分接近。第四章系统硬件电路设计4.1 STC12C5A60S2最小系统名师资料总结-精品资料欢迎下载-名师精心整理-第 8 页,共 24 页 -错误!文档中没有指定样式的文字。错误!文档中没有指定样式的文字。9 4.2 DS18B20 传感器电路单线结构,只需一根信号线和CPU相连,不需要外部元件,直接输出串行数据,可不需要外部电源,直接通过信号线供电,电源电压范围为3.3V 5V,测温精度高,测温范围为:一 55+125,在-10 +
17、85范围内,精度为O.5,测温分辨率高,当选用12 位转换位数时,温度分辨率可达00625,数字量的转换精度及转换时间可通过简单的编程来控制:9 位精度的转换时间为9375 ms:10 位精度的转换时间187.5ms:12 位精度的转换时间 750ms,具有非易失性上、下限报警设定的功能,用户可方便地通过编程修改上、下限的数值,可通过报警搜索命令识别哪片DS18820采集的温度超越上、下限。名师资料总结-精品资料欢迎下载-名师精心整理-第 9 页,共 24 页 -错误!文档中没有指定样式的文字。错误!文档中没有指定样式的文字。10 4.3 矩阵键盘矩阵键盘共有十六个键,用了其中的十二个键0-9
18、、A、B键,按 A键表示设置开始,然后按数字键输入恒温温度,最后按B键确定,此矩阵键盘运用了反转法名师资料总结-精品资料欢迎下载-名师精心整理-第 10 页,共 24 页 -错误!文档中没有指定样式的文字。错误!文档中没有指定样式的文字。11 4.4 数码管显示模块数码管的显示原理不论是共阴还是共阳,其基本原理是一样的,都是靠点亮内部的LED来发光。一位数码管的引脚是十个,显示一个8 字需要 7 个小段,另外还有一个小数点。1.数码管内部原理图名师资料总结-精品资料欢迎下载-名师精心整理-第 11 页,共 24 页 -错误!文档中没有指定样式的文字。错误!文档中没有指定样式的文字。12 实际实
19、验时,为了保证编程的方便和通常将数码管的数字所对应的八位数字记录在数组中,程序中直接使用查表的方法,可以提高程序的效率,也使程序的编写更加简单方便。符号编码符号编码0 0 xC0 8 0 x80 1 0 xF9 9 0 x90 2 0 xA4 A 0 x88 3 0 xB0 B 0 xC7 4 0 x99 C 0 xC6 5 0 x92 D 0 xA1 6 0 x82 E 0 x86 7 0 xF8 F 0 x8E 我们实验箱中的LED 数码管是四位数码管,因此为了控制方便,四个数码管的“段选端”是连在一起的,他们的GND 或 VCC 端作为“位选端”来输入控制信号,这样单片机就可以通过程序来
20、控制显示的字符。下图是实验箱开发板中的数码管电路图:2 实验箱数码管电路4.5 蜂鸣器报警电路当输入端给高电平时,9014 导通,这样蜂鸣器中将会有电流,蜂鸣器将会报警。名师资料总结-精品资料欢迎下载-名师精心整理-第 12 页,共 24 页 -错误!文档中没有指定样式的文字。错误!文档中没有指定样式的文字。13 第五章系统测试方法和结果通过矩阵键盘输入恒温温度为45,水温从室温开始升,上位机上的温度和1602 液晶会显示实时温度,待温度升到43时,通过单片机控制继电器的通断,这样将不再加温,但是水壶的加热器仍然是很热的,通过余温加热,一旦超过定温度,蜂鸣器将会报警,符合我们的设计要求。第六章
21、总结本次课程设计的题目为水度控制系统,是应用非常广泛的温度控制器,在实践中我们运用了单片机、传感器、电子电路等各方面的知识,实现了可以较好的控制水温的效果,锻炼了我们的动手能力。在调试系统的过程中会用到很多的问题,有些问题是不细心而导致的,有些错误时致命的,而且很不容易发现,所以在实践的过程中一定要细心。附附录 A 系统程序代码DS18B20 通信程序#define uchar unsigned char#define DELAY_TIME1 8 sbit DQ=P30;/改成 P30 void ds18b20_delay(int time)/延时时间为(time*6 us)int i,s,t
22、emp;名师资料总结-精品资料欢迎下载-名师精心整理-第 13 页,共 24 页 -错误!文档中没有指定样式的文字。错误!文档中没有指定样式的文字。14 temp=time;for(i=0;i0)s-;/*18B20复位函数*/void Init_DS18B20(void)unsigned char x=1,j;DQ=1;/先将数据口拉高for(j=0;j 0;i-)/定义8 bit,写8 bit DQ=1;for(j=0;jDELAY_TIME1;j+)_nop_();_nop_();DQ=0;for(j=0;j 1;/右移一位,倒数第二位变为最低位 DQ=1;ds18b20_delay(1
23、);/高电平维持11us,写结束/*18B20读 1 个字节函数*/uchar ReadOneChar(void)uchar i,j;uchar value=0;for(i=8;i 0;i-)DQ=1;for(j=0;j=1;/右移一位DQ=0;for(j=0;jDELAY_TIME1;j+)_nop_();_nop_();_nop_();_nop_();/4us DQ=1;for(j=0;jDELAY_TIME1;j+)_nop_();_nop_();_nop_();_nop_();/4us,读时隙名师资料总结-精品资料欢迎下载-名师精心整理-第 15 页,共 24 页 -错误!文档中没有指
24、定样式的文字。错误!文档中没有指定样式的文字。16 if(DQ)value|=0 x80;/DQ=1,则写入为10000000 ds18b20_delay(6);/66us DQ=1;return(value);float ReadTemperature(void)uchar n=0;/存储符号unsigned int t;uchar a,b;/*读出温度函数*/Init_DS18B20();/总线复位WriteOneChar(0 xCC);/发 Skip ROM 命令WriteOneChar(0 xBE);/发读命令a=ReadOneChar();/温度低 8 位b=ReadOneChar(
25、);/温度高 8位Init_DS18B20();WriteOneChar(0 xCC);/Skip ROM WriteOneChar(0 x44);/发转换命令t=(b 8)+a;return(t*0.0625);键盘扫描程序#include#includeshuma.h extern unsigned char KeyCounter;extern bit KeyFlag;extern bit SetFlag;extern bit DisFlag;extern bit ShowTimeFlag;unsigned char code keycode16=0 x77,0 x7b,0 x7d,0 x
26、7e,/1,2,3,A 名师资料总结-精品资料欢迎下载-名师精心整理-第 16 页,共 24 页 -错误!文档中没有指定样式的文字。错误!文档中没有指定样式的文字。17 0 xb7,0 xbb,0 xbd,0 xbe,/4,5,6,B 0 xd7,0 xdb,0 xdd,0 xde,/7,8,9,C 0 xe7,0 xeb,0 xed,0 xee,/*,0,#,D;unsigned char Key_Scan()/返回的是 keycode 数组的位数 unsigned char i,X,Y;unsigned char KeyCode;P2=0 x0f;if(P2!=0 x0f)Delay(50
27、0);if(P2!=0 x0f)X=P2;P2=0 xf0;if(P2!=0 xf0)Y=P2;while(P2!=0 xf0);/如果不松键则一直停在这边 KeyCode=X|Y;else KeyCode=0 xff;for(i=0;i16;i+)if(KeyCode=keycodei)return i;return 255;unsigned char Get_Code()unsigned char i=0 xff,j=0 xff;i=Key_Scan();switch(i)case 0:j=1;KeyFlag=1;break;case 1:j=2;KeyFlag=1;break;名师资料总
28、结-精品资料欢迎下载-名师精心整理-第 17 页,共 24 页 -错误!文档中没有指定样式的文字。错误!文档中没有指定样式的文字。18 case 2:j=3;KeyFlag=1;break;case 3:break;/A case 4:j=4;KeyFlag=1;break;case 5:j=5;KeyFlag=1;break;case 6:j=6;KeyFlag=1;break;case 7:break;/B case 8:j=7;KeyFlag=1;break;case 9:j=8;KeyFlag=1;break;case 10:j=9;KeyFlag=1;break;case 11:br
29、eak;/C case 12:j=a;KeyFlag=1;SetFlag=1;KeyCounter=0;break;case 13:j=0;KeyFlag=1;break;case 14:j=b;KeyFlag=1;DisFlag=DisFlag;break;case 15:j=c;KeyFlag=1;ShowTimeFlag=ShowTimeFlag;break;/D/D default:KeyFlag=0;break;return j;数码管显示#include sbit SegDin=P36;/显示数据高地位sbit SegClk=P37;/数据显示时钟unsigned char cod
30、e Seg_Table13=0 xC0,/*0*/0 xF9,/*1*/0 xA4,/*2*/0 xB0,/*3*/0 x99,/*4*/0 x92,/*5*/0 x82,/*6*/0 xF8,/*7*/0 x80,/*8*/0 x90,/*9*/0 x9c,/*10*/上框 代表实际温度0 xa3,/*11*/下框 代表设定温度0 xff/all off;unsigned char code Pos_Dis_Buf5=0 xef,0 xdf,0 xbf,0 x7f,0 xff;unsigned char Digit3=0;名师资料总结-精品资料欢迎下载-名师精心整理-第 18 页,共 24
31、页 -错误!文档中没有指定样式的文字。错误!文档中没有指定样式的文字。19/*函数:Delay()功能:不精确延时参数:延时参数返回值:无*/void Delay(unsigned int n)while(-n);/*函数:Seg_Display()功能:数码管在指定位置显示指定的数参数:Pos 显示位置(0 1 2 3)ucDATA(09)待显示的数字Point 为 1 则显示小数点,否则不显示返回值:无*/void Bit_Display(unsigned char Pos,unsigned char ucDA TA,bit Point)unsigned char i;unsigned c
32、har ucTemp;ucTemp=Seg_TableucDATA;/查段码表if(Point)ucTemp&=0 x7f;P4=Pos_Dis_Buf4;/关闭所有显示for(i=0;i 8;i+)SegDin=ucTemp&0 x80;/*每次取最高位,最高位为1,则 SEG_DIN=1;反之亦然*/SegClk=0;SegClk=1;/*产生 74164 移位时钟上升沿*/ucTemp=1;P4=Pos_Dis_BufPos;/使能位选/*函数:Seg_Display()功能:数码管上显示指定的数参数:uiData(09999)待显示的数字返回值:无*/名师资料总结-精品资料欢迎下载-名
33、师精心整理-第 19 页,共 24 页 -错误!文档中没有指定样式的文字。错误!文档中没有指定样式的文字。20 void Seg_Display(float uiData)unsigned char i;Digit0=(unsigned int)(uiData/10)%10;/十位Digit1=(unsigned int)uiData%10;/个位Digit2=(unsigned int)(uiData*10)%10;/小数后一位for(i=0;i 3;i+)if(i!=1)Bit_Display(i,Digiti,0);/不显示小数点else Bit_Display(i,Digiti,1);
34、/显示小数点Delay(50);主程序#include#includeshuma.h#includekeyScan.h#includeds18b20.h unsigned char data DisData2;/温度显示值unsigned char data SetData2;/温度设定值unsigned char KeyCounter;/设置温度位数计数器float RTValue;/实际温度值unsigned char STValue=50;/设置温度值unsigned char ShowTime3=0;/恒温时间值unsigned int m;/定义粗略延迟变量unsigned int
35、cc;/计数次数unsigned int CountFlag;unsigned int TimeCounter=0;/设置恒温时间计数器bit ShowTimeFlag=0;/是否显示恒温时间bit KeyFlag=0;/是否接收到有用键值1 有bit SetFlag=0;/是否设定键按下1 按下bit DisFlag=0;/1 显示设定值0 显示实际值sbit Beep=P35;sbit Heat=P31;名师资料总结-精品资料欢迎下载-名师精心整理-第 20 页,共 24 页 -错误!文档中没有指定样式的文字。错误!文档中没有指定样式的文字。21 void InitSys()TMOD=0X
36、01;/MODE 1 TH0=(65536-50000)/256;TL0=(65536-50000)%256;EA=1;/开中断ET0=1;/开定时器0 中断P4SW=0 xf0;void main()unsigned char i,j,num,k;unsigned char Counter=0;unsigned int htime=0;unsigned int stime=0;InitSys();while(1)RTValue=ReadTemperature();/获取实际温度num=Get_Code();if(DisFlag=0&SetFlag=0)/显示实际温度 for(j=0;j50;
37、j+)/每次用循环显示也许可以提高亮度for(i=0;i50;i+)Bit_Display(3,10,0);/上方框表示实际温度Seg_Display(RTValue);if(DisFlag=1&SetFlag=0)/显示设定温度 for(j=0;j50;j+)/每次用循环显示也许可以提高亮度for(i=0;i50;i+)Bit_Display(3,11,0);/下方框表示设定温度Seg_Display(STValue);名师资料总结-精品资料欢迎下载-名师精心整理-第 21 页,共 24 页 -错误!文档中没有指定样式的文字。错误!文档中没有指定样式的文字。22 if(TimeCounter
38、=1000)TimeCounter=0;if(TimeCounter!=0)stime=TimeCounter;ShowTime0=stime/100;ShowTime1=(stime/10)%10;ShowTime2=stime%10;if(DisFlag=0&SetFlag=0&ShowTimeFlag=1)/显示恒温时间 for(j=0;j50;j+)/每次用循环显示也许可以提高亮度for(i=0;i1)KeyCounter=0;名师资料总结-精品资料欢迎下载-名师精心整理-第 22 页,共 24 页 -错误!文档中没有指定样式的文字。错误!文档中没有指定样式的文字。23 SetFlag
39、=0;STValue=10*SetData0+SetData1;if(RTValue(STValue-5)Beep=1;/不鸣叫Heat=0;/加热 if(STValue-5)=RTValue&RTValue1)k=1;Heat=k;if(STValue-0.8)=RTValue&RTValue1)k=1;Heat=k;if(STValueRTValue&RTValue(STValue+0.5)if(CountFlag=1)TR0=0;TimeCounter=0;CountFlag=0;Beep=0;/鸣叫Heat=1;/不加热 while(Counter=1000)Counter=0;void timer0()interrupt 1 TH0=(65536-50000)/256;TL0=(65536-50000)%256;cc+;if(cc=20)cc=0;TimeCounter+;名师资料总结-精品资料欢迎下载-名师精心整理-第 24 页,共 24 页 -