📄 key.c
字号:
#include <key.h>
#include <reg51.h>
unsigned char key_code;
//实时扫描函数
void key_scan()
{
static unsigned char CL=0xff,n=0;
unsigned char cc,c;
while(1){
P1=0xef;
c=P1;
if(c!=0xef)break;
P1=0xdf;
c=P1;
if(c!=0xdf)break;
P1=0xbf;
c=P1;
if(c!=0xbf)break;
P1=0x7f;
c=P1;
if(c!=0x7f)break;
c=0xff;
break;
}
if (c==CL)
n=n+1;
else {n=0;
CL=c;
}
if (n==KEY_N)
cc=c;
else cc=0xff;
if (n>=KEY_R)
n=0;
switch(cc){
case 0x77: key_code=0; break;
case 0xb7: key_code=1; break;
case 0xbb: key_code=2; break;
case 0xbd: key_code=3; break;
case 0xd7: key_code=4; break;
case 0xdb: key_code=5; break;
case 0xdd: key_code=6; break;
case 0xe7: key_code=7; break;
case 0xeb: key_code=8; break;
case 0xed: key_code=9; break;
case 0x7b: key_code=10; break;
case 0xee: key_code=11; break;
case 0xde: key_code=12; break;
case 0xbe: key_code=13; break;
case 0x7d: key_code=14; break;
case 0x7e: key_code=15; break;
default: key_code=0xff; break;
}
}
// 返回当前的键码
unsigned char inkey()
{
return(key_code); //仅表明当前键盘的状态
}
//用于数据的输入
unsigned char getkey()
{
unsigned char a;
while(key_code==0xff); //无键按下时等待;
a=key_code;
key_code=0xff;
return(a);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -