📄 sckey.c
字号:
#include <c8051f020.h>
#define arrangekey P3 //P3口低五位接行线
#define rowkey P1 //P14—P16接列线
extern void Delay1ms(unsigned char T);
unsigned char keyscan(void)
{
unsigned char scancode, scancodearr,scancoderow, tmpcode;
unsigned int i;
arrangekey &= 0xe0; //行端口送全0
if((rowkey&0x70)!= 0x70)
{
Delay1ms(10);
if((rowkey&0x70)!= 0x70)
{ scancoderow = rowkey;
scancoderow &= 0x70;
arrangekey |= 0x1e;
while (1)
{
for(i=0;i<5;i++)
{
if((rowkey & 0x70) != 0x70) //本行有键按下
{
scancodearr =arrangekey;
scancodearr &= 0x1f;
scancoderow = scancoderow<<1;
scancode = scancoderow + scancodearr;
return(~scancode);
}
else arrangekey = (arrangekey<<1) | 0x01; //行扫描码左移一位
}
arrangekey |= 0x1e;
}
}
}
return(0);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -