timeoppose.c

来自「LCD1602.rar」· C语言 代码 · 共 96 行

C
96
字号
//*************************************************************************************************
//*																								  *
//*		********************************计时状态倒计时处理子函数******************************	  *
//*																								  *
//*************************************************************************************************


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 + =
减小字号Ctrl + -
显示快捷键?