键盘接口学习

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

键盘接口

1、按键概念

按键通常是一种常开型按钮开关,常态下键的两个触点处于断开状态,按下键时

它们才闭合(短路)。

通常,键盘有编码和非编码两种。编码键盘

通过硬件电路产生被按按键的键码和一个选通

脉冲。选通脉冲可作为CPU的中断请求信号。这

种键盘使用方便,所需程序简单,但硬件电路复

杂,常不被单片机采用。

非编码键盘按组成结构又可分为独立式键

盘和矩阵式键盘。独立式键盘无论是硬件结构还

是软件设计都比较简单。特点:每个按键占用一

条I/O线,当按键数量较多时,I/O口利用率不

高,但程序编制简单。适用于所需按键较少的场

合。

矩阵式键盘特点:电路连接复杂,但提高了

I/O口利用率,软件编程较复杂。适用于需使用

大量按键的场合。

2、单片机对矩阵式键盘接口处理

的一般过程

1、键扫描

键扫描就是要判断有无键按下,当扫描到有键

按下时再进行下一步处理,否则退出键盘处理

程序。独立式键盘扫描只需读取IO口状态,而

矩阵式键盘描通常有两种实现方法:逐行扫描

法和线反转法。

(1) 逐行扫描法。依次从第一至最末行线

上发出低电平信号, 如果该行线所连接的键没

有按下的话, 则列线所接的端口得到的是全“1”

信号, 如果有键按下的话, 则得到非全“1”信号。

(2)线反转法。

线反转法也是识别闭合键的一种常用方法, 该法比行扫描速度快, 但在硬件上要求行

线与列线外接上拉电阻。

先将行线作为输出线, 列线作

为输入线, 行线输出全“0”信号, 读

入列线的值, 那么在闭合键所在的

列线上的值必为0;然后从列线输出

全“0”信号,再读取行线的输入值,

闭合键所在的行线值必为0。这样,

当一个键被按下时, 必定可读到一

对唯一的行列值。再由这一对行列值

可以求出闭合键所在的位置。

2.消抖

由于按键按下时的机械动作,在按键

被按下或松开的瞬间,其输出电压会产

生波动,称为键的抖动。

为确保每按一次键单片机只进行

一次处理,使键盘可靠地工作,必须消

除按键抖动。消抖方法有硬件消抖和软

件延时两种。

(1)硬件消

抖法:就是在键

盘中附加去抖动

电路,从根上消除抖动产生的可能性。左图所示电路实际上是由R-S

触发器构成的单脉冲电路。当按钮开关按下时Q端输出低电平,当开

关松开时Q端恢复高电平,即输出一个负脉冲,以此消除抖动。

(2)软件消抖法:键按下的时间与操作者的按键动作有关,约为十分之几到几秒不等。而键抖动时间与按键的机械特性有关,一般为5~10ms不等。软件消抖法即是采用延时(一般延时10~20ms)的方法,以避开按键的抖动,即在按键已稳定地闭合或断开时才读出其状态。

3. 计算键码

键码是每个按键的标识。被按键确定下来之后,接下来的工作是计算闭合键的键码,然后才能根据键码进行对应的操作。

为编程方便,键码通常都是以键的排列顺序安排,按照从左到右、从上向下的顺序编排。键码可根据行号列号以查表求得,也可通过计算得到。我们将结合实例加以介绍。

4.等待释放

等待释放是为了保证键的一次闭合仅进行一次处理。求得键码后,然后通过不断进行键扫描,如有键按下,则继续扫描,否则认为键已释放。

5.按键处理

根据系统功能要求,利用单片机控制完成特定操作。

3、键盘接口的控制方式

在单片机的运行过程中,何时进行键盘扫描和处理,可有下列三种情况:

1.查询方式:单片机通过调用键盘扫描子程序,查询有无键按下。

2.定时扫描方式:每隔一定时间执行一次键盘扫描子程序。

3.中断方式:每当有键闭合时才向CPU发出中断请求,中断服务时进行键盘扫描和处理。

相关文档
最新文档