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

📄 timeprocess.c

📁 LCD1602.rar
💻 C
字号:
//*************************************************************************************************
//*																								  *
//*		 ********************************计时状态处理子函数******************************		  *
//*																								  *
//*************************************************************************************************


extern bit b_CountStart;
extern bit b_CountPause;
extern bit b_ClockStart;
extern bit b_WorkMode;
extern bit b_LCDClean;
extern bit b_KeyShock;
extern unsigned char uc_ReportSymbol;
extern unsigned long ul_Number;
extern unsigned long ul_ClockOppose;
unsigned long ul_TimeTemp;		  //暂停状态技计数暂存。


void vTime(unsigned char ucKeyCode)
{
		switch(ucKeyCode)
			{
//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<当按下“NO/C”时执行>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
			case 41:
//***************************************00 ->10:从停止到开始**************************************** 
				if((b_CountStart|b_CountPause)==0)				
					{	
					ul_Number=0;								//初始化记时值为0.
					b_CountStart=1;								//重设标志位,改为开始状态;
					b_ClockStart=1;
					
//					uc_ReportSymbol=6;
//					b_LCDClean=1;							
					}
//***************************************11 ->10:从暂停到开始****************************************
					else if((b_CountStart&b_CountPause)==1)
						{
						ul_Number=ul_TimeTemp;					//初始化初值为暂存的值。
						b_CountPause=0;							//重设标志位,改为开始状态。
						b_ClockStart=1;	
						
//						uc_ReportSymbol=6;
//						b_LCDClean=1;							
						}
//***************************************10 ->00:从开始到停止****************************************
					 else if((b_CountStart=1&(!b_CountPause))==1)	
					 		{
							b_CountStart=0;							//重设标志位,改为停止状态。
							b_ClockStart=0;							//停止计时。
							ul_Number=0;							//恢复计时前状态。

						uc_ReportSymbol=7;
						b_LCDClean=1;	
							}
				break;
//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>						  
//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<当按下“=”时执行>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
			case 43: 
				if(b_CountStart==1)								//如果是开始或暂停状态则进行处理,
					{											//否则不处理。
					//*******************************10->11:从开始到暂停。****************************
					if(b_CountPause==0)							
						{										//保存计时数值。
						b_CountPause=1;							//如果是开始状态则改为暂停状态。
						ul_TimeTemp=ul_Number;

						uc_ReportSymbol=5;						//闪烁显示:-PAUSE
						b_LCDClean=1;
											
						b_ClockStart=0;							//暂停计时。
						}
					else
						{			//**************************11 ->10:从暂停到开始*****************											    	
						 b_CountPause=0;						//如果是暂停状态则改变为进行状态。
						 ul_Number=ul_TimeTemp;					//给计时器赋初值为暂停前的值。
						 b_ClockStart=1;

//						uc_ReportSymbol=6;
//						b_LCDClean=1;						//继续暂停前的计时。
						}			//****************************************************************
					}
				else if(b_CountPause==0) 	   //***************************00:切换到计算器模式*******
						{
						b_WorkMode=0;		//如果在停止计时状态按下“=”键便会切换到计算器模式。
						ul_Number=0;
						uc_ReportSymbol=4;	//CHAG-0表明从计时器模式切换到计算器模式。
						b_LCDClean=1;
						b_KeyShock=1;
						}
				break;
//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>						  
//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<当按下“+”时执行>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
				case 44:
				{
				b_ClockStart=0;			 //停止计时。
				//******************************切换到倒计时模式*******************************
				b_CountStart=0;		
				b_CountPause=1;
				ul_Number=0;
				uc_ReportSymbol=8;
				b_LCDClean=1;
				ul_ClockOppose=0;
				}
				break;
			default:break;
			}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -