📄 key.c
字号:
else set_id[2]=9;
}
else p_key=2;
break;
case 2:
if(enter_flag==1)
{
if(set_id[1]>0)set_id[1]--;
else set_id[1]=9;
}
else p_key=3;
break;
case 3:
if(enter_flag==1)
{
if(set_id[0]>0)set_id[0]--;
else set_id[0]=9;
}
else p_key=4;
break;
case 4:
if(enter_flag==1)
{
if(set_id[3]>0)set_mm[3]--;
else set_id[3]=9;
}
else p_key=5;
break;
case 5:
if(enter_flag==1)
{
if(set_id[2]>0)set_mm[2]--;
else set_id[2]=9;
}
else p_key=6;
break;
case 6:
if(enter_flag==1)
{
if(set_id[1]>0)set_mm[1]--;
else set_id[1]=9;
}
else p_key=7;
break;
case 7:
if(enter_flag==1)
{
if(set_id[0]>0)set_mm[0]--;
else set_id[0]=9;
}
else p_key=8;
break;
case 8:
if(enter_flag==1)
{
if(SET_CT>SET_CT_MIN)SET_CT--;
else SET_CT=SET_CT_MAX-1;
}
else{ p_key=9;}
break;
case 9: /*p_year*/
if(enter_flag==1)
{
if(timer[0]>0){timer[0]--;time_flag=1;}
else timer[0]=99;
}
else p_key=10;
break;
case 10: /*p_month*/
if(enter_flag==1)
{
if(timer[1]>0){timer[1]--;time_flag=1;}
else timer[1]=12;
}
else p_key=11;
break;
case 11: /*p_day*/
if(enter_flag==1)
{
if(timer[2]>0){timer[2]--;time_flag=1;}
else timer[2]=31;
}
else p_key=12;
break;
case 12: /*p_hour*/
if(enter_flag==1)
{
if(timer[3]>0){timer[3]--;time_flag=1;}
else timer[3]=23;
}
else p_key=13;
break;
case 13: /*p_minute*/
if(enter_flag==1)
{
if(timer[4]>0){timer[4]--;time_flag=1;}
else timer[4]=59;
}
else {p_key=0; p_screen=21;screen_flag=1; }
break;
default:
break;
}
}
void Set2Down(void)
{
SET_THD/=5;
SET_THD*=5;
SET_LX/=5;
SET_LX*=5;
switch(p_key)
{
case 0:
if(enter_flag==1)
{
if(SET_U1>SET_U1_MIN)SET_U1--;
else SET_U1=SET_U1_MAX;
}
else p_key=1;
break;
case 1:
if(enter_flag==1)
{
if(SET_U2>SET_U2_MIN)SET_U2--;
else SET_U2=SET_U2_MAX;
}
else p_key=2;
break;
case 2:
if(enter_flag==1)
{
if(SET_THD>SET_THD_MIN)SET_THD-=5;
else SET_THD=SET_THD_MAX;
}
else p_key=3;
break;
case 3:
if(enter_flag==1)
{
if(SET_LX>SET_LX_MIN)SET_LX-=5;
else SET_LX=SET_LX_MAX;
}
else {p_key=0;p_screen=22;screen_flag=1;}
break;
default:
break;
}
}
void Set3Down(void)
{
SET_K1/=5;
SET_K1*=5;
SET_K2/=5;
SET_K2*=5;
switch(p_key)
{
case 0:
if(enter_flag==1)
{
if(SET_U3>SET_U3_MIN)SET_U3--;
else SET_U3=SET_U3_MAX;
}
else p_key=1;
break;
case 1:
if(enter_flag==1)
{
if(SET_U4>SET_U4_MIN)SET_U4--;
else SET_U4=SET_U4_MAX;
}
else p_key=2;
break;
case 2:
if(enter_flag==1)
{
if(SET_K1>SET_K1_MIN)SET_K1-=5;
else SET_K1=SET_K1_MAX;
}
else p_key=3;
break;
case 3:
if(enter_flag==1)
{
if(SET_K2>SET_K2_MIN)SET_K2-=5;
else SET_K2=SET_K2_MAX;
}
else {p_key=0;p_screen=23;screen_flag=1;}
break;
default:
break;
}
}
void Set4Down(void)
{
switch(p_key)
{
case 0:
if(enter_flag==1)
{
if(SET_COS>SET_COS_MIN)SET_COS--;
else SET_COS=SET_COS_MAX;
}
else p_key=1;
break;
case 1:
if(enter_flag==1)
{
if(SET_T>SET_T_MIN)SET_T--;
else SET_T=SET_T_MAX;
}
else p_key=2;
break;
case 2:
if(enter_flag==1)
{
if(SET_JN>SET_JN_MIN)SET_JN--;
else SET_JN=SET_JN_MAX;
}
else p_key=3;
break;
case 3:
if(enter_flag==1)
{
if(SET_XN>SET_XN_MIN)SET_XN--;
else SET_XN=SET_XN_MAX;
}
else {p_key=0;p_screen=24;screen_flag=1;}
break;
default:
break;
}
}
void Set5Down(void)
{
SET_JC/=5;
SET_JC*=5;
SET_XC/=5;
SET_XC*=5;
switch(p_key)
{
case 0:
if(enter_flag==1)
{
if(SET_JBM>SET_JBM_MIN)SET_JBM--;
else SET_JBM=SET_JBM_MAX;
}
else p_key=1;
break;
case 1:
if(enter_flag==1)
{
if(SET_XBM>SET_XBM_MIN)SET_XBM--;
else SET_XBM=SET_XBM_MAX;
}
else p_key=2;
break;
case 2:
if(enter_flag==1)
{
if(SET_JC>SET_JC_MIN)SET_JC-=5;
else SET_JC=SET_JC_MAX;
}
else p_key=3;
break;
case 3:
if(enter_flag==1)
{
if(SET_XC>SET_XC_MIN)SET_XC-=5;
else SET_XC=SET_XC_MAX;
}
else {p_key=0;p_screen=20;screen_flag=1;}
break;
default:
break;
}
}
void SetDown(void)
{
switch(p_screen)
{
case 20:Set1Down();
break;
case 21:Set2Down();
break;
case 22:Set3Down();
break;
case 23:Set4Down();
break;
case 24:Set5Down();
break;
default:p_screen=20;p_key=0;screen_flag=1;
break;
}
}
void Hand_Up(void)
{
p_key--;
if(p_key>12)p_key=11;
}
void Hand_Down(void)
{
p_key++;
if(p_key>=12)p_key=0;
}
void Hand_Enter(void)
{
uint st_out;
switch(p_key)
{
case 0:
st_out=0x0001;
if((st_out&up1_data.c_status)>0){*PEDATDIR=*PEDATDIR&0X0FFFE;up1_data.c_status&=0x0fffe;}
else {*PEDATDIR=*PEDATDIR|0X01;up1_data.c_status|=0x01;}
break;
case 1:
st_out=0x0002;
if((st_out&up1_data.c_status)>0){*PEDATDIR=*PEDATDIR&0X0FFFD;up1_data.c_status&=0x0fffD;}
else {*PEDATDIR=*PEDATDIR|0X02;up1_data.c_status|=0x02;}
break;
case 2:
st_out=0x0004;
if((st_out&up1_data.c_status)>0){*PEDATDIR=*PEDATDIR&0X0FFFB;up1_data.c_status&=0x0fffB;}
else {*PEDATDIR=*PEDATDIR|0X04;up1_data.c_status|=0x04;}
break;
case 3:
st_out=0x0008;
if((st_out&up1_data.c_status)>0){*PEDATDIR=*PEDATDIR&0X0FFF7;up1_data.c_status&=0x0fff7;}
else {*PEDATDIR=*PEDATDIR|0X08;up1_data.c_status|=0x08;}
break;
case 4:
st_out=0x0010;
if((st_out&up1_data.c_status)>0){*PEDATDIR=*PEDATDIR&0X0FFEF;up1_data.c_status&=0x0ffef;}
else {*PEDATDIR=*PEDATDIR|0X10;up1_data.c_status|=0x10;}
break;
case 5:
st_out=0x0020;
if((st_out&up1_data.c_status)>0){*PEDATDIR=*PEDATDIR&0X0FFDF;up1_data.c_status&=0x0ffdf;}
else {*PEDATDIR=*PEDATDIR|0X20;up1_data.c_status|=0x20;}
break;
case 6:
st_out=0x0040;
if((st_out&up1_data.c_status)>0){*PEDATDIR=*PEDATDIR&0X0FFBF;up1_data.c_status&=0x0ffbf;}
else {*PEDATDIR=*PEDATDIR|0X40;up1_data.c_status|=0x40;}
break;
case 7:
st_out=0x0080;
if((st_out&up1_data.c_status)>0){*PEDATDIR=*PEDATDIR&0X0FF7F;up1_data.c_status&=0x0ff7f;}
else {*PEDATDIR=*PEDATDIR|0X80;up1_data.c_status|=0x80;}
break;
case 8:
st_out=0x100;
if((st_out&up1_data.c_status)>0){*PFDATDIR=*PFDATDIR&0X0FFFE;up1_data.c_status&=0x0feff;}
else {*PFDATDIR=*PFDATDIR|0X01;up1_data.c_status|=0x100;}
break;
case 9:
st_out=0x200;
if((st_out&up1_data.c_status)>0){*PFDATDIR=*PFDATDIR&0X0FFFD;up1_data.c_status&=0x0fdff;}
else {*PFDATDIR=*PFDATDIR|0X02;up1_data.c_status|=0x200;}
break;
case 10:
st_out=0x400;
if((st_out&up1_data.c_status)>0){*PFDATDIR=*PFDATDIR&0X0FFFB;up1_data.c_status&=0x0fbff;}
else {*PFDATDIR=*PFDATDIR|0X04;up1_data.c_status|=0x400;}
break;
case 11:
st_out=0x800;
if((st_out&up1_data.c_status)>0){*PFDATDIR=*PFDATDIR&0X0FFF7;up1_data.c_status&=0x0f7ff;}
else {*PFDATDIR=*PFDATDIR|0X08;up1_data.c_status|=0x800;}
break;
default:break;
}
}
void k_esc(void)
{
switch(p_mode)
{
case PPASS:p_key=1;
break;
case PAUTO:p_key=0;
break;
case PSET:p_key=1;
Save_Set();
C_Cap();
if(time_flag==1)Write_Time();
time_flag=0;
break;
case PHAND:p_key=2;
break;
default:p_key=0;
break;
}
p_mode=PMENU;
p_screen=SCR_MENU;
screen_flag=1;
}
void k_up(void)
{
switch(p_mode)
{
case PMENU:
p_key%=3;
if(p_key==0)p_key=2;
else p_key--;
break;
case PAUTO:
screen_flag=1;
if(p_screen>SCR_AUTO_FIRST)p_screen--;
else p_screen=SCR_AUTO_FIRST+SCR_AUTO_COUNT-1;
break;
case PSET:
/* if(p_screen>SCR_SET_FIRST)p_screen--;
else p_screen=SCR_SET_FIRST+SCR_SET_COUNT;*/
SetUp();
break;
case PHAND:
Hand_Up();
break;
case PPASS:
PassUp();
break;
default:break;
}
}
void k_down(void)
{
switch(p_mode)
{
case PMENU:
p_key%=3;
if(p_key==2)p_key=0;
else p_key++;
break;
case PAUTO:
screen_flag=1;
if(p_screen<(SCR_AUTO_FIRST+SCR_AUTO_COUNT-1))p_screen++;
else p_screen=SCR_AUTO_FIRST;
break;
case PSET:
/*
if(p_screen<(SCR_SET_FIRST+SCR_SET_COUNT))p_screen++;
else p_screen=SCR_SET_FIRST;
*/
SetDown();
break;
case PHAND:
Hand_Down();
break;
case PPASS:
PassDown();
break;
default:break;
}
}
void k_enter(void)
{
switch(p_mode)
{
case PMENU:
MenuEnter();
break;
case PAUTO:
break;
case PSET:
SetEnter();
break;
case PHAND:
Hand_Enter();
break;
case PPASS:
PassEnter();
/*p_mode=PSET; p_screen=SCR_SET_FIRST;*/
break;
default:break;
}
}
void Key(void)
{
uint key_int;
key_int=Key_Scan();
switch(key_int)
{
case KEY_ESC:
k_esc();
Disp();
break;
case KEY_UP:
k_up();
Disp();
break;
case KEY_DOWN:
k_down();
Disp();
break;
case KEY_ENTER:
k_enter();
Disp();
break;
default:break;
}
if(led_flag==0)*PBDATDIR=*PBDATDIR|0X10; /*关背景灯*/
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -