这比较简单,编写好按键扫描子程序和按键处理后,在时间管理判断就行
//**************时间管理********************
//******************************************
void time_man(void)
{
if(f_timer_on==1) //定时功能
{
dingshi_count++;
if(dingshi_count>= 500)
{
dingshi_count=0; //1秒时间到
dingshi_minute++;
if(dingshi_minute>=60)
{
dingshi_minute=0; //1分钟时间到
if(temp_timer_time>0)
{
temp_timer_time--; //则定时时间减一
if(temp_timer_time==0)
{
f_timer_on=0;
L_dio=OFF; //定时时间到,则关闭负载
N_dio=OFF;
buz_set(5,500); //并响5声
dingshi_minute=0;
dingshi_count=0;
f_dingshi_led=0; //关闭定时指示灯
}
}
}
}
}
if(f_start==1) //预约功能
{
if((hour==hour1)&&(minute==minute1)&&(secs==0)&&(t_2ms==0))
{
L_dio=ON; //预约时间到,则接通负载
N_dio=ON;
buz_set(5,500); //并响5声
f_heat_on=1; //显示加热动态图标
}
else if((hour==hour2)&&(minute==minute2)&&(secs==0)&&(t_2ms==0))
{
L_dio=OFF; //工作时间到,则关闭负载
N_dio=OFF;
if(f_heat_on==1) buz_set(5,500); //并响5声
f_heat_on=0; //关闭加热动态图标显示
}
}
}
|