📄 key2.h
字号:
#ifndef KeyBoard_Scan
#define KeyBoard_Scan
#include <delay.h>
#include <intrins.h>
typedef unsigned int uint;
typedef unsigned long ulong;
//**************************************************
uchar keyScan(void)
{ uchar scancode,tmpcode;
P1=0xf0;
if(((~P1)&0xf0)!=0)
{ delay_1ms(10);
if(((~P1)&0xf0)!=0)
{ tmpcode=(~P1)&0xf0; //得出行号
scancode=0xef;
while((scancode&0xff)!=0xff)
{ P1=scancode;
if((P1&0x0f)!=0x0f) //本行有键按下
{ scancode=(~P1)&0x0f; //得出列号
break;
}
else scancode=(scancode<<1)|0x01;
}
}
while((P1&0x0f)!=0x0f) //键释放则跳出循环
{ ;}
delay_1ms(10);
if((P1&0x0f)==0x0f) //键已经释放
{ switch(scancode+tmpcode)
{ case 0x11: return 11; //1行1列
case 0x21: return 21; //2行1列
case 0x41: return 31; //3行1列
case 0x81: return 41; //4行1列
case 0x12: return 12; //1行2列
case 0x22: return 22; //2行2列
case 0x42: return 32; //3行2列
case 0x82: return 42; //4行2列
case 0x14: return 13; //1行3列
case 0x24: return 23; //2行3列
case 0x44: return 33; //3行3列
case 0x84: return 43; //4行3列
default:break;
}//switch
}//if
}//if
return(0);
}
//****************************************************
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -