?? key.c
字號(hào):
/**********************************************************
;copyright :shenzhen
;filename :key.c
;writeb :dengyih
;describe :按鍵掃描
;notice :
;*********************************************************/
#include "..\header\key.h"
enum Key_Info Key_Value; // 按鍵值
U8 Key_Old_Buf = MASK_KEY;
bit Key_Msg = 0; // 處理按鍵消息標(biāo)志
bit Have_Key_Push = 0; // 按鍵按下標(biāo)志
/**********************************************************
name: key_scan
input: none
output: none
describe: 按鍵掃描
notice:
creat date: 2008-6-10
creator: dengyihong
**********************************************************/
void key_scan(void)
{
U8 i = 0;
U8 key_buf = 0;
U8 temp_buf = 0;
KEY_PIN_INPUT();
delay_2us(10);
key_buf = GET_KEY_VALUE();
for(i=0; i<4; i++)
{
delay_2us(1500);
temp_buf = GET_KEY_VALUE();
if(key_buf != temp_buf)
{
return;
}
}
if(key_buf != Key_Old_Buf)
{
if(key_buf != MASK_KEY) // 新鍵按下
{
switch(key_buf)
{
case 0x70:
Key_Value = SEND_KEY; // send key
break;
case 0xb0:
Key_Value = ADD_KEY; // + key
break;
case 0xd0:
Key_Value = DEC_KEY; // - key
break;
case 0xe0:
Key_Value = MODE_KEY; // mode key
break;
default:
Key_Value = NONE_KEY;
break;
}
if(Key_Value != NONE_KEY) // 是否有按鍵按下
{
Have_Key_Push = 1;
Key_Old_Buf = key_buf;
}
}
else if(Have_Key_Push) // 按鍵釋放
{
Have_Key_Push = 0;
Key_Old_Buf = MASK_KEY;
switch(Key_Value)
{
case 0x04:
case 0x03:
case 0x02:
case 0x01:
Key_Msg = 1 ;
break;
default:
Key_Msg = 0;
break;
}
}
}
}
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -