📄 key.c
字号:
//-------------------------------------------------------------
// ID Code :
// Description :
// Update Note :
//
//-------------------------------------------------------------
#define _KEY_C
#include "header\include.h"
//--------------------------------------------------
// Global Variables
//--------------------------------------------------
UINT8 SystemState = NormalDisplay;
UINT8 mdfitem = mdfhour;
UINT8 Keymsg = nokeymsg;
//--------------------------------------------------
// Description :
// Input Value : None
// Output Value : None
//--------------------------------------------------
void KeyHandler(void)
{
KeyScan();
switch (SystemState)
{
//---------------------------
case NormalDisplay:
switch (Keymsg)
{
case nokeymsg:
break;
case key1msg:
SystemState = (SystemState + 1) % max_state_amount;
mdfitem = mdfhour;
break;
case key2msg:
break;
case key3msg:
break;
default :
break;
}
break;
//---------------------------
case ModifyTime:
switch (Keymsg)
{
case nokeymsg:
break;
case key1msg:
SystemState = (SystemState + 1) % max_state_amount;
mdfitem = mdfhour;
break;
case key2msg:
mdfitem = (mdfitem+1)%max_item_amount;
break;
case key3msg:
MdfTimeProc( &stCurrTime);
UpdataTime(&stCurrTime);
break;
default :
break;
}
break;
//---------------------------
case AlarmSet:
switch (Keymsg)
{
case nokeymsg:
break;
case key1msg:
SystemState = (SystemState + 1) % max_state_amount;
mdfitem = mdfhour;
break;
case key2msg:
mdfitem = (mdfitem+1)%max_item_amount;
break;
case key3msg:
MdfTimeProc(&stAlarmTime);
UpdataTime(&stAlarmTime);
break;
default :
break;
}
break;
//---------------------------
default :
break;
}
#if 0//(_Use_Second_Modify == _ENABLE)
if((mdfitem == mdfsecond )&&(SystemState == ModifyTime))
TR0 = 0;
else
TR0 = 1;
#endif
}
//--------------------------------------------------
// Description :
// Input Value : None
// Output Value : None
//--------------------------------------------------
void KeyScan(void)
{
P1 = 0xff;
_nop_(); _nop_();
if(P1 == 0xff)
{
Keymsg = nokeymsg;
return;
}
//---------------------------------------------
P1 = 0xff;
Delay();
switch (P1&0x07)
{
case 0x06:
Keymsg = key1msg;
break;
case 0x05:
Keymsg = key2msg;
break;
case 0x03:
Keymsg = key3msg;
break;
default :
Keymsg = nokeymsg;
break;
}
do
{
P1 = 0xff;
Display();
}while(P1 != 0xff );
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -