930电子网

 找回密码
 立即注册
艾克姆科技推出最新产品STC32G12K128开发板
查看: 10047|回复: 3

矩阵按键检测的原理是什么,看代码不是很清楚,恳请大神赐教

[复制链接]

10

主题

37

帖子

142

积分

注册会员

Rank: 2

积分
142
发表于 2017-7-3 12:05:46 | 显示全部楼层 |阅读模式
手头项目会用到4*4矩阵按键,看代码不是很清楚,恳请详解下矩阵按键检测的原理,谢谢
回复

使用道具 举报

101

主题

333

帖子

7428

积分

版主

Rank: 7Rank: 7Rank: 7

积分
7428
发表于 2017-7-3 23:44:28 | 显示全部楼层
本帖最后由 正是河豚 于 2017-7-4 00:02 编辑

    常用矩阵检测的原理是行列扫描原理,该原理具体步骤及含义如下:
    1.将行线配置为输出口控制输出为高电平,将列线配置为输出口控制输出为低电平,再配置行线为输入口、列线仍是输出口,检测行线的IO口电平变化,如果有按键按下,按键按下的对应行线被拉低,否则所有的行线都为高电平。
    2.将列线配置为输出口控制输出为高电平,将行线配置为输出口控制输出为低电平,再配置列线为输入口、行线仍是输出口,检测列线的IO口电平变化,如果有按键按下,按键按下的对应列线被拉低,否则所有的列线都为高电平。
    3.在第一步和第二步判断有键按下后, 延时10ms消除机械抖动,再次读取相应的行值或列值。
    4.开始扫描按键位置,采用行扫描,得到行值;采用列扫描,得到列值,再分别把行值和列值保存起来。
    5.将保存的行值和列值合并,得到按键对应的编码值,通过对编码值的操作可得到对应的按键信息,完成对矩阵按键的检测。


回复 支持 反对

使用道具 举报

101

主题

333

帖子

7428

积分

版主

Rank: 7Rank: 7Rank: 7

积分
7428
发表于 2017-7-5 09:06:31 | 显示全部楼层
    附上例程源码,可根据原理步骤对照程序编写领悟行列扫描原理。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复 支持 反对

使用道具 举报

4

主题

46

帖子

208

积分

中级会员

Rank: 3Rank: 3

积分
208
发表于 2017-7-8 16:01:04 | 显示全部楼层
按键矩阵检测,典型的模块化电路,初学者应该掌握。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|官方淘宝店|930电子网 ( 皖ICP备16000695号-2 )

Copyright © 合肥艾克姆电子科技有限公司
快速回复 返回顶部 返回列表