问个入门问题,关于矩阵键盘
初学,矩阵键盘的教程,一般都是P3口,或者P?口总线接4X4的矩阵键盘这样反转扫描、
但是我想知道的是,假如矩阵的行线和列线 不一定就在一个总线上。
比如第一行是P30,第二行变成 P10,第一列又是其他的IO口
这样的话,程序上怎么处理呢?
本质上就是把所有列电平质低,然后逐行扫描,看有没有那一行读入是低电平,是的那一行就是按键所在行。然后行列交换再进行一次以上工作,就可以确定出按下键的具体所在列了。(注意软件或者硬件上需要有消抖功能) chen90sky 发表于 2013-3-13 18:48 static/image/common/back.gif
本质上就是把所有列电平质低,然后逐行扫描,看有没有那一行读入是低电平,是的那一行就是按键所在行。然后 ...
你的意思我明白,就是说要给每一个行,列 都赋值,然后逐行(列)扫描。
但是使用反转法的时候,好像不太好操作。难道要每一位都单独赋值,程序比较繁琐,呵呵 。
huarana 发表于 2013-3-13 19:11 static/image/common/back.gif
你的意思我明白,就是说要给每一个行,列 都赋值,然后逐行(列)扫描。
是啊 你如果不按一定的规律来那程序上只有按位赋值了。为什么不放在相邻的硬件接口处呢,硬件上清晰软件上也简单。 除非没办法只能这样分配,否则你就是嫌的蛋疼。 chen90sky 发表于 2013-3-13 19:16 static/image/common/back.gif
是啊 你如果不按一定的规律来那程序上只有按位赋值了。为什么不放在相邻的硬件接口处呢,硬件上清晰软件 ...
因为有时候按键会比较多呀超过16个 chen90sky 发表于 2013-3-13 19:16 static/image/common/back.gif
是啊 你如果不按一定的规律来那程序上只有按位赋值了。为什么不放在相邻的硬件接口处呢,硬件上清晰软件 ...
4X4矩阵键盘不算难
完全可以自行设定 iicoyool 发表于 2013-3-13 22:24 static/image/common/back.gif
写个函数不就的了。比如outkeyPort(uchar num);
在函数里将八位都定义一下,没有什么区别的 ...
就是映射把 把端口 那就认为定义一下呗 ibichao 发表于 2013-3-13 19:25 static/image/common/back.gif
除非没办法只能这样分配,否则你就是嫌的蛋疼。
{:titter:}
页:
[1]