标题:
单片机4*4矩阵键盘 超简洁程序
[打印本页]
作者:
xuexiweilaop
时间:
2021-6-18 19:39
标题:
单片机4*4矩阵键盘 超简洁程序
以前用的矩阵键盘扫描程序,非常冗余。
但是这个程序,只用了了几行代码,巧妙地用2层嵌套,就能实现16个按键的扫描过程 和 返回值。非常适合新手学习 和 应用。详细代码见附件。
1.png
(90.32 KB, 下载次数: 60)
下载附件
2021-6-19 01:29 上传
单片机源程序如下:
*功能:检测被按下的按键,并返回相应的值
uchar Keyscan(void)
{
Uchar i,j,temp,Buffer[4]={0xfe,0xfd,0xfb,0xf7};
for(j=0;j<4;j++)
{
P1=Buffer[j];
temp=0x10;
for(i=0;i<4;i++)
{
If(!(P1&temp))
{
Return(i+j*4);
}
temp<<1;
}
}
}
复制代码
作者:
xuexiweilaop
时间:
2021-6-19 08:22
谢谢管理员的认可
作者:
songzongsen
时间:
2021-6-19 17:06
纯新手看不太懂,If(!(P1&temp))这句怎么理解…………
作者:
songzongsen
时间:
2021-6-19 17:19
P1第一次赋值时,Buffer[j]是0xfe,假如现在是按下S2开关,那P1实际的值是0xde,我这个理解对么……
作者:
YTWO
时间:
2021-6-20 22:54
附件在哪里啊
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1