📄 timeoppose.c
字号:
//*************************************************************************************************
//* *
//* ********************************计时状态倒计时处理子函数****************************** *
//* *
//*************************************************************************************************
bit b_ClockOppose=0; //0--正常计时
//1--倒计时
unsigned long ul_ClockOppose=0;
extern unsigned long ul_Number;
extern bit b_CountStart;
extern bit b_CountPause;
extern bit b_ClockStart;
extern bit b_LCDClean;
extern bit b_ShowMode;
extern unsigned char uc_ReportSymbol;
void vPushTime(unsigned char ucPushNum)
{
if(ul_ClockOppose<100000) //如果数字小于6位则压入数字,否则不执行。
{
ul_ClockOppose=ul_ClockOppose*10+ucPushNum;
ul_Number=ul_ClockOppose;
}
}
void vTimeOppose(unsigned char ucKeyCode)
{
if(b_ClockStart==0)
switch(ucKeyCode)
{ //若按键是数字则将数字压入计数初始。
case 11: vPushTime(7);break; //'7'
case 12: vPushTime(8);break; //'8'
case 13: vPushTime(9);break; //'9'
case 21: vPushTime(4);break; //'4'
case 22: vPushTime(5);break; //'5'
case 23: vPushTime(6);break; //'6'
case 31: vPushTime(1);break; //'1'
case 32: vPushTime(2);break; //'2'
case 33: vPushTime(3);break; //'3'
case 42: vPushTime(0); break; //'0'
case 41: //'NO/C':清除数据。
ul_ClockOppose=0;
ul_Number=0;
break;
case 43: //'=':倒计时开始。
if(ul_ClockOppose>0)
{
b_ClockOppose=1;
b_ClockStart=1;
}
break;
case 44:
ul_Number=0; //:返回正常计数模式。
uc_ReportSymbol=8;
b_LCDClean=1;
b_ClockOppose=0;
b_CountStart=0;
b_CountPause=0;
break;
default:break;
}
else
switch(ucKeyCode)
{
case 14: //'/':倒计时初始值加一。
ul_ClockOppose++;
ul_Number=ul_ClockOppose;
break;
case 24: //'*':倒计时初始值减一。
if(ul_ClockOppose>0)
{
ul_ClockOppose--;
ul_Number=ul_ClockOppose;
}
break;
case 34: //'-':倒计时停止。
b_ClockStart=0;
ul_Number=0;
ul_ClockOppose=0;
b_LCDClean=0;
break;
default:break;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -