📄 c51_3x3.txt
字号:
C51_3X3键盘扫描程序
//键消抖延时函
void delays(void)
{
uchar i;
for(i=2000;i>0;i--);
}
//kbscan(void)键扫描函数
//P1.0-p1.2行线输出,p1.3-p1.5列线输入
uchar kbscan(void)
{
uchar sccode,recode;
P1=0xf8; //发全”0“行扫描码,列线输入
if((P1&0xf8)!=0xf8) //若有键按下
{
delays(); //延时去抖动
if((P1&0xf8)!=0xf8)
{
sccode=0xfe; //逐行扫描初值
while((sccode&0x08)!=0)
{
P1=sccode; //输出行扫描码
if((P1&0xf8)!=0xf8) //本行有键按下
{
recode=(P1&0xf8)|0x07; //取列码
return((~sccode)+(~recode));//返回特征键码
}
else sccode=(sccode<<1)|0x01; //行扫描码左移一位
}
}
}
return(0);//无键按下,返回值为0
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -