📄 key.c
字号:
#include <LPC23xx.H>
#include "key.h"
enum KEY_STATUS key_Status=KEY_WAIT;
//读取键盘值,没有键按下时 ,返回0x3f
unsigned char read_key()
{
unsigned char key_value=0xff;
key_value=FIO0PIN2;
key_value>>=2;
return key_value;
}
void key_Scan()
{
unsigned char key=0;
unsigned char key_backup=0;
unsigned char flag=1;
unsigned char j=0;
unsigned char time_counter=5;
unsigned int n=0;
while(flag)
{
key=read_key();
if(key!=0x1f)
{
j++;
key_backup=key;
}
else
{
flag=0;
if(j<=4)
{
return;
}
else
{
break;
}
}
if(j==0xff)
{
j=6;
}
while(time_counter>=1)
{
for(n=5000;n>1;n--);
time_counter--;
}
time_counter=10;
}
switch(key_backup)
{
case 0x1E:
key_Status=KEY_HOLD;
break;
case 0x1D:
key_Status=KEY_ENTER;
break;
case 0x1B:
key_Status=KEY_RIGHT;
break;
case 0x17:
key_Status=KEY_DOWN;
break;
case 0x0F:
key_Status=KEY_RECALL;
break;
default:
key_Status=KEY_WAIT;
break;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -