7.1 键盘处理概述

更新于 2026年10月10日 版权声明
7.1 键盘处理概述

7.1.1 键盘相关概念

键盘在单片机应用系统中,实现输入数据、传送命令的功能,是人工干预的主要手段。其相关概念见表7-1。

表7-1 键盘相关概念

图示

在单片机应用系统中,一般采用触点式按键组成的非编码式按键。

7.1.2 单片机键盘系统设计

1.单片机按键输入程序的基本任务

(1)监测有无键按下;键的闭合与否,反映在电压上就是呈现出高电平或低电平,所以通过电平的高低状态的检测,便可确认按键按下与否。

(2)判断是哪个键按下。

(3)完成键处理任务。

2.单片机按键去抖动

键盘按键所用开关为机械弹性开关,利用了机械触点的合、断作用。由于机械触点的弹性作用,一个按键开关在闭合时不会马上稳定地接通,在断开时也不会一下子断开。因而在闭合及断开的瞬间均伴随有一连串的抖动,如图7-1所示。

图示

图7-1 按键抖动(https://www.daowen.com)

抖动时间的长短由按键的机械特性决定,一般为5~10ms,这是一个很重要的参数。抖动过程引起电平信号的波动,有可能令CPU误解为多次按键操作,从而引起误处理。

为了确保CPU对一次按键动作只确认一次按键,必须消除抖动的影响。按键的消抖,通常有软件、硬件两种消除方法。

(1)硬件消抖:这种方法只适用于键的数目较少的情况。

(2)软件消抖:如果按键较多,常采用软件消抖。在第一次检测到有键按下时,执行一段延时10 ms的子程序后,再确认电平是否仍保持闭合状态电平,如果保持闭合状态电平,则确认真正有键按下,进行相应处理工作,消除了抖动的影响。其按键软件消抖检测过程如图7-2所示。

3.单片机按键处理连击

连击,是一次按键产生多次击键的效果。

要有对按键释放的处理,如图7-3所示。为了消除连击,使得一次按键只产生一次键功能的执行(不管一次按键持续的时间多长,仅采样一个数据)。否则,键功能程序的执行次数将是不可预知的,由按键时间决定。连击是可以利用的。连击对于用计数法设计的多功能键特别有效。

图示

图7-2 按键

图示

图7-3 按键释放

4.单片机按键采取串键保护措施

串键,是指同时有一个以上的键按下,串键会引起CPU错误响应。通常采取的策略为单键按下有效,多键同时按下无效。

↑上一章 ↓下一章
关注公众号获取验证码
复制内容需要验证码(7.99元/天)