📄 keyboard4.c
字号:
else //化霜时间-化霜运行时间
{ if(FreJdqStu==FREJDQ_OFF) //非化霜状态,显示距下次开始化霜时间
{ dec_showbuf((int)((FreshCycl-FreStopTime)*10));
led_show_buf[0]=0x0c; //清除显存最后一位
Dip=0x05; //不显示小数点
}
//化霜周期-压缩机累计工作时间
else if(FreJdqStu==FREJDQ_ON) //化霜状态(强制或自动),显示剩余化霜时间
{ dec_showbuf((int)((FreshTime-FreRunTime)*10));
led_show_buf[0]=0x0c; //清除显存最后一位
Dip=0x05; //不显示小数点
}
}
}//2-4秒
else if(ParaCheckCnt>=128)
{ ParaCheckVal=0;
UpDown_Value=0;
}
}//*************************参数查看DOWN键被按下******************************
}//条件:(非查看状态并且SET键被按下)在此条件下不执行参数查看操作
break; //#########################第零层状态,(属于非设置状态)#######################
case 0x01: //#########################第一层设置状态,(用户菜单操作)#######################
if(Key_Value==KEY_K4)
{//************************如果键SET被按下*************************
if((Key_Delay==1)&&(Key_Level==0x00))
{//**************按下时间在0-3秒内**************
switch(KC1_Cnt)
{
case 0x00:
case 0x01: //保存F2的参数,显示F1的菜单
eep_sndbuf[0]=Huicha;
write_EEPROM1(0xa0,0x07,1,eep_sndbuf); //保存F2的参数
led_show_buf[1]=0x01;
led_show_buf[2]=0x0b; //F1
break;
case 0x02:
case 0x03: //保存F1的参数,显示F2的菜单
eep_sndbuf[0]=TempSet;
write_EEPROM1(0xa0,0x06,1,eep_sndbuf); //保存F1的参数
Dip=0x05; //不显示小数点
led_show_buf[1]=0x02;
led_show_buf[2]=0x0b; //F2
zhishi_flag|=MINUS_FLAG; //取消'-'负号标志
break;
default:
break;
}
}//**************按下时间在0-3秒内**************
else if((Key_Delay==3)&&(Key_Level==0x00))
{//**********按下大于3秒退出用户菜单*************
Key_Old=0;
Key_Ceng=0;
Set_Ok=0;
zhishi_flag|=SET_FLAG; //取消设置标志
}//**********按下大于3秒退出用户菜单*************
else if(Key_Level==0x01)
{//****************按键抬起**********************
Key_Old=0; //某一按键连续的按键时间清零
Key_Delay=0x00; //按键延时积存器清零
switch(KC1_Cnt)
{
case 0x00:
Key_Value=0x00; //抬起按键后清零键值(不执行按键处理)**(关键)
KC1_Cnt++;
break;
case 0x01:
dec_showbuf((int)(TempSet*10)); //处理后放入显存
led_show_buf[0]=0x0c; //清除显存最后一位
Dip=0x05; //不显示小数点
Key_Value=0x00; //抬起按键后清零键值同时进入下一项**(关键) //
KC1_Cnt++; //指向下一个参数F2(KC1_Cnt=2)
break;
case 0x02:
Key_Value=0x00; //抬起按键后清零键值(不执行按键处理)**(关键)
KC1_Cnt++; //进入下一项
break;
case 0x03:
dec_showbuf((int)(Huicha*10)); //处理后放入显存
led_show_buf[0]=0x0c; //清除显存最后一位
Dip=0x05;
Key_Value=0x00; //抬起按键后清零键值同时进入下一项**(关键)
KC1_Cnt=0; //指向下一个参数
//Key_Old=0;
break;
default:
break;
}
}//****************按键抬起**********************
}//************************如果键SET被按下*************************
else
if(UpDown_Value==KEY_K2)
{//**********************如果UP键被按下**************************
if((UpDown_Delay==1)&&(UpDown_Level==0x00))
{//************按下时间在0-2秒内************
switch(KC1_Cnt) //*****执行某项*****
{
case 0x00: //菜单项F2的参数(回差设定)
KSC1U0();
break;
case 0x01: //菜单项F1(温度设定)(在此状态下有UP键显示F2)
led_show_buf[1]=0x02;
KSC1U();
break;
case 0x02: //菜单项F1的参数(温度设定)
KSC1U2();
break;
case 0x03: //菜单项F2(回差设定)(在此状态下有UP键显示F1)
led_show_buf[1]=0x01;
KSC1U();
break;
default:
break;
}
}//************按下时间在0-2秒内************
else if((UpDown_Delay==2)&&(UpDown_Level==0x00))
{//************按下时间大于2秒**************
switch(KC1_Cnt) //*****执行某项*****
{
case 0x00: //菜单项F2的参数(回差设定)
KSC1U0();
UpDown_Old=KEYLOOP; //连加由此值开始计数至400
break;
case 0x01: //菜单项F1(温度设定)(在此状态下有UP键显示F2)
led_show_buf[1]=0x02;
KSC1U();
UpDown_Old=KEYLOOP; //连加由此值开始计数至400
break;
case 0x02: //菜单项F1的参数(温度设定)
KSC1U2();
UpDown_Old=KEYLOOP; //连加由此值开始计数至400
break;
case 0x03: //菜单项F2(回差设定)(在此状态下有UP键显示F1)
led_show_buf[1]=0x01;
KSC1U();
UpDown_Old=KEYLOOP; //连加由此值开始计数至400
} //*****执行某项*****
}//************按下时间大于2秒**************
else if(UpDown_Level==0x01)
{ UpDown_Old=0x00; //以Key_Old位按键周期
UpDown_Value=0x00;
}
} //**********************如果UP键被按下****************************
else
if(UpDown_Value==KEY_K1)
{ //**********************如果DOWN键被按下**************************
if((UpDown_Delay==1)&&(UpDown_Level==0x00))
{ //***********按下时间在0-2秒内**************
switch(KC1_Cnt)
{ //*****执行某项*****
case 0x00: //菜单项F2的参数(回差设定)
KSC1D0();
break;
case 0x01: //菜单项F1(温度设定)(在此状态下有DOWN键显示F2)
led_show_buf[1]=0x02;
KSC1D();
break;
case 0x02: //菜单项F1的参数(温度设定)
KSC1D2();
break;
case 0x03: //菜单项F2(回差设定)(在此状态下有DOWN键显示F1)
led_show_buf[1]=0x01;
KSC1D();
break;
default:
break;
} //*****执行某项*****
} //**********按下时间在0-2秒内***************
else if((UpDown_Delay==2)&&(UpDown_Level==0x00))
{ //************按下时间大于2秒***************
switch(KC1_Cnt) //*****执行某项*****
{
case 0x00: //菜单项F2的参数(回差设定)
KSC1D0();
UpDown_Old=KEYLOOP; //连加由此值开始计数至400
break;
case 0x01: //菜单项F1(温度设定)(在此状态下有DOWN键显示F2)
led_show_buf[1]=0x02;
KSC1D();
UpDown_Old=KEYLOOP; //连加由此值开始计数至400
break;
case 0x02: //菜单项F1的参数(温度设定)
KSC1D2();
UpDown_Old=KEYLOOP; //连加由此值开始计数至400
break;
case 0x03: //菜单项F2(回差设定)(在此状态下有DOWN键显示F1)
led_show_buf[1]=0x01;
KSC1D();
UpDown_Old=KEYLOOP; //连加由此值开始计数至400
} //*****执行某项*****
} //************按下时间大于2秒***************
else if(UpDown_Level==0x01)
{ UpDown_Old=0x00; //************以Key_Old位按键周期***********
UpDown_Value=0x00;
}
} //**********************如果DOWN键被按下**************************
break; //#########################第一层设置状态,(用户菜单操作)##########################
case 0x02: //#########################第二层设置状态,(管理者菜单操作)#########################
if(Key_Value==KEY_K4)
{ //************************如果键SET被按下*************************
if((Key_Delay==1)&&(Key_Level==0x00))
{ //**************按下时间在0-3秒内****************
switch(KC2_Cnt)
{ //****确定级内显示*****
case 0x00:
case 0x01: //F3参数的选择和设置
eep_sndbuf[0]=TempRevise;
write_EEPROM1(0xa0,0x05,1,eep_sndbuf); //保存F8的参数
led_show_buf[1]=0x03;
led_show_buf[2]=0x0b; //F3
zhishi_flag|=MINUS_FLAG; //取消'-'负号标志
break;
case 0x02:
case 0x03: //F4参数的选择和设置
eep_sndbuf[0]=YsjDelay;
write_EEPROM1(0xa0,0x00,1,eep_sndbuf); //保存F3的参数
led_show_buf[1]=0x04;
led_show_buf[2]=0x0b; //F4
break;
case 0x04:
case 0x05: //F5参数的选择和设置
eep_sndbuf[0]=FreshCycl;
write_EEPROM1(0xa0,0x01,1,eep_sndbuf); //保存F4的参数
led_show_buf[1]=0x05;
led_show_buf[2]=0x0b; //F5
break;
case 0x06:
case 0x07: //F6参数的选择和设置
eep_sndbuf[0]=FreshTime;
write_EEPROM1(0xa0,0x02,1,eep_sndbuf); //保存F5的参数
led_show_buf[1]=0x06;
led_show_buf[2]=0x0b; //F6
break;
case 0x08:
case 0x09:
eep_sndbuf[0]=FrStopTemp;
write_EEPROM1(0xa0,0x03,1,eep_sndbuf); //保存F6的参数
led_show_buf[1]=0x07;
led_show_buf[2]=0x0b; //F7
break;
case 0x0a:
case 0x0b:
eep_sndbuf[0]=ExTempWarn;
write_EEPROM1(0xa0,0x04,1,eep_sndbuf); //保存F7的参数
led_show_buf[1]=0x08;
led_show_buf[2]=0x0b; //F8
break;
default:
break;
} //****确定级内显示*****
} //**************按下时间在0-3秒内****************
else if((Key_Delay==3)&&(Key_Level==0x00))
{ //*********按下大于3秒退出用户菜单**************
Key_Old=0;
Key_Ceng=0;
Set_Ok=0;
zhishi_flag|=SET_FLAG; //取消设置标志
} //*********按下大于三秒退出用户菜单**************
else if(Key_Level==0x01)
{ //****************按键抬起***********************
Key_Old=0;
Key_Delay=0x00; //按键延时积存器清零
switch(KC2_Cnt)
{
case 0x00:
Key_Value=0x00; //抬起按键后清零键值(不执行按键处理)**(关键)
KC2_Cnt++;
break;
case 0x01:
dec_showbuf((int)(YsjDelay*10)); //F3的参数处理后放入显存(压缩机延时)
KSC2Set();
break;
case 0x02:
Key_Value=0x00; //抬起按键后清零键值(不执行按键处理)**(关键)
KC2_Cnt++;
break;
case 0x03:
dec_showbuf((int)(FreshCycl*10)); //F4的参数处理后放入显存(化霜周期)
KSC2Set();
break;
case 0x04:
Key_Value=0x00; //抬起按键后清零键值(不执行按键处理)**(关键)
KC2_Cnt++;
break;
case 0x05:
dec_showbuf((int)(FreshTime*10)); //F5的参数处理后放入显存(化霜时间)
KSC2Set();
break;
case 0x06:
Key_Value=0x00; //抬起按键后清零键值(不执行按键处理)**(关键)
KC2_Cnt++;
break;
case 0x07:
dec_showbuf((int)(FrStopTemp*10)); //F6的参数处理后放入显存(化霜终止温度)
KSC2Set();
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -