矩阵按键工作原理

首先是跳线帽位置,在强调一遍。

直观的来说,独立按键的跳线帽是接在右边

矩阵按键的跳线帽是接在左边

矩阵按键工作原理

上图是独立按键的接法

矩阵按键工作原理

上图是矩阵按键的接法

矩阵按键:通过用户快速的输入,从而检测到那个按键被按下。

举个例子,若给P3.6输入0,P3.4,P3.5输入1,那么就是第二列的某个按键被按下,接着程序检测,若发现P3.0为0,则是S11,若P3.1为0,则是S11被按下,如此定位。

矩阵按键工作原理

矩阵按键工作原理

先写第一排四个灯S7,S6,S5,S4

矩阵按键工作原理

矩阵按键工作原理

矩阵按键工作原理

矩阵按键工作原理

矩阵按键工作原理

然后诸如此类,把全部四列都完善

矩阵按键工作原理

矩阵按键工作原理

矩阵按键工作原理

矩阵按键工作原理

矩阵按键工作原理

矩阵按键工作原理


还是因为程序太长,可以独立分出一个子函数,套用在主函数里。

由于IAP15与STC89c52单片机的结构有差别,在对前两列的按键编程时要加入P42与P44,因为在

IAP15里,对应的前两列的接口与STC89C52不相同,这个一定要注意,我就是忘记输入,结果做了好久。

程序的主要部分还是与之前的相同,有delayms(),if(),防抖检测,也可以加上松手检测,如:

while(temp!=0x0f)

{

temp=P3;

temp=temp&0x0f;

}

这个松手检测的意思是,当temp不等与0x0f时,一直会在while()中循环,只到按键松开,等于0x0f。

这个程序又新加了switch()函数。这是一个转换函数,用于定义不同的行。

程序内部可以自己调整led灯的闪烁情况。也可以更多复杂的有趣的结合。

PS.今天时冬至!在后台回复冬至快乐会收到惊喜哦!

矩阵按键工作原理