简述对矩阵键盘的理解
程序员文章站
2024-03-01 18:32:34
...
单片机矩阵键盘是由行线和列线组合而成的键盘
电路原理图如下:
假设红点处为按键按下
行列检测原理:
给每一行依次赋一个低电平用来检测。如果该行的按键没有被按下,那么4个列全为1。以第一行为例,与0xfe进行比对。如果一样,那么检测下一行。如果该行有按键按下,那么4个列中必有一个为0。以该图为例,与0xfd进行比较,发现不相等,进入处理语句。
//示例代码
unsigned char Val;
KeyPort = 0xf0;
if(KeyPort != 0xf0)
{
KeyPort = 0xfe; //检测第一行
if(KeyPort != 0xfe)
{
Val = KeyPort;
return Val;
}
KeyPort = 0xfd;//检测第二行
if(KeyPort != 0xfd)
{
Val = KeyPort;
return Val;
}
KeyPort = 0xfb;//检测第三行
if(KeyPort != 0xfe)
{
Val = KeyPort;
return Val;
}
KeyPort = 0xf7;//检测第四行
if(KeyPort != 0xfe)
{
Val = KeyPort;
return Val;
}
return 0xff;
}
//该段示例代码中未添加抖消