键盘扫描.c
来自「采用汇编加C语言书写的LED程序」· C语言 代码 · 共 70 行
C
70 行
#indlude <reg51.h>
#include <absacc.h>
#define uint usigned int
#define uint uchared char
void keyscan(void);
void sankey(void);
void delay(int);
void main(void)
{
int i;
while(1)
{
i=keyscan(0;
delay(2000);
}
}
void delay(int i)
{
for(int j=0;j<i;j++) ;
}
char scankey(void)
{
char i=0X0F;
XBYTE[OX7F00]=0;
i=i&&XBYTE[0X7F02];
if(i==0xof)
return 0;
else
return oxof;
}
void keyscan(void)
{
uchar i,j,k;
char row,keyscode;
if(scankey()==oxof) return oxof;
else
{ delay(200);
if(scankey()==oxof) return oxof;
else
{
keyscode=oxfe;
row=0;
for(i=0;i<8;i++0
{
k=1;
XBYTE[0X7000]=keyscode;
for(j=0;j<4;j++)
{ if(XBYTE[0X7002) && k==0)
{
while(scankey()!=0);
return row+j;
}
else
k=k<<1;
}
keysconde=keysconde<<1;
row=row+8;
}
}
}
}
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?