{ }
lcd_pos(0x08+youbiao);
table0[8+youbiao]=table0[8+youbiao]+conut;//修改游
conut=0;
标所在位置的参数值
}
Real_T=wd_change();//获得温度传感器传回的温度 lcd_pos(0x48);
lcd_wdat(Real_T/100+0x30);//在液晶上显示 lcd_wdat(Real_T0/10+0x30); lcd_wdat('.');
lcd_wdat(Real_T0+0x30); /****************用
PID
实现闭环控制温度
}
lcd_wdat(table0[8+youbiao]); while(!key4);
**************************/
速加热
{ } else {
TR0=0; TR1=0; cold=0; hot=1;
if(Real_T<(Set_T-30))//当设定温度与实际温度之差大于5度全
if(Real_T 控制加热 { TR0=1; 21 } cold=0; else { if(Real_T<(Set_T+30))//当实际温度与设定温度之差小 于5度PWM控制冷却 } cold=0; } { } else { } TR0=0; TR1=0; hot=0; cold=1; //当实际温度与设定温度之差大于5度全速冷却 zk=75; TR1=1; hot=0; // } } /************************************* [ t0 (0.5ms)中断] 中断中做 PWM 输出 ------------1000/(0.02ms*250)=200Hz *************************************/ void T0zd(void) interrupt 1 //3 为定时器1的中断号 1 定时器0的中断号 0 外部中断1 2 外部中断2 4 串口中断 { TH0 = (65536-200)/256; //12M 22 TL0 = (65536-200)%6; timer0++; if(timer0>100) timer0=0; if(timer0 /************************************* [ t1 (0.5ms)中断] 中断中做 PWM 输出 ------------1000/(0.02ms*250)=200Hz *************************************/ void T1zd(void) interrupt 3 //3 为定时器1的中断号 1 定时器0的中断号 0 外部中断1 2 外部中断2 4 串口中断 { TH1 = (65536-200)/256; //12M TL1 = (65536-200)%6; timer1++; if(timer1>100) timer1=0; if(timer1 } 参考文献: [1]. 单片机应用开发实用子程序. 边春元等 编著. 人民邮电出版社. 2005 [2]. DS18B20官方英文文档 . DS18B20官方英文站点下载 [3]. 全国大学生电子设计大赛培训系列教程. 高吉祥 主编.电子工业出版社.2007 [4]. 单片微型计算机原理及应用. 张毅坤等 编著. 西安电子科技大学出版社.1998 [5]. 微型计算机接口技术 . 王兆月等 编著. 机械工业出版社 .2006 23 百度搜索“70edu”或“70教育网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,70教育网,提供经典综合文库基于单片机的水温控制系统设计论文 - 图文(5)在线全文阅读。
相关推荐: