键盘是由一组规则排列的按键组成的,一个按键实际上是一个开关元件,也就是说,键盘是一组规则排列的开关。按键按照接口原理可分为全编码键盘与非编码键盘两类,这两类键盘的主要区别是识别键符及给出相应键码的方法不同。
全编码键盘能够由硬件逻辑自动提供与键对应的编码,一般还具有去抖动和多键、窜键保护电路,这种键盘使用方便,但需要较多的硬件,价格较贵,一般的单片机应用系统较少采用。
非编码键盘只简单地提供行和列的矩阵,其他工作均由软件完成。由于其经济实用,较多地应用于单片机系统中。本节将重点介绍非编码键盘接口。
1.按键编码
一组按键或键盘都要通过I/O口查询按键的开关状态。根据键盘结构的不同,采用不同的编码。无论有无编码,以及采用什么编码,最后都要转换成为相对应的键值,以实现按键功能程序的跳转。
2.编制键盘程序
一个完善的键盘控制程序应具备以下功能:
(1)检测有无按键按下,并采取硬件或软件措施,消除键盘按键机械触点抖动的影响。
(2)有可靠的逻辑处理办法。每次只处理一个按键,其间对任何按键的操作对系统不产生影响,且无论一次按键时间有多长,系统仅执行一次按键功能程序。(www.xing528.com)
(3)准确输出按键值(或键号),以满足跳转指令要求。
3.键盘的控制方式
按键有独立式按键和矩阵式按键两种控制方式。
(1)独立式按键。
所谓独立式按键,其原理是直接用I/O口线构成单个按键电路,其特点是每个按键单独占用一根I/O口线,每个按键的工作不会影响其他I/O口线的状态。独立式按键电路配置灵活,软件结构简单,但每个按键必须占用一根I/O口线,因此,在按键较多时,I/O口线浪费较大,不宜采用。
(2)矩阵式按键。
所谓矩阵式按键,其原理是每条水平线和垂直线在交叉处不直接连通,而是通过一个按键加以连接。行线通过上拉电阻接到+5V上。当无键按下时,行线处于高电平状态;当有键按下时,行、列线将导通,此时,行线电平将由与此行线相连的列线电平决定,这是识别按键是否按下的关键。然而,矩阵键盘中的行线、列线和多个键相连,各按键按下与否均影响该键所在行线和列线的电平,各按键间将相互影响,因此,必须将行线、列线信号配合起来做适当处理,才能确定闭合键的位置。
系统设计时,采用独立式按键和矩阵式按键,需要根据使用的电路进行分析以选择合适的方案。下面分别加以叙述。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。