📄 kdscan.h
字号:
/*******************************管脚定义*****************************************/
#define PKEY P2
#define PDISPLAY P0
/*******************************外部函数*************************************/
unsigned char KeyboardScan(void);
void DisplayScan(unsigned char displaydata[]);
/*******************************KeyboardScan*******************************/
unsigned char code ValueTable[]={0x7e,0x7d,0x7b,0x77,0xbe,0xbd,0xbb,0xb7,0xde,0xdd,0xdb,0xd7,0xee,0xed,0xeb,0xe7};
unsigned char KeyboardScan(void)
{
unsigned char COL=0x04;
unsigned char ROW=0x04;
unsigned char SCANCODE=0x10;
unsigned char RTNCODE;
unsigned char KEYVALUE;
while(1)
{
PKEY=~SCANCODE;
RTNCODE=PKEY;
KEYVALUE=(ROW-1)*4+COL-1;
if(RTNCODE==ValueTable[KEYVALUE]) return KEYVALUE;
COL--;
if(COL==0)
{
ROW--;
COL=0x04;
SCANCODE=SCANCODE<<1;
if(ROW==0) return 0xef;
}
}
}
void DisplayScan(unsigned char displaydata[])
{
unsigned char place;
unsigned char i;
for(place=0;place<8;place++)
{
PDISPLAY=((displaydata[place]<<4)&0xf0)|place;
for(i=200;i>0;i--);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -