键盘输入原理.doc

键盘输入原理.doc

ID:51648999

大小:254.50 KB

页数:10页

时间:2020-03-14

键盘输入原理.doc_第1页
键盘输入原理.doc_第2页
键盘输入原理.doc_第3页
键盘输入原理.doc_第4页
键盘输入原理.doc_第5页
资源描述:

《键盘输入原理.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、基础知识1.键盘的基本原理键盘是一组按键的组合,它是最常用的输入设备,操作人员可以通过键盘输入数据或命令,实现简单的人机对话。键盘是一种常开型的开关,通常键的两个触点处于断开状态,按下键时它们才闭合。键盘的识别有两种方案:一是采用现有的一些芯片实现键盘扫描;再就是用软件实现键盘扫描。目前有很多芯片可以用来实现键盘扫描,如有Intel8279、CH451、ICM7218、PCF8574等。但是键盘扫描的软件实现方法有助于缩减系统的重复开发成本,且只需要很少的CPU开销。嵌入式控制器的功能很强,可以充分利用这一资源,这里就介绍一下用软件实现键盘扫描的方案。 

2、   键盘从结构上分为独立式键盘与矩阵式键盘。一般按键较少时采用独立式键盘,按键较多时采用矩阵式键盘。 (1)独立式键盘。在由单片机组成的测控系统及智能化仪器中,用的最多的是独立式键盘。这种键盘具有硬件与软件相对简单的特点,其缺点是按键数量较多时,要占用大量口线。当按键没按下时,CPU对应的I/O接口由于内部有上拉电阻,其输入为高电平;当某键被按下后,对应的I/O接口变为低电平。只要在程序中判断I/O接口的状态,即可知道哪个键处于闭合状态。(2)矩阵式键盘。矩阵式键盘使用于按键数量较多的场合,它由行线与列线组成,按键位于行、列的交叉点上。一个3*3的行列

3、结构可以构成一个有9个按键的键盘。同理,一个4*4的行列可以构成一个16按键的键盘。很明显,在按键数量较多的场合,与独立式键盘相比,矩阵式键盘要节省很多I/0接口。2、键盘按键识别方法(1)扫描法。扫描法有行扫描和列扫描两种,无论采用哪种,其效果是一样的,只是在程序中的处理方法有所区别。下面以行扫描法为例来介绍扫描法识别按键的方法。先向键盘4根行线输出其中某一行为低电平,其它行为高电平,然后读取列值,若某一列值为低电平,则表明同时为低电平的行和列的交叉处按键被按下,如果没有某列为低电平,则继续扫描下一行。因为输入低电平的行是从第一行开始逐行遍历的,故称为

4、行扫描法。行与列是相对的,可以将行按列对待,同时将列按行对待,所实现的扫描法效果是一样的。下面以下图单片机4*4键盘的K2键按下为例,说明此键是如何识别出来的。首先在键盘处理程序中将P1.4-P1.7依次按位变低电平,P1.4-P1.7在某一时刻只有一个为低电平。在某一位为低电平时读行线,根据行线的状态即可判断出哪一个按键被按下。如2号键按下,当列线P1.5为低电平时,读回的行线状态中P1.0被拉低,由此可知K2键被按下。一般在扫描法中分两步处理按键,首先是使列(行)线依次变低电平,读行(列)线,进而判断出具体哪个键被按下。(2)行列反转法。扫描法是逐行

5、或逐列扫描查询,当被按下的键处于最后一列时,要经过多次扫描才能最后获得此按键所处的行列值。而行列反转法则显的简练,无论被按的键处于哪列,均可经过两步即能获得此按键所在的行列值。实际原理是输出所有行为低电平的行数据后读取列值,如果出现有低电平的列值,表明有按键按下;然后将原本的用于读取数据的列线接口电路反转为输出并将读到的列值原封不动输出到原来的列线上,接着将原本用于输出数据的行线接口电路反转为输入并读入所有行值,输出的行值和读入的行值中同为低电平的行、列交叉位置就是按键位置,4位行值和4位列值可组合成8位扫描码,唯一表述某个按键。仍以上图来介绍线反转法。

6、首先将行线P1.0-P1.3作为输入线,列线P1.4-P1.7作为输出线,并且输出线输出全为低电平,读行线状态,则行线中电平为低的是按键所在的行。然后将列线作为输入线,行线作为输出线,并将输出线输出为低电平,读列线状态,则列线是电平为低的是按键所在的列。综合上述两步结果,确定按键所在的行和列,从而识别出所按下的键。假设10号键被按下,在第一步P1.3-P1.0全为低电平时,读P1.4-P1.7的值,则P1.5为低电平;在第二步P1.4-P1.7输出全为低电平时,读P1.3-P1.0时,P1.2为低电平。由此可判断第3行第2列有键被按下,此键就是K10键。

7、3、按键去抖由于通常的按键所用的开关是机械开关,因为当它们被按下或者被释放时,并不能够产生一个明确的1或者0。尽管触点可能看起来稳定而且很快地闭合,但与微处理器快速的运行速度相比,这种动作是比较慢的。当触点闭合时,其弹起就像一个球。弹起效果将产生如下图所示的好几个脉冲。弹起的持续时间通常将维持在5ms~30ms之间。为了确保CPU对按键的一次闭合仅做一次处理,必须要在程序或硬件上进行防抖处理。为节省硬件,通常在单片机或ARM系统中,一般不采用硬件方法消除键的抖动,而是用软件消抖方法。即检测键闭合后延时5-10ms,让前延抖动消失后再一次检测键的状态,如果

8、仍保持闭合状态电平,则确认真正有键按下。当检测到按键释放后,也要给5-10ms的

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。