📄 getkey.c
字号:
#include<_REG51_.H>
#include<_ExF(x)_.h>
//-----------------------------
uchar Tab1[]={0xf7,0xfb,0xfd,0xfe};
sfr KeyPort=0x90;
//-----------------------------
uchar ReadKey(void)
{
uchar i=0,keybyte=0;
bit keyflag=0;
KeyPort =0xF0;
_nop_();
if(KeyPort!=0xF0)
{
while((keyflag==0)&&(i<4))
{
KeyPort=Tab1[i];
Delay(2); //delay for 11+2*6=23uS.
if(KeyPort!=Tab1[i])
{
keybyte=KeyPort; //save the key.
keyflag=1; //get key ok.
while(KeyPort!=Tab1[i]){;} //waiting for key released.
}
i++;
}
return keybyte;
}
else
{
// KeyPort =0xFF;
return 0;
}
}
//-----------------------------
uchar Getkey(void)
{
uchar keydat;
keydat=ReadKey();
switch(keydat)
{
case 0xEE: return 1; break;
case 0xED: return 2; break;
case 0xEB: return 3; break;
case 0xE7: return 4; break;
case 0xDE: return 5; break;
case 0xDD: return 6; break;
case 0xDB: return 7; break;
case 0xD7: return 8; break;
case 0xBE: return 9; break;
case 0xBD: return 10; break;
case 0xBB: return 11; break;
case 0xB7: return 12; break;
case 0x7E: return 13; break;
case 0x7D: return 14; break;
case 0x7B: return 15; break;
case 0x77: return 16; break;
default: return 0; break;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -