改良版矩阵键盘仿真及程序详解 电路方案

yi39895_net 11 0 ZIP 2021-04-25 17:04:04

首先分享一个矩阵键盘电路: 上述的键盘编码方式是目前为止原理最简单的方式。首先我们知道当有一个按键按下去之后,相应的列线和行线之间就会短路(也可以说是直接相连),因此我们做扫描程序编码时候,一般都是让我们的8位输出口首先输出0xf0或者0x0f这样子比较有特点的一些数值,因为一旦按键按下之后,就能和清晰的读取回来,并且第一次判断是哪一行,哪一列。然后在第二次把这些行全一或者列全一的数值进行对调,再读入之后就能进行编码了。 但是,我们仔细想一下以下的叙述方式。我第一次输出0xf0,假设KEY2按下时,入读的就应该是0xe0,那么假设我让第二次输出0x0e,试想下在读取8这个电路的行列时候会变成什么样子?是不是很容易得出0xde这个值?那这个0xde就是KEY2的编码。因此我们在这里总结了行反转法的基本流程: (1)端口输出0xf0; (2)读入,判断是否为0xf0,如果不是表示有按键按下; (3)将读入值的高4位和低4位交换,再输出; (4)读入端口的值,即按键的编码。 仿真原理图如下(proteus仿真工程文件可到附件中下载) 附件内容截图: 部分源码截图:

用户评论
请输入评论内容
评分:
暂无评论