您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 矩阵键盘及其电路设计
键盘及其电路设计一、键盘的基本概念•键盘是一组开关的集合,是最常用的输入设备之一。组成键盘的按键有触点式和非触点式两种。•触点式按键通常是机械触点开关,它利用了机械触点的通、断特性来完成信息的输入。•非触点式按钮主要指利用电子器件的通、断来完成信息的输入,如工作在开关状态的三极管等。•在单片机控制系统中常用触点式开关来组成键盘。二、键盘的结构方式•键盘有两种基本类型编码键盘和非编码键盘。•编码键盘采用硬件线路来产生键码,每按下一个键,键盘能自动生成按键代码。•非编码键盘是靠编程来识别键盘上的闭合键,并由编程来确定按键代码。非编码键盘具有结构简单、价格便宜等特点因此在单片机系统中普遍采用非编码键盘。•编码键盘按结构方式划分有独立式键盘和矩阵式键盘两大类。1、独立式键盘及其接口•独立式键盘,是一种最简单的键盘构成方法,它将每个按键的一端接到单片机的I/O口,另一端接地,如图所示。•主要特点是各个键相互独立,每一个按键对应一根输入口线。键盘软件结构简单,但当键盘数目较多时,需占用大量的输入口线,所以在使用上受到了很大的限制。2、矩阵式键盘及其接口•在键盘中按键数量较多时,为了减少I/O口的占用,通常将按键排列成矩阵形式。•在矩阵式键盘中,每条水平线和垂直线在交叉处不直接连通,而是通过一个按键加以连接,如图所示。这样,一个端口(如P1口)就可以构成4*4=16个按键,比独立式键盘多出了一倍,而且线数越多,区别越明显,如再多加一条线就可以构成20键的键盘,而直接用端口线则只能多出一个键(9键)。3、矩阵式键盘的按键识别方法•逐行扫描法是一种逐行或逐列判断是否有键按下的方法。扫描法又称为逐行或列扫描查询法,是一种最常用的按键识别方法。利用行扫描法判断矩阵键盘中被按下的键时主要经过以下步骤。•第一步、识别有无键按下•让所有的行线均置为0电平,即P1.4-P1.7均输出低电平,读取列线P1.0-P1.3的值,若P1.0-P1.3均为高电平,则表示无键按下,若不全为高电平,则表示有键按下•第二步、若有键被按下,识别出具体的按键•方法是采用逐行扫描的办法,即逐行置零电平,检查各列线的电平。如首先置第一行为0,其余行为1,也就是让P1.4-P1.7输出0111,读取列线P1.0-P1.3的值,若不全为1,则根据读取的列值即可判断出按键在第一行第几列上,从而识别出按键的位置,若全为1,表示第一行无键按下,那么就再置第二行为0,其余行为1,即P1.4-P1.7输出1011,再读取列值,根据列值结果,判断第二行上有无键被按下,依此类推,识别出按键的键值。三、键盘使用时需注意的问题•按键开关的抖动问题•由于按键的结构为机械弹性开关,因此按键从最初按下到接触稳定需数毫秒的弹跳时间,这样的抖动时间一般在5~10ms,松开键时也有同样•键盘消抖动的方法有两种。•硬件消抖动:利用双稳态电路、单稳态电路及RC积分电路去抖。•软件消抖动:利用延时子程序来完成,既在第一次检测到按下按键后经过一定抖动时间后再次检测按键是否按下,从而消除抖动的影响。的问题。
本文标题:矩阵键盘及其电路设计
链接地址:https://www.777doc.com/doc-4534607 .html