📄 keyboard.c
字号:
if(SET_2_GTZJ_Parameter_2>300){SET_2_GTZJ_Parameter_2=110;}
break;
}
case 5:
{
SET_2_GTZJ_Parameter_3+=10;
if(SET_2_GTZJ_Parameter_3>300){SET_2_GTZJ_Parameter_3=110;}
break;
}
default:
{
break;
}
}
break;
}
default:
{
break;
}
}
}
/*********************************************************************************************/
//函数名称:K4_key()
//函数功能:K4键输入处理函数
//调用关系:被key_Input_Processing()函数调用
//返 回 值:无
/*********************************************************************************************/
void K4_key(void)
{
switch(Operation_Menu)
{
case 10://设置系统日期
{
switch(Select_Bit)
{
case 0:
{
if(SET_Year_Variable<2000){SET_Year_Variable=2099;}
else{SET_Year_Variable--;}
TIMER_Week=WeekComputer(SET_Year_Variable,SET_Month_Variable,SET_Date_Variable);
break;
}
case 1:
{
if(SET_Month_Variable<1){SET_Month_Variable=12;}
else{SET_Month_Variable--;}
TIMER_Week=WeekComputer(SET_Year_Variable,SET_Month_Variable,SET_Date_Variable);
break;
}
case 2:
{
Date_Sub();
break;
}
default:
{
break;
}
}
break;
}
case 11://设置系统时间
{
switch(Select_Bit)
{
case 0:
{
if(SET_HH_Variable<=0){SET_HH_Variable=23;}
else{SET_HH_Variable--;}
break;
}
case 1:
{
if(SET_MM_Variable<=0){SET_MM_Variable=59;}
else{SET_MM_Variable--;}
break;
}
case 2:
{
if(SET_SS_Variable<=0){SET_SS_Variable=59;}
else{SET_SS_Variable--;}
break;
}
default:
{
break;
}
}
break;
}
case 12://设置本机地址参数显示
{
if(Password_Cn<10){SET_Addr_Variable--;}
break;
}
case 13://密码输入-1操作
{
switch(Select_Bit)
{
case 0:
{
if(Password_Number[0]<=0){Password_Number[0]=9;}
else{Password_Number[0]--;}
break;
}
case 1:
{
if(Password_Number[1]<=0){Password_Number[1]=9;}
else{Password_Number[1]--;}
break;
}
case 2:
{
if(Password_Number[2]<=0){Password_Number[2]=9;}
else{Password_Number[2]--;}
break;
}
case 3:
{
if(Password_Number[3]<=0){Password_Number[3]=9;}
else{Password_Number[3]--;}
break;
}
case 4:
{
if(Password_Number[4]<=0){Password_Number[4]=9;}
else{Password_Number[4]--;}
break;
}
case 5:
{
if(Password_Number[5]<=0){Password_Number[5]=9;}
else{Password_Number[5]--;}
break;
}
default:
{
break;
}
}
break;
}
case 14://缸套参数-10操作
{
switch(Select_Bit)
{
case 0:
{
if(SET_1_GTZJ_Parameter_1<=110){SET_1_GTZJ_Parameter_1=300;}
else{SET_1_GTZJ_Parameter_1-=10;}
break;
}
case 1:
{
if(SET_1_GTZJ_Parameter_2<=110){SET_1_GTZJ_Parameter_2=300;}
else{SET_1_GTZJ_Parameter_2-=10;}
break;
}
case 2:
{
if(SET_1_GTZJ_Parameter_3<=110){SET_1_GTZJ_Parameter_3=300;}
else{SET_1_GTZJ_Parameter_3-=10;}
break;
}
case 3:
{
if(SET_2_GTZJ_Parameter_1<=110){SET_2_GTZJ_Parameter_1=300;}
else{SET_2_GTZJ_Parameter_1-=10;}
break;
}
case 4:
{
if(SET_2_GTZJ_Parameter_2<=110){SET_2_GTZJ_Parameter_2=300;}
else{SET_2_GTZJ_Parameter_2-=10;}
break;
}
case 5:
{
if(SET_2_GTZJ_Parameter_3<=110){SET_2_GTZJ_Parameter_3=300;}
else{SET_2_GTZJ_Parameter_3-=10;}
break;
}
default:
{
break;
}
}
break;
}
default:
{
break;
}
}
}
/*********************************************************************************************/
//函数名称:K5_key()
//函数功能:K5键输入处理函数
//调用关系:被key_Input_Processing()函数调用
//返 回 值:无
/*********************************************************************************************/
void K5_key(void)
{
switch(MenuNumber)
{
case 1: //设置系统日期
{
if(Operation_Menu!=10)
{
Operation_Menu=10;
ClearScreen();
Master_Menu(Operation_Menu);
}
else
{
Date_Rewrite();
MenuNumber=0;
Operation_Menu=0;
JK_Pic_OK=0;
}
break;
}
case 2: //设置系统时间
{
if(Operation_Menu!=11)
{
Operation_Menu=11;
ClearScreen();
Master_Menu(Operation_Menu);
}
else
{
Timer_Rewrite();
MenuNumber=0;
Operation_Menu=0;
JK_Pic_OK=0;
}
break;
}
case 3: //设置本机地址参数显示
{
if(Password_OK==1) //密码验证通过
{
Password_Cn=0; //密码计数器清零
wdt_reset();//喂狗,以免退出复位
eeprom_busy_wait();
eeprom_write_byte (&Password_EEPROM,Password_Cn); // 写 Password_EEPROM
wdt_reset();//喂狗,以免退出复位
eeprom_busy_wait();
Password_Cn=eeprom_read_byte(&Password_EEPROM); //密码计数器
if(Operation_Menu!=12)
{
Operation_Menu=12;
ClearScreen();
wdt_reset();//喂狗,以免退出复位
eeprom_busy_wait();
SET_Addr_Variable=eeprom_read_byte(&ADDR); //读地址码
Master_Menu(Operation_Menu);
}
else
{
MenuNumber=0;
wdt_reset();//喂狗,以免退出复位
eeprom_busy_wait();
eeprom_write_byte (&ADDR,SET_Addr_Variable); // 写 SET_Addr_Variable
eeprom_busy_wait();
AddrNuber=eeprom_read_byte(&ADDR);
Operation_Menu=0;
JK_Pic_OK=0;
Password_OK=0;
}
}
else
{
if(Operation_Menu!=13)
{
Operation_Menu=13;
ClearScreen();
wdt_reset();//喂狗,以免退出复位
eeprom_busy_wait();
SET_Addr_Variable=eeprom_read_byte(&ADDR); //读地址码
Master_Menu(Operation_Menu);
}
else
{
Password_Judge();//密码判断函数
if(Password_OK==0) //密码验证失败
{
ClearScreen();
wdt_reset();//喂狗,以免退出复位
Password_ERR_Disp(80,12,1,1); //密码错误!!!
Password_Cn++; //密码计数器
wdt_reset();//喂狗,以免退出复位
eeprom_busy_wait();
eeprom_write_byte (&Password_EEPROM,Password_Cn); // 写 Password_EEPROM
wdt_reset();//喂狗,以免退出复位
eeprom_busy_wait();
Password_Cn=eeprom_read_byte(&Password_EEPROM); //密码计数器
Master_Menu(Operation_Menu);
MenuNumber=0; //返回监控界面
Operation_Menu=0;
JK_Pic_OK=0;
Password_OK=0;
_delay_ms(20);_delay_ms(20);_delay_ms(20);
_delay_ms(20);_delay_ms(20);_delay_ms(20);
}
}
Master_Menu(Operation_Menu);
}
break;
}
case 4: //设置缸套直径
{
if(Operation_Menu!=14)
{
Operation_Menu=14;
ClearScreen();
Master_Menu(Operation_Menu);
}
else
{
GTZJ_Rewrite(); //缸套直径参数改写函数
MenuNumber=0;
Operation_Menu=0;
JK_Pic_OK=0;
}
break;
}
case 5: //退出
{
MenuNumber=0;
JK_Pic_OK=0;
break;
}
case 6: //非菜单下,清累计流量确认操作!
{
ClearScreen(); //清屏
MenuNumber=0; //返回监控界面
Operation_Menu=0;
JK_Pic_OK=0;
CLEAR_Key=1; //置位标志
break;
}
default: //非法操作
{
break;
}
}
}
/*********************************************************************************************/
//函数名称:K6_key()
//函数功能:K6键输入处理函数
//调用关系:被key_Input_Processing()函数调用
//返 回 值:无
/*********************************************************************************************/
void K6_key(void)
{
MenuNumber=0;
Operation_Menu=0;
JK_Pic_OK=0;
Password_OK=0;//密码验证默认是失败,未通过,为下一次做准备
}
/*********************************************************************************************/
//函数名称:Date_Rewrite(void)
//函数功能:日期改写函数
//调用关系:被key_5_Processing()函数调用
//返 回 值:无
/*********************************************************************************************/
void Date_Rewrite(void)
{
SetDate(
((SET_Date_Variable%10)+((SET_Date_Variable/10)<<4)), //设置日
((SET_Month_Variable%10)+((SET_Month_Variable/10)<<4)), //设置月
(((uchar)(SET_Year_Variable-2000)%10)+(((uchar)(SET_Year_Variable-2000)/10)<<4)) //设置年
);
TIMER_Week=WeekComputer(SET_Year_Variable,SET_Month_Variable,SET_Date_Variable);
}
/********************************************************************************************/
//函数名称:Timer_Rewrite(void)
//函数功能:时间改写函数
//调用关系:被key_5_Processing()函数调用
//返 回 值:无
/********************************************************************************************/
void Timer_Rewrite(void)
{
SetTime(
((SET_SS_Variable%10)+((SET_SS_Variable/10)<<4)), //设置秒
((SET_MM_Variable%10)+((SET_MM_Variable/10)<<4)), //设置分
((SET_HH_Variable%10)+((SET_HH_Variable/10)<<4)) //设置时
);
}
/********************************************************************************************/
//函数名称:Timer_Rewrite(void)
//函数功能:缸套直径参数改写函数
//调用关系:被key_5_Processing()函数调用
//返 回 值:无
/********************************************************************************************/
void GTZJ_Rewrite(void)
{
wdt_reset();//喂狗,以免退出复位
eeprom_busy_wait();
eeprom_write_word (>ZJ_1_1_EEPROM,SET_1_GTZJ_Parameter_1); // 写1#泵缸套参数1
eeprom_busy_wait();
eeprom_write_word (>ZJ_1_2_EEPROM,SET_1_GTZJ_Parameter_2); // 写1#泵缸套参数2
eeprom_busy_wait();
eeprom_write_word (>ZJ_1_3_EEPROM,SET_1_GTZJ_Parameter_3); // 写1#泵缸套参数3
eeprom_busy_wait();
eeprom_write_word (>ZJ_2_1_EEPROM,SET_2_GTZJ_Parameter_1); // 写2#泵缸套参数1
eeprom_busy_wait();
eeprom_write_word (>ZJ_2_2_EEPROM,SET_2_GTZJ_Parameter_2); // 写2#泵缸套参数2
eeprom_busy_wait();
eeprom_write_word (>ZJ_2_3_EEPROM,SET_2_GTZJ_Parameter_3); // 写2#泵缸套参数3
eeprom_busy_wait();
SET_1_GTZJ_Parameter_1=eeprom_read_word(>ZJ_1_1_EEPROM); //更新1#泵缸套参数1
eeprom_busy_wait();
SET_1_GTZJ_Parameter_2=eeprom_read_word(>ZJ_1_2_EEPROM); //更新1#泵缸套参数2
eeprom_busy_wait();
SET_1_GTZJ_Parameter_3=eeprom_read_word(>ZJ_1_3_EEPROM); //更新1#泵缸套参数3
eeprom_busy_wait();
SET_2_GTZJ_Parameter_1=eeprom_read_word(>ZJ_2_1_EEPROM); //更新2#泵缸套参数1
eeprom_busy_wait();
SET_2_GTZJ_Parameter_2=eeprom_read_word(>ZJ_2_2_EEPROM); //更新2#泵缸套参数2
eeprom_busy_wait();
SET_2_GTZJ_Parameter_3=eeprom_read_word(>ZJ_2_3_EEPROM); //更新2#泵缸套参数3
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -