📄 4-7.c
字号:
//4*4 keyboard,software scan
unsigned char _pac @ 0x13;
unsigned char _pa @ 0x12;
unsigned char _pbc @ 0x15;
unsigned char _pb @ 0x14;
#define KEYPAD _pa
#define KEYPAD_CTRL _pac
#define OUT _pb
#define OUT_CTRL _pbc
const unsigned char Scan_Code[16]={0x77,0x7b,0x7d,0x7e,0xb7,0xbb,0xbd,0xbe,0xd7,0xdb,0xdd,0xde,0xe7,0xeb,0xed,0xee};
const unsigned char Display_Code[16]={63,6,91,79,102,109,125,7,127,111,119,124,57,94,121,113};
char check_key()
{
KEYPAD=0x7f;
if(KEYPAD==0x77) return Display_Code[0];
if(KEYPAD==0x7b) return Display_Code[1];
if(KEYPAD==0x7d) return Display_Code[2];
if(KEYPAD==0x7e) return Display_Code[3];
KEYPAD=0xbf;
if(KEYPAD==0xb7) return Display_Code[4];
if(KEYPAD==0xbb) return Display_Code[5];
if(KEYPAD==0xbd) return Display_Code[6];
if(KEYPAD==0xbe) return Display_Code[7];
KEYPAD=0xdf;
if(KEYPAD==0xd7) return Display_Code[8];
if(KEYPAD==0xdb) return Display_Code[9];
if(KEYPAD==0xdd) return Display_Code[10];
if(KEYPAD==0xde) return Display_Code[11];
KEYPAD=0xef;
if(KEYPAD==0xe7) return Display_Code[12];
if(KEYPAD==0xeb) return Display_Code[13];
if(KEYPAD==0xed) return Display_Code[14];
if(KEYPAD==0xee) return Display_Code[15];
return 0xff;
}
void main()
{
KEYPAD_CTRL = 0x0f;
OUT_CTRL = 0x00;
while(1)
{
unsigned char i;
unsigned char j;
i=check_key();
if(i==0xff)
{OUT=j;}
else
{
OUT=i;
j=i;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -