找回密码
 注册
搜索
查看: 1542|回复: 11

[讨论] 请教一下手机按键扫描的原理,希望高手指点

[复制链接]
发表于 2006-5-11 13:02:00 | 显示全部楼层 |阅读模式
请教一下手机按键扫描的原理,希望高手指点
发表于 2006-5-18 21:50:00 | 显示全部楼层
基本是一个5x5的一个扫描阵列,每行和每列的交点对应一个按键,每行和每列又对应baseband的一个GPIO,这样就可以检测按键了。基本原理就是这样。扫描阵列的行列数是可以根据需要改变的。[br]<p align=right><font color=red>+1 RD币</font></p>
点评回复

使用道具 举报

发表于 2006-5-20 23:38:00 | 显示全部楼层
<P>大多是采用“轮询”的方式。比如5行×6列的矩阵,5行是输出,6列是输入。开始5行都为输出高电平,而6列输入检测为内部下拉至低电平。当按下一个按键时,对应一个列输入就检测到上升沿至高电平。然后系统就知道有按键按下了哪一列(当然里面还有去抖,不细谈了)。这时,再分别5行输出轮流发送高电平,其他行输出低,这时检测确定的那个列输入。当列输入检测仍然为高,这时发送高电平的行就对应按下的按键行。这样按键矩阵就确定了哪个按键按下。</P><P>罗嗦了一点~</P>[br]<p align=right><font color=red>+3 RD币</font></p>
点评回复

使用道具 举报

发表于 2006-5-26 11:24:00 | 显示全部楼层
应该是 中断+查询 的方式:Keypad接口由一组三态的KEYPADCOL输出和一组KEYPADROW输入组成。ROW内部有上拉电阻,电平为高。检测按键输入是对按键进行扫描,从COL[x]输出低电平,如果对应COL[x]上的哪个键被按下,则按键所在的ROW[y]会输入低电平,产生中断信号。通过COL[x]与ROW[y],就可以定位到相应的按键。[br]<p align=right><font color=red>+1 RD币</font></p>
点评回复

使用道具 举报

发表于 2006-5-26 11:57:00 | 显示全部楼层
跟咱们大学时候学的单片机的课程设计的键盘的原理查不多[em01]
点评回复

使用道具 举报

 楼主| 发表于 2006-5-31 13:08:00 | 显示全部楼层
<P>那么基本上就是初始状态的话,行是置高的,列是置低的了,先中断,然后中断响应后,调用轮询函数</P>
点评回复

使用道具 举报

 楼主| 发表于 2006-5-31 13:11:00 | 显示全部楼层
还有就是输入和输出,中断的时候应该是列输出,行输入,然后就可以确定行了,接着是轮询,行输出,烈输入,就可以确定列了,谢谢大家
点评回复

使用道具 举报

发表于 2008-11-19 19:02:00 | 显示全部楼层
[em01][em01]
点评回复

使用道具 举报

发表于 2008-11-30 21:40:00 | 显示全部楼层
有时按键串入电感是何用处?
点评回复

使用道具 举报

发表于 2008-12-9 22:51:00 | 显示全部楼层
xuexi liao
点评回复

使用道具 举报

发表于 2008-12-11 14:00:00 | 显示全部楼层
很好!!
点评回复

使用道具 举报

发表于 2008-12-12 22:20:00 | 显示全部楼层
有谁知道MTK的什么方式?
MTK的datasheet太笼统了
点评回复

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies

本版积分规则

Archiver|手机版|小黑屋|52RD我爱研发网 ( 沪ICP备2022007804号-2 )

GMT+8, 2024-11-25 07:22 , Processed in 0.046897 second(s), 16 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表