#include ‘reg52.h’
#include ‘stdio.h’
#define uchar unsigned char
#define uint unsigned int
sbit s1=P2^0;
sbit s2=P2^1;
sbit s3=P2^2;
sbit s4=P2^3;
sbit s5=P2^4;
sbit ds=P2^5;
sbit beep=P2^6;
sbit rd=P1^0;
sbit rs=P1^1;
sbit wr=P1^2;
sbit lcden=P1^3;
sbit PWM=P1^6;
sbit led1=P1^4;
sbit led2=P1^5;
uchar set_temp,keytemp;
uint temp;
uchar c;
bit flag,flag1,flag2;
float f_temp,t;
int timecount,z;
float KP,KI,KD;
float e1,e2,e3;
float uk,duk;
uchar HighL,HighH,PWMH;
float k;
uchar code table[]={"设定温度:"};
uchar code table1[]={"实测温度:"};
uchar code table2[]={"加热"};
uchar code table3[]={"保温"};
uchar code table4[]={"作者:0903锋仔@"};
uchar code table5[]={"系统初始化"};
uchar code table6[]={"measured Temperature"};
uchar code table7[]={"水温控制系统设计"};
uchar code table8[]={" "};
void delay(uint z)//延时函数,延时5ms
{
uint x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
void keyscan()
{
if(set_temp>=100)//将设定温度限定在0-100度之间
set_temp=100;
if(set_temp<=0)
set_temp=0;
if(s5==0)//此键按下设定温度加5
{
delay(10);
if(s5==0)
{
flag1=0;
set_temp+=5;
if(set_temp>=100)
{
set_temp=100;
beep=0;
delay(1000);
beep=1;
}
}while(s5==0);
}
if(s4==0)//此键按下设定温度减5
{
delay(10);
if(s4==0)
{
flag1=0;
set_temp-=5;
if(set_temp<=0)
{
set_temp=0;
beep=0;
delay(1000);
beep=1;
}
}while(s4==0);
}
if(s3==0)//此键按下设定温度加1
{