📄 keyprocess.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 + -