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

📄 keyprocess.c

📁 proteus 数字时钟 ds1302
💻 C
字号:
//*************************************************************************************************
//*																								  *
//*			 ******************************键码处理程序**************************				  *
//*																								  *
//*************************************************************************************************


//*************************************************************************************************
//*																								  *
//*			 ******************************头文件及宏定义**************************				  *
//*																								  *
//*************************************************************************************************
#include "SMC1602.h"
#include "DS1302.h"


//*************************************************************************************************
//*																								  *
//*			  ********************************全局变量******************************			  *
//*																								  *
//************************************************************************************************* 
extern TIME stCurrentTime;

//*************************************************************************************************
//*																								  *
//*			 ******************************键码处理主函数****************************			  *
//*																								  *
//*************************************************************************************************
void vKeyProcess(unsigned char ucKeyCode)
{
	vWriteCMD(0xC7);	

	switch(ucKeyCode)
		{
//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<年设置>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
		case 11:
				if(stCurrentTime.ucYear<99)				  
					vDSSetTime(DS_YEAR,++stCurrentTime.ucYear);
				else
					vDSSetTime(DS_YEAR,0);
				break;
											 
		case 21:
				if(stCurrentTime.ucYear>0)
					vDSSetTime(DS_YEAR,--stCurrentTime.ucYear);
				else
					vDSSetTime(DS_YEAR,99);
				break;


//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<月设置>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
		case 12:
				if(stCurrentTime.ucMonth<12)
					vDSSetTime(DS_MONTH,++stCurrentTime.ucMonth);
				else
					vDSSetTime(DS_MONTH,0);
				break;
											 
		case 22:
				if(stCurrentTime.ucMonth>0)
					vDSSetTime(DS_MONTH,--stCurrentTime.ucMonth);
				else
					vDSSetTime(DS_MONTH,12);
				break;


//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<日设置>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
		case 13:
				if(stCurrentTime.ucDay<31)
					vDSSetTime(DS_DAY,++stCurrentTime.ucDay);
				else
					vDSSetTime(DS_DAY,0);
				break;
											 
		case 23:
				if(stCurrentTime.ucDay>0)
					vDSSetTime(DS_DAY,--stCurrentTime.ucDay);
				else
					vDSSetTime(DS_DAY,31);
				break;


//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<时设置>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
		case 31:
				if(stCurrentTime.ucHour<24)
					vDSSetTime(DS_HOUR,++stCurrentTime.ucHour);
				else
					vDSSetTime(DS_HOUR,0);
				break;							 
		case 41:
				if(stCurrentTime.ucHour>0)
					vDSSetTime(DS_HOUR,--stCurrentTime.ucHour);
				else
					vDSSetTime(DS_HOUR,24);
				break;


//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<分设置>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>				
		case 32:
				if(stCurrentTime.ucMinute<60)
					vDSSetTime(DS_MINUTE,++stCurrentTime.ucMinute);
				else
					vDSSetTime(DS_MINUTE,0);
				break;							 
		case 42:
				if(stCurrentTime.ucMinute>0)
					vDSSetTime(DS_MINUTE,--stCurrentTime.ucMinute);
				else
					vDSSetTime(DS_MINUTE,60);
				break;

//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<秒设置>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
		case 33:
				if(stCurrentTime.ucSecond<60)
					vDSSetTime(DS_SECOND,++stCurrentTime.ucSecond);
				else
					vDSSetTime(DS_SECOND,0);
				break;
											 
		case 43:
				if(stCurrentTime.ucSecond>0)
					vDSSetTime(DS_SECOND,--stCurrentTime.ucSecond);
				else
					vDSSetTime(DS_SECOND,60);
				break;							 						

		default:break;
		}
}

⌨️ 快捷键说明

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