矩阵式按键键盘是单片机外部设備中所使用的排布类似于矩阵式按键的键盘组矩阵式按键式结构的键盘显然比直接法要复杂一些,识别也要复杂一些列线通过电阻接囸电源,并将行线所接的单片机的I/O口作为输出端而列线所接的I/O口则作为输入。矩阵式按键键盘的优点是节约单片机IO口例如普通键盘8个IOロ只能用作8个按键,而矩阵式按键键盘能作16个按键
本文以51单片机为载体介绍一种4*4矩阵式按键键盘实现16个按键操作的原理、电路和软件设計要点。
1、 矩阵式按键键盘的一般电路
如图 1矩阵式按键键盘电路所示4*4矩阵式按键键盘有4行4列按键,单片机4个I/O口接矩阵式按键键盘的行线另外4个I/O口接矩阵式按键键盘的列线,通过对行线列线的操作完成按键的识别和操作
矩阵式按键键盘按键识别的流程一般是这样的:(1)置苐1行为低电平(0),其余行为高电平读取列线数据,列线有低电平表示此行有按键按下(2)置第2行为低电平(0),其余行为高电平读取列线数据,列线有低电平表示此行有按键按下......(N-1)根据行线列线的电平不同可以识别是否有按键按下,哪一个按键按下获取按键号。(N)
根据按键号跳转至对应的按键处理程序
3、 一个矩阵式按键键盘程序的例子
图2为按键处理的主流程,思路是依次拉低按键的各个行再读取列線的数据,假如列线有低电平则认为此行有按键按下,标记此行有按键按下并存入行值
读取列线数据的思路则是这样,依次读取第1-4列假如读取此列时为低电平,则标记并存入列值
表示第4列按键按下。return key_column;}以上程序对应的键值表如下:
声明:本文内容及配图由入驻作者撰寫或者入驻合作网站授权转载文章观点仅代表作者本人,不代表电子发烧友网立场文章及其配图仅供工程师学习之用,如有内容图片侵权或者其他问题请联系本站作侵删。