📄 key.c
字号:
#include <reg51.h>
#include <intrins.h>
#define uchar unsigned char
#define uint unsigned int
void delayms(void);
uchar kbscan(void)
{
unsigned char sccode,recode;
P2=0x0f; //发0扫描,列线输入
if ((P2 & 0x0f) != 0x0f) //有键按下
{
delayms(); //延时去抖动
if ((P2&0x0f)!= 0x0f)
{
sccode = 0xef; //逐行扫描初值
while((sccode&0x01)!=0)
{
P2=sccode;
if((P2&0x0f)!=0x0f)
{
recode=(P2&0x0f)|0xf0;
while((P2&0x0f)!=0x0f);//松开按键返回键值
return((~sccode)+(~recode));
}
else
sccode=(sccode<<1)|0x01;
}
}
}
return 0; //无键按下,返回0
}
void delayms(void)
{
unsigned char k,y;
for (k=200; k>0; k--)
for (y=50;y>0;y--);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -