📄 key.h
字号:
#define key_press 0x2
static unsigned char flag; //flag register
static unsigned char key_buff; //key vaule buffer
const unsigned char key_table[12]={
0x0b, //*(key_vaule) 00(key_num)
0x09, //9 01
0x08, //8 02
0x07, //7 03
0x00, //0 04
0x06, //6 05 //key vaule table
0x05, //5 06
0x04, //4 07
0x0a, //# 08
0x03, //3 09
0x02, //2 0a
0x01, //1 0b
};
void scan_key_deal(void)
{
unsigned char counter;
unsigned char buffer;
unsigned char com_byte;
unsigned char key_num;
P1DIR=0x0f;
com_byte=0xff;
P1OUT&=~0x08;
P1OUT&=~0x04;
P1OUT&=~0x02;
buffer=P1IN;
if(0xf0!=(buffer&0xf0)) //judge if the key was press
{
P1OUT|=0x08;
P1OUT|=0x04;
P1OUT|=0x02;
com_byte=0xff;
key_num=0x00;
com_byte=0x02;
for(counter=0x03;counter>0;counter--) //get the key num
{
P1OUT&=~com_byte; //scan the row
if(!(P1IN&BIT4))
break;
key_num++;
if(!(P1IN&BIT5))
break;
key_num++;
if(!(P1IN&BIT6))
break;
key_num++;
if(!(P1IN&BIT7))
break;
key_num++;
com_byte=com_byte<<1;
}
flag|=key_press;
buffer=P1IN;
buffer=P1IN;
key_buff=key_table[key_num]; //get the key value
return;
}
// flag&=~key_press;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -