⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 timeoppose.c

📁 自己做的单片机Proteus仿真实例
💻 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 + -