关于矩阵式按键的一些疑问,希望各位大师能帮下忙

[复制链接]
2316|10
 楼主| yylfcxpx168 发表于 2013-7-30 18:01 | 显示全部楼层 |阅读模式

1、如何实现矩阵式按键一键多功能,比如说:某个键长按、短按、连按等功能。
2、如何实现矩阵式按键的组合键功能,比如说:按下某个键不放,在按另外一个键的功能的实现
                                            或者是按下某个键、再按另几个键的功能的实现
maychang 发表于 2013-7-30 19:06 | 显示全部楼层
1、某个键长按、短按、连按,可以软件实现。
可以设置一个定时器(软件定时即可),检测到键按下开始计时,计时到某设定值几认为长按,未到此值抬起为短按,抬起超过一定时间复位,未达到一定时间又检测到按下为连按。
2、矩阵式小键盘无法区分多键同时按下,这只要看看矩阵键盘电路就明白。要小键盘能够区分多键按下,电路需要改进。
 楼主| yylfcxpx168 发表于 2013-7-30 19:44 | 显示全部楼层
maychang 发表于 2013-7-30 19:06
1、某个键长按、短按、连按,可以软件实现。
可以设置一个定时器(软件定时即可),检测到键按下开始计时,计 ...

这个理论我是知道的,独立按键的一键多功能程序我也会写,就是这个矩阵式的我不太会处理,能给个源码给我参考下吗?yylfcxpx168@163.com
maychang 发表于 2013-7-30 20:03 | 显示全部楼层
yylfcxpx168 发表于 2013-7-30 19:44
这个理论我是知道的,独立按键的一键多功能程序我也会写,就是这个矩阵式的我不太会处理,能给个源码给我 ...

几乎是完全一样的。
源码我手中没有。好像在周航慈老师的某本书里面见到过。
 楼主| yylfcxpx168 发表于 2013-8-2 22:09 | 显示全部楼层
maychang 发表于 2013-7-30 20:03
几乎是完全一样的。
源码我手中没有。好像在周航慈老师的某本书里面见到过。 ...

假如是6*8的矩阵键盘的话,一行一行的扫描会得到6个扫描值,我就是不知道怎么处理这6个扫描值?
一般的矩阵式键盘的软件都是扫描到某一行有键按下就去处理这个键,处理完就直接退出扫键程序了?那如果这个按下的键有长按、短按和连按功能的话,如果这个键被一直按着下一次执行扫键程序又会执行到这一行就退出了,下面的键如果有按下了都监测不到了。
具体矩阵试按键怎么处理,斑竹能跟我说下不?我想了好久都没想到办法。
千条万路 发表于 2013-8-2 22:16 | 显示全部楼层
maychang 发表于 2013-7-30 19:06
1、某个键长按、短按、连按,可以软件实现。
可以设置一个定时器(软件定时即可),检测到键按下开始计时,计 ...

有理!
千条万路 发表于 2013-8-2 22:18 | 显示全部楼层
yylfcxpx168 发表于 2013-8-2 22:09
假如是6*8的矩阵键盘的话,一行一行的扫描会得到6个扫描值,我就是不知道怎么处理这6个扫描值?
一般的矩 ...

把按键程序放中断里可以吗?不管程序执行到哪里,只有发生中断就执行中断里面的程序。
grasswolfs 发表于 2013-8-2 22:24 | 显示全部楼层
一定要用矩阵式的么?其实PC键盘对于LZ说的这些功能都是很容易实现的,可以参考一下,手边没有代码
 楼主| yylfcxpx168 发表于 2013-8-2 23:27 | 显示全部楼层
千条万路 发表于 2013-8-2 22:18
把按键程序放中断里可以吗?不管程序执行到哪里,只有发生中断就执行中断里面的程序。 ...

放中断里,与我这样隔10MS轮询不是一样的吗?
 楼主| yylfcxpx168 发表于 2013-8-2 23:32 | 显示全部楼层
grasswolfs 发表于 2013-8-2 22:24
一定要用矩阵式的么?其实PC键盘对于LZ说的这些功能都是很容易实现的,可以参考一下,手边没有代码 ...

就是想试试这个矩阵键盘能不能做到,锻炼下自己的能力
grasswolfs 发表于 2013-8-3 10:07 | 显示全部楼层
yylfcxpx168 发表于 2013-8-2 23:32
就是想试试这个矩阵键盘能不能做到,锻炼下自己的能力

好吧,逻辑上应该有点难,不过也不是不可以,可以试试双向扫描的方式
您需要登录后才可以回帖 登录 | 注册

本版积分规则

5

主题

44

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部