📄 keyscan_4x4.h
字号:
uchar key,value,variable;
void keyscan();
void scan();
void count_key();
void keyscan()
{
uchar i;
uchar key_table[]={0xfe,0xfd,0xfb,0xf7};
P3=0xf0;
value=P3;
if(value!=0xf0) //判断是否有键按下
{
for(i=0;i<4;i++)
{
P3=variable=key_table[i];
scan();
}
}
}
void scan()
{
value=P3;
value=value&0xf0;
if(value!=0xf0)
{
delay(5);
value=P3;
value=value&0xf0;
if(value!=0xf0)
{
while(P3!=variable); //判断是否松手
delay(1);
count_key();
}
}
}
void count_key()
{
if(value==0xe0)
{
if(variable==0xfe) key=0;
if(variable==0xfd) key=4;
if(variable==0xfb) key=8;
if(variable==0xf7) key=12;
}
if(value==0xd0)
{
if(variable==0xfe) key=1;
if(variable==0xfd) key=5;
if(variable==0xfb) key=9;
if(variable==0xf7) key=13;
}
if(value==0xb0)
{
if(variable==0xfe) key=2;
if(variable==0xfd) key=6;
if(variable==0xfb) key=10;
if(variable==0xf7) key=14;
}
if(value==0x70)
{
if(variable==0xfe) key=3;
if(variable==0xfd) key=7;
if(variable==0xfb) key=11;
if(variable==0xf7) key=15;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -