|
/*初始化程序 ,初始上下限温度设置
键盘设定上下限温度
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; //个位加
sbit con=P1^2; //确认
sbit sound=P3^5;
bit finish;
#define uchar unsigned char
extern uchar lowtem,hitem;
//初始化程序,设定上下限温度报警值
void begin(void)
{sound=0;
finish=0;
sethi(); //设置上限温度
finish=0;
setlo();//设置下限温度
}
//高温极限设置程序
void sethi(void)
{uchar i;
do{do{dishi();
key=0xff;
i=key;}
while(i==0xff);//有按键按下
{dishi();//调用软件延时去除键盘抖动
if(i==key)
{switch(i)
{case 0xfe:if((hitem+=10)>=100)hitem=0;break;//十位加
case 0xfd:if((hitem+=1)>=100)hitem=0;break;//个位加
case 0xfb:finish=1;break;//确定键按下,退出上限温度设置
}
while(i==key);
}
}
}while(finish==0);
}
//低温极限设置程序
void setlo(void)
{uchar i;
do{do{dislo();
key=0xff;
i=key;}
while(i==0xff);//有按键按下
{dislo();//调用软件延时去除键盘抖动
if(i==key)
{switch(i)
{case 0xfe:if((lowtem+=10)>=hitem)lowtem=0;break;//十位加
case 0xfd:if((lowtem+=1)>=hitem)lowtem=0;break;//个位加
case 0xfb:finish=1;break;//确定键按下,退出上限温度设置
}
while(i==key);
}
}
}while(finish==0);
}
|
|