|
/*初始化程序 ,初始上下限溫度設(shè)置
鍵盤設(shè)定上下限溫度
all right resever
*/
#include<reg51.h>
void sethi(void);
void setlo(void);
void dishi(void);
void dislo(void);
#define key P1//鍵盤接口
sbit hj=P1^0; // 十位加
sbit lj=P1^1; //個(gè)位加
sbit con=P1^2; //確認(rèn)
sbit sound=P3^5;
bit finish;
#define uchar unsigned char
extern uchar lowtem,hitem;
//初始化程序,設(shè)定上下限溫度報(bào)警值
void begin(void)
{sound=0;
finish=0;
sethi(); //設(shè)置上限溫度
finish=0;
setlo();//設(shè)置下限溫度
}
//高溫極限設(shè)置程序
void sethi(void)
{uchar i;
do{do{dishi();
key=0xff;
i=key;}
while(i==0xff);//有按鍵按下
{dishi();//調(diào)用軟件延時(shí)去除鍵盤抖動(dòng)
if(i==key)
{switch(i)
{case 0xfe:if((hitem+=10)>=100)hitem=0;break;//十位加
case 0xfd:if((hitem+=1)>=100)hitem=0;break;//個(gè)位加
case 0xfb:finish=1;break;//確定鍵按下,退出上限溫度設(shè)置
}
while(i==key);
}
}
}while(finish==0);
}
//低溫極限設(shè)置程序
void setlo(void)
{uchar i;
do{do{dislo();
key=0xff;
i=key;}
while(i==0xff);//有按鍵按下
{dislo();//調(diào)用軟件延時(shí)去除鍵盤抖動(dòng)
if(i==key)
{switch(i)
{case 0xfe:if((lowtem+=10)>=hitem)lowtem=0;break;//十位加
case 0xfd:if((lowtem+=1)>=hitem)lowtem=0;break;//個(gè)位加
case 0xfb:finish=1;break;//確定鍵按下,退出上限溫度設(shè)置
}
while(i==key);
}
}
}while(finish==0);
}
|
|