本版名称: 单片机

版       主: fengzhang2002, tiankai001, leang521

EEWORLD欢迎您,请先注册登录

关于按键,你都了解多少?来讨论一下吧

关于按键,你都了解多少?来讨论一下吧

这两天soso准备组织大家来个专题学习“按键的深入研究”。呵呵,热烈欢迎类似的活动啊。

下面说一下我了解的一些按键的内容简单说一下,欢迎大家一起来讨论一下

按键一般有这么几种(不是很全面,大家来补充哦):
独立按键;
矩阵键盘;
PS2键盘;
USB键盘;
串口键盘;
AD键盘;
遥控器按键
触摸按键;
键盘扩展芯片;

1、对于按键来说,首先要解决的就是按键的消抖问题,有些专用的键盘和键盘芯片可能在内部已经进行了按键的消抖处理。
但是对于我们常用的独立按键以及矩阵键盘来说,这个消抖处理的工作需要我们在系统设计的时候自己解决。
常用的消抖办法分为硬件消抖和软件消抖两种。
由于硬件消抖需要额外增加电路元件,这样不可避免要增加成本,所以一般情况下不常用。
我们碰到最多的就是软件消抖。最常用的方法就是通过延时来避开按键的抖动时间。
但是这种方法会造成CPU效率下降。
所以比较好的办法是利用状态机的方法判断按键事件:
所谓利用状态机的方法其实就是利用定时器中断来实现定时检测按键的状态。

2、在按键处理中,还会有按键有效性的判断:
例如我们是在按键被确认按下后当做一次有效按键,还是要经过“按键按下--确认按键被按下--确认按键释放
”这个步骤才算是一次有效按键。

3、按键的复用、连击等功能
最常见的是手机的键盘,每个按键都有多种功能,如何判别当前状态下按键执行的是何种功能。

矩阵键盘:
矩阵键盘同样要有按键的消抖处理。
1、矩阵键盘如何判断同时有多个按键被按下
2、矩阵键盘的键值读取方法:行列判断法,线翻转法.....

AD键盘:
AD键盘是利用模数转换的原理,根据每个按键按下后端口采集的电压值来判断那个按键被按下。

PS2键盘:
PS2键盘就是我们常见的计算机的键盘,它是有专门的通信协议的。
本帖最近评分记录

推荐博客

TOP↑

回复 楼主 tiankai001 的帖子

我觉得采用软件延时做去抖的处理未必会使CPU效率下降,比如你使用uCOSII操作系统的话,你如果用系统延时OSTimeDlyHMSM(0,0,0,20)做延时处理,就不会对CPU效率有影响,因为CPU在这个时间段会做其他的事情,而不是闲下来。
不断地学习,才会有创新!
淘宝小店:手机、qq点卡、游戏点卡自动充值 http://shop63727265.taobao.com/

TOP↑

回复 沙发 lixiaohai8211 的帖子

恩,这个问题我没考虑到。我说的主要是没有在操作系统的情况下的
呵呵,感谢提醒

TOP↑

做电子设计的面对的矩阵键盘和独立键盘还是比较多的,很期待关于状态机的做法,一次按键分为几个状态呢?按下->抖动->抬起->抖动,这样可以么,另外关于一次按多个键怎么处理呢?
不断地学习,才会有创新!
淘宝小店:手机、qq点卡、游戏点卡自动充值 http://shop63727265.taobao.com/

TOP↑

引用:
原帖由 tiankai001 于 2010-3-10 09:03 发表
恩,这个问题我没考虑到。我说的主要是没有在操作系统的情况下的
呵呵,感谢提醒
呵呵,客气,学习学习啊。
不断地学习,才会有创新!
淘宝小店:手机、qq点卡、游戏点卡自动充值 http://shop63727265.taobao.com/

TOP↑

怎么说检测两次要比检测一次 浪费资源 hoho
不过一般都会加软件防抖嘀;P
生活在激情中 ... 希望 哈哈

http://home.eeworld.com.cn/?80086

TOP↑

引用:
原帖由 lixiaohai8211 于 2010-3-10 09:04 发表
做电子设计的面对的矩阵键盘和独立键盘还是比较多的,很期待关于状态机的做法,一次按键分为几个状态呢?按下->抖动->抬起->抖动,这样可以么,另外关于一次按多个键怎么处理呢?
恩,关于状态机,这个要详细讨论一下,呵呵,回头详细写一下

TOP↑

好久没逛论坛了。。。

不像是版主说出的话!!!看了看3月的原创活动,也没有什么感觉。

按键的目的是什么!按键为什么会有 所谓的 “抖动” ,组合键等等。。。

管理员,要是奖品再好点,我就弄一个例子给大家看看!!时间比较宝贵

TOP↑

TOP↑

引用:
原帖由 linlimcu 于 2010-3-10 09:41 发表
好久没逛论坛了。。。

不像是版主说出的话!!!看了看3月的原创活动,也没有什么感觉。

按键的目的是什么!按键为什么会有 所谓的 “抖动” ,组合键等等。。。

管理员,要是奖品再好点,我就弄一个例子给 ...
呵呵 奖品的事情,其实也是我们一直在争取的,只要有了机会,就会为大家多争取一些的。

其实原创月的活动,也不过是说用奖品换大家多少时间或者技术,只是希望大家可以分享自己在电子方面的心得、感想或者小制作,创造更加严谨的讨论氛围。而礼物,只是对参与这个活动的朋友,一点小小的心意,感谢他们为这个努力所作出的贡献。

按键之说,也是和朋友聊天临时起义的,包括tiankai在内,我们都不可能精于各个技术领域,所以将问题抛在这里,期望得到大家的指点与讨论,希望通过大家的努力,把我们这个活动做得更有意义,更加专业。
期待与大家一起,为中国电子业贡献小小的力量。
EEWORLD主站:http://www.eeworld.com.cn/
新浪微博:http://t.sina.com.cn/1656829822/profile
QQ:1206973913 如有问题,欢迎随时联系我。

TOP↑

24小时排行榜

最近访问的版块