修订矩阵键盘的工作原理
矩阵按键的工作原理
矩阵按键的工作原理
按键是一种常见的输入设备,它们常用于各种电子设备,如手机,游戏机,电脑,控制系统等。
按键可以识别不同的按键组合,从而输入不同的命令。
按键有多种不同的结构,而矩阵按键是其中最常见的一种。
矩阵按键的工作原理是:设备的每个按键都由一组横向和纵向的键组成。
当按下一个按键时,键将发送电流给处理器,处理器解析电流,计算出相应的键值。
当多个按键同时按下时,处理器会计算出组合动作,从而输入相应的指令。
矩阵按键可以比较容易地实现按键组合,同时可以避免按键冲突。
此外,由于矩阵按键的结构比较简单,因此生产成本也比较低。
它们可以用于制作小型的按键,如智能手机的虚拟按键和游戏机的综合按键,也可以用于制作大型的按键,如电脑键盘的按钮和家用电器的控件。
矩阵按键的典型应用是在控制系统中,它们可以明确地控制系统的某些操作,如控制系统的动作,接受用户输入,执行动作等。
由于矩阵按键可以容易地处理复杂的按键组合,因此它们可以在游戏控制台上实现复杂的操作,从而为游戏玩家带来更多乐趣。
矩阵按键是一种非常有用的技术,它比传统的按键有更多的优势。
它可以通过多组按键组合来实现复杂的按键功能,而且可以避免按键冲突。
此外,矩阵按键的生产成本也比较低,比较容易实现。
由此可见,矩阵按键有着广泛的应用前景,可以为各种电子设备增加更多功
能,使用者也可以更好地控制设备,获得更多乐趣。
矩阵键盘工作原理
矩阵键盘工作原理矩阵键盘是一种常见的计算机输入设备,它的工作原理是通过一组排列成矩阵的按键和电路来实现数据输入。
在我们日常使用的电脑键盘中,就采用了矩阵键盘的设计原理。
下面我们来详细了解一下矩阵键盘的工作原理。
首先,矩阵键盘由多个按键组成,这些按键通常被排列成矩阵的形式,每个按键都对应着一个电路。
当用户按下某个按键时,这个按键所在的电路就会被闭合,产生一个电信号。
这个信号会被传输到计算机的主板上,然后由主板进行识别和处理。
其次,矩阵键盘的工作原理是基于键盘扫描的。
在键盘扫描过程中,计算机会通过轮流地对每行和每列的电路进行检测,以确定哪些按键被按下。
具体来说,当用户按下某个按键时,它所在的行和列的电路就会连接起来,计算机就能够通过扫描检测到这个按键的存在。
然后,一旦计算机检测到有按键被按下,它就会根据按键所在的行和列的位置来确定这个按键的具体标识。
这个标识会被转换成相应的ASCII码或者其他编码方式,然后传输到计算机的操作系统中。
操作系统会根据接收到的编码来识别用户按下的是哪个按键,并进行相应的处理,比如在屏幕上显示相应的字符或者执行相应的功能。
最后,需要注意的是,矩阵键盘的工作原理是基于按键的电路连接来实现的。
因此,它对于多个按键同时按下的情况可能会存在一定的限制。
一般来说,矩阵键盘能够支持同时按下一定数量的按键,但是如果同时按下的按键超出了它的限制,就有可能会出现按键冲突的情况,导致计算机无法准确识别用户的输入。
总的来说,矩阵键盘是一种通过按键和电路排列成矩阵来实现数据输入的计算机输入设备。
它的工作原理是基于键盘扫描和按键电路连接来实现的,能够准确地识别用户的按键输入,并将输入的数据传输到计算机进行处理。
然而,需要注意的是,矩阵键盘在处理多个按键同时按下的情况时可能会存在一定的限制,需要用户在使用时注意避免按键冲突的情况发生。
stm32矩阵键盘原理
STM32矩阵键盘原理详解引言矩阵键盘是一种常见的输入设备,广泛应用于电子产品中。
在STM32微控制器中,利用GPIO引脚实现矩阵键盘控制相对简单,本文将详细介绍STM32矩阵键盘的基本原理。
基本原理矩阵键盘由多个按键组成,通常采用行列式排列。
每个按键都由一个触点和一个按键外壳组成,触点一般为弹簧式结构,按下按键时触点接通,释放按键时触点断开。
矩阵键盘的连接方式矩阵键盘的每个按键都被分配一个行号和列号,通过行线和列线来连接按键和控制芯片。
STM32通过GPIO来控制行线和列线的电平,实现按键的扫描和检测。
在STM32中,行线和列线可以连接到不同的GPIO引脚上。
行线连接到输出引脚,列线连接到输入引脚。
这样,通过对行线的输出和对列线的输入,可以实现对矩阵键盘的扫描和检测。
矩阵键盘的扫描原理矩阵键盘的扫描原理可以简单描述为以下几个步骤:1.将所有行线设置为高电平,所有列线设置为输入模式。
2.逐个将行线设置为低电平,并同时检测列线引脚的电平状态。
3.如果某一列的输入引脚检测到低电平,表示该列对应的按键被按下。
4.通过行线和列线的对应关系,确定被按下的按键的行号和列号。
矩阵键盘的按键映射通过扫描后,可以得到被按下的按键的行号和列号,STM32可以根据行列号的映射关系将按键信息转化为相应的按键值。
通常,矩阵键盘的按键映射是通过二维数组来实现的。
数组的行号对应行线,列号对应列线。
数组中的元素对应按键的键值。
例如,要实现一个4x4的矩阵键盘,可以通过以下数组表示按键的映射关系:uint8_t keyMap[4][4] = {{ '1', '2', '3', 'A' },{ '4', '5', '6', 'B' },{ '7', '8', '9', 'C' },{ '*', '0', '#', 'D' }};通过行列号可以确定数组中的元素,从而得到按键的键值。
矩阵按键原理
矩阵按键原理矩阵按键是一种常见的电子产品中使用的按键结构,它通过将多个按键组合在一起,以节省空间和成本,并实现多功能的操作。
在手机、遥控器、键盘等电子设备中,我们经常会见到矩阵按键的身影。
那么,矩阵按键是如何实现按键功能的呢?接下来,我们将深入探讨矩阵按键的原理。
首先,矩阵按键由多个行和列的交叉点组成。
当用户按下某一个按键时,该按键所在的行和列就会发生连接,从而形成一个闭合电路。
这个闭合电路的形成,就会被控制器所检测到,并识别出用户按下的是哪一个按键。
这是矩阵按键实现按键功能的基本原理。
其次,为了实现多个按键的组合功能,矩阵按键通常会采用编码方式。
在编码方式下,每个按键都会被赋予一个唯一的编码,当用户按下按键时,控制器就会根据按键的编码来识别用户的操作。
这种编码方式可以有效地避免按键之间的干扰,确保按键操作的准确性。
此外,矩阵按键还可以通过扫描的方式来实现按键的检测。
在扫描方式下,控制器会逐个扫描每一行和每一列的交叉点,以检测是否有按键被按下。
通过不断地扫描和检测,控制器可以实时地获取用户的按键操作,从而实现按键功能的响应。
另外,为了提高矩阵按键的稳定性和可靠性,通常会在按键的结构中加入弹性膜片或金属触点。
这些结构可以有效地减少按键的磨损和老化,延长按键的使用寿命,同时也可以提高按键的触感和手感,为用户带来更好的操作体验。
总的来说,矩阵按键通过行和列的交叉点、编码方式、扫描方式以及结构设计等多种原理,实现了按键功能的高效、稳定和可靠。
在电子产品中,矩阵按键已经成为了不可或缺的一部分,为用户带来了便利和舒适的操作体验。
希望通过本文的介绍,您对矩阵按键的原理有了更深入的了解。
矩阵键盘原理
db 08eh ;F
end
D3:
MOV A,P1 ; 读入 P1
XRL A,R4
JZ D3
MOV A,R1
MOV DPTR,#TABLE
MOVC A,@A+DPTR
Table:
db0c0h,0f9h,0a4h,0b0h,099h ;0-4
db 092h,082h,0f8h,080h,090h ;5-9
RLC A ; 将按键值左移一位元
JNC KEYIN ; 若 C=0, 有按, 执行 KEYIN
INC R1 ; 将指标值加 1, 继续扫描下一行
DJNZ R5,L1 ; 扫描四行
MOV A,R3 ; 载入扫描值
SETB C ; C=1
RRC A ; 扫描下一列(P13~P10)
SCAN1:
MOV A,R3 ; 开始扫描
MOV P1,A ; 将扫描值输出到 P1
MOV A,P1 ; 读入 P1 判断是否有按下
MOV R4,A ; 存到 R4, 判断是否放开
SETB C ; C=1
MOV R5,#04H ; 扫描 P14~P17
L1:
MOV R3,A ; 存回扫描值
JC SCAN1 ; C=1, 尚未完成扫描
RET ; 结束键盘扫描, 回到 Main Program
YIN:
MOV R7,#10 ; 消除弹跳
D2:
MOV R6,#248
DJNZ R6,$
DJNZ R7,D2
由於这种按键是机械式的开关,当按键被按下时,键会震动一小段时间才稳定,為了避免让8051误判為多次输入同一按键,我们必须在侦测到有按键被按下,就Delay一小段时间,使键盘以达稳定状态,再去判读所按下的键,就可以让键盘的输入稳定。
矩阵键盘的工作原理及应用
矩阵键盘的工作原理及应用1. 简介矩阵键盘是一种常见的输入设备,广泛应用于电子产品、计算机等领域。
它的工作原理是利用矩阵排列的按键,通过行列的交叉点来进行按键扫描和识别。
本文将介绍矩阵键盘的工作原理,并探讨其在不同领域的应用。
2. 工作原理矩阵键盘由多行多列的按键组成,每个按键都与一个行线和一个列线相连。
当按下某个按键时,行线和列线之间会形成一个闭合的电路。
通过扫描行线和列线的电平状态,就可以确定用户按下的具体按键。
3. 矩阵键盘的扫描方法矩阵键盘的扫描过程分为两个步骤:行扫描和列扫描。
3.1 行扫描行扫描是通过将每一行的行线设置为低电平,其他行线设置为高电平,然后检测列线的状态来判断是否有按键按下。
如果某一行的行线低电平与某一列的列线低电平相交,就说明该按键按下。
3.2 列扫描列扫描是通过将每一列的列线设置为低电平,其他列线设置为高电平,然后检测行线的状态来判断是否有按键按下。
如果某一列的列线低电平与某一行的行线低电平相交,就说明该按键按下。
4. 应用场景4.1 电子产品矩阵键盘广泛应用于各种电子产品,如手机、平板电脑、数码相机等。
它们通常用作输入设备,方便用户进行文字输入、功能选择等操作。
矩阵键盘的紧凑设计和按键间距的合理安排使得用户可以快速而准确地完成操作。
4.2 计算机在计算机上,矩阵键盘也被广泛应用于输入设备,比如台式机的键盘和笔记本电脑的内置键盘。
通过连接到计算机主机或者通过无线传输,矩阵键盘可以实现与计算机的交互,使用户可以方便地输入文字、操作软件等。
4.3 安防系统矩阵键盘在安防系统中也有重要的应用。
比如,一些门禁系统和报警系统需要用户输入密码或者进行特定操作来进行识别和控制。
矩阵键盘可以提供安全、方便的用户输入接口,确保系统的可信度和可靠性。
4.4 工业控制在工业控制领域,矩阵键盘通常被用作控制面板的一部分。
例如,机械设备控制面板上的按键,用来进行参数设置、启动停止等操作。
矩阵键盘的稳定性和可靠性非常重要,可以确保设备的正常运行和操作的准确性。
矩阵式键盘工作原理
矩阵式键盘的结构及工作原理矩阵式键盘的结构与工作原理:在键盘中按键数量较多时,为了减少I/O口的占用,通常将按键排列成矩阵形式,如图1所示。
在矩阵式键盘中,每条水平线和垂直线在交叉处不直接连通,而是通过一个按键加以连接。
这样,一个端口(如P1口)就可以构成4*4=16个按键,比之直接将端口线用于键盘多出了一倍,而且线数越多,区别越明显,比如再多加一条线就可以构成20键的键盘,而直接用端口线则只能多出一键(9键)。
由此可见,在需要的键数比较多时,采用矩阵法来做键盘是合理的。
矩阵式结构的键盘显然比直接法要复杂一些,识别也要复杂一些,上图中,列线通过电阻接正电源,并将行线所接的单片机的I/O口作为输出端,而列线所接的I/O口则作为输入。
这样,当按键没有按下时,所有的输出端都是高电平,代表无键按下。
行线输出是低电平,一旦有键按下,则输入线就会被拉低,这样,通过读入输入线的状态就可得知是否有键按下了。
具体的识别及编程方法如下所述。
矩阵式键盘的按键识别方法确定矩阵式键盘上何键被按下介绍一种“行扫描法”。
行扫描法行扫描法又称为逐行(或列)扫描查询法,是一种最常用的按键识别方法,如上图所示键盘,介绍过程如下。
判断键盘中有无键按下将全部行线Y0-Y3置低电平,然后检测列线的状态。
只要有一列的电平为低,则表示键盘中有键被按下,而且闭合的键位于低电平线与4根行线相交叉的4个按键之中。
若所有列线均为高电平,则键盘中无键按下。
判断闭合键所在的位置在确认有键按下后,即可进入确定具体闭合键的过程。
其方法是:依次将行线置为低电平,即在置某根行线为低电平时,其它线为高电平。
在确定某根行线位置为低电平后,再逐行检测各列线的电平状态。
若某列为低,则该列线与置为低电平的行线交叉处的按键就是闭合的按键。
下面给出一个具体的例子:图仍如上所示。
8031单片机的P1口用作键盘I/O口,键盘的列线接到P1口的低4位,键盘的行线接到P1口的高4位。
矩阵键盘电路
知识点目录
1
矩阵键盘电路结构与工作原理
矩阵键盘的编码
矩阵式键盘按键识别
键盘的工作方式
1.矩阵键盘电路结构与工作原理
2
矩阵式键盘又称为行列式键盘。用I/O接口线组成行和列结构,键位设置在行和 列的交叉点上。如图1所示,8个I/O口实现了16个按键。
图1 矩阵键盘电路结构
1.矩阵键盘电路结构与工作原理
3
工作原理:以第一组键盘为例。设置KeyOut1输出一个低电平,相当于KeyOut1接 地,电路相当于4个独立按键电路,此时KeyIn1-KeyIn4四个输入端为高电平;当 键盘K1按下时,由于电路导通,此时KeyIn1变为低电平。同理,哪个按键按下, 相对应的输入端为低电平,单片机通过读输入端的状态,判断是否有按键按下。 对应图1四组按键,当KeyOut1输出为低电平时,KeyOut2-KeyOut4输出必须为高 电平,才能避免相互间的干扰。
2.矩阵键盘的编码
பைடு நூலகம்
4
对于矩阵式键盘,按键的位置由行号 和列号唯一确定,因此可分别对行号 和列号进行二进制编码,然后将两值 合成一个字节,高4位是行号,低4位 是列号。
3.矩阵式键盘按键识别
5
扫描法:
1) 判断有无键按下。
2) 如果有键按下,识别是哪一个键按下,键盘扫描取得闭合键的行、列值。
3) 用计算法或查表法得到键值。
4) 判断闭合键是否释放,如没释放则继续等待。
5) 将闭合键键号保存,同时转去执行该闭合键的功能。
4.键盘的工作方式
6
(1)编程扫描方式
利用CPU在完成其它工作的空余时间,调用键盘扫描子程序来响应键盘输入 的要求。
(2)定时扫描工作方式
单片机4x4矩阵式键盘的设计与仿真
课程设计报告(单片机原理和应用)题目名称4x4矩阵式键盘专业班级学生姓名学号指导教师4x4矩阵式键盘的设计与仿真1、设计原理:1.1 矩阵式键盘工作原理矩阵式键盘使用于按键数量较多的场合,它由行线与列线组成,按键位于行、列的交叉点上,行、列线分别列接到按键开关的两端。
行线通过上拉电阻接到+5V上。
无键按下时,行线处于低电平状态,而当有按键按下时,行线电平状态将由与此行线相连的列线电平一样为高电平。
这是识别矩阵键盘按键是否被按下的关键所在。
一个4x4的行列可以构成一个16按键的键盘。
本次以扫描法来识别按键。
在扫描法中分两步处理按键,首先是判断有无键按下,让所有的列线置高电平,检查各行线电平是否有变化,如行线有一个为高,则有键按下。
当判断有键按下时,使列线依次变低,其余各列为高电平,读行线,进而判断出具体哪个键被按下。
下表为7段共阴极段码表:显示字符共阴极段码显示字符共阴极段码“0”3FH“8”7FH“1”06H“9”6FH“2”5BH“A”77H“3”4FH“b”7CH“4”66H“C”39H“5”6DH“d”5EH“6”7DH“E”79H“7”07H“F”71H“灭“00H 1.2 实验环境Keil uVision3proteus 71.3 功能设计描述由4x4组成16个按钮矩阵式键盘按键成功会在7段LED显示该按键的键号1.4 主要知识点Keil uVision3的使用及调试proteus 7的使用及调试键盘接口、LED 显示接口、模拟电路的相关知识2、实现及编程2.12.2电路原理图2.3程序内容4x4行列式键盘识别7段数码管输出2.4 汇编源程序LINE EQU 30HROW EQU 31HVAL EQU 32HORG 00HSTART: MOV DPTR,#TABLE ;段码表首地址MOV P2,#00H ;数码管显示初始化LSCAN: MOV P3,#0F0H ;电平,行线置低电平L1: JNB P3.0,L2 ;逐行扫描LCALL DELAY50ms ;调用延时,消除抖动JNB P3.0,L2MOV LINE,#00H ;存行号LJMP RSCANL2: JNB P3.1,L3LCALL DELAY50msJNB P3.1,L3MOV LINE,#01HLJMP RSCANL3: JNB P3.2,L4LCALL DELAY50msJNB P3.2,L4MOV LINE,#02HLJMP RSCANL4: JNB P3.3,L1LCALL DELAY50msJNB P3.3,L1MOV LINE,#03HRSCAN: MOV P3,#0FH ; 列线置低电平,行线置高电平C1: JNB P3.4,C2 ;逐列扫描MOV ROW,#00H ;存列号LJMP CALCUC2: JNB P3.5,C3MOV ROW,#01HLJMP CALCUC3: JNB P3.6,C4MOV ROW,#02HLJMP CALCUC4: JNB P3.7,C1MOV ROW,#03HCALCU: MOV A,LINE ;根据行号和列号计算键值MOV B,#04HMUL AB ;A与B相乘后,高位赋给B,低位赋给AADD A,ROWMOV VAL,A ;存键值MOVC A,@A+DPTR ;要据键值查段码MOV P2,A ;输出段码显示LJMP LSCANDELAY50ms: MOV R6,#3DH ;延时50ms子程序Lop: MOV R7,#0FFHDJNZ R7,$DJNZ R6,LopRETTABLE: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H ; 共阴极LED段码表DB 7FH,6FH,77H,7CH,39H,5EH,79H,71HEND3、调试及测试3.1调试通过按下4x4行列式键盘的按键,并在7段led显示所按下的键值,如按下F后显示如下图:3.2出现的问题及解决当在选7段显示数码管时,由于不知道哪个类型是共阴极的,所以就随便选了一个,以至于在运行的时候数码管没有显示,后给换了另一个类型的,即可。
史上最详细矩阵键盘原理
case(0Xd0): KeyValue=KeyValue+8;break;
case(0Xe0): KeyValue=KeyValue+12;break;
}
while((a<50)&&(GPIO_KEY!=0xf0)) //检测按键松手检测
{
delay(1000);
a++;
//a 的作用是用于去抖动,重复检测 50 次//
}
}
}
}
void main()
{
LSA=0; //给一个数码管提供位选//
LSB=0; //给一个数码管提供位选//
LSC=0; //给一个数码管提供位选//
while(1)
//无限循环//
{
KeyDown();
//调用按键判断函数//
GPIO_DIG=smgduan[KeyValue]; //将按键数值赋给 P0 口,控制锁存器//
当接收到的数据低四位不全为高电平时说明有按键按下然后通过接收的数据值判断是哪一列有按键按下然后再反过来高四位输出高电平低四位输出低电平然后根据接收到的高四位的值判断是那一行有按键按下这样就能够确定是哪一个按键按下了
史上最详细单片机矩阵键盘原理 广东阳西福达名苑梁智钧 20180131 一、矩阵按键扫描原理 方法一: 逐行扫描:我们可以通过高四位轮流输出低电平来对矩阵键盘进行逐行扫描,当低四位接收到的数据不全为 1 的 时候,说明有按键按下,然后通过接收到的数据是哪一位为 0 来判断是哪一个按键被按下。 方法二: 行列扫描:我们可以通过高四位全部输出低电平,低四位输出高电平。当接收到的数据,低四位不全为高电平时, 说明有按键按下,然后通过接收的数据值,判断是哪一列有按键按下,然后再反过来,高四位输出高电平,低四位输 出低电平,然后根据接收到的高四位的值判断是那一行有按键按下,这样就能够确定是哪一个按键按下了。 二、原理图:
矩阵按键原理
矩阵按键原理
矩阵按键是一种常用的电子组件,它由一组排列成矩阵形式的按键单元组成。
每个按键单元都是一个触点开关,可以通过按下来触发电路连接或断开。
矩阵按键的主要原理是利用行列交叉的结构来实现多个按键的复用,从而减少引脚数量和电路复杂度。
在一个简单的4x4矩阵按键中,有4个行引脚和4个列引脚。
通过控制行引脚和列引脚的状态,就可以检测到每个按键的按下情况。
当某个按键被按下时,它所在的行和列相交的引脚之间形成了电路连接,可以通过检测到的电压信号来判断按键的按下状态。
为了减少干扰和误触发,通常还会在电路中加入外部电阻和电容来对信号进行滤波和去抖动处理。
这些电阻和电容的选择和连接方式可以根据具体的应用需求进行调整。
矩阵按键在很多电子设备中得到了广泛的应用,如计算器、远程控制器、键盘等。
它的设计简单、成本低廉,并且可以同时检测多个按键的按下情况,因此在多功能控制面板等场景下表现出了良好的性能。
矩阵按键的原理及代码实现
矩阵按键的原理及代码实现
独⽴按键和矩阵按键:
矩阵按键扫描原理:
⽅法⼀、逐⾏扫描,我们可以通过⾼四位轮流输出低电平来对矩阵键盘进⾏扫描,当低四位接收到的数据不全为1的时候,说明有按键按下,然后通过接收到的数据是哪⼀位为0来判断是哪⼀个按键被按下。
⽅法⼆、⾏列扫描,我们可以通过⾼四位全部输出低电平,低四位输出⾼电平,当接收到的数据,低四位不全为⾼电平时,说明有按键按下,然后通过接受的数据值,判断是哪⼀列有按键按下,然后再反过来,⾼四位输出⾼电平,低四位输出低电平,然后根据接收到的⾼四位的值判断是哪⼀⾏有按键按下,这样就能够确定是哪⼀个按键按下了。
通常我们⽤到的是⾏列扫描
代码实现:(待更新)。
单片机矩阵式键盘连接方法及工作原理
矩阵式键盘的连接方法和工作原理什么是矩阵式键盘?当键盘中按键数量较多时,为了减少I/O 口线的占用,通常将按键排列成矩阵形式。
在矩阵式键盘中,每条水平线和垂直线在交叉处不直接连通,而是通过一个按键加以连接。
这样做有什么好处呢?大家看下面的电路图,一个并行口可以构成4*4=16 个按键,比之直接将端口线用于键盘多出了一倍,而且线数越多,区别就越明显。
比如再多加一条线就可以构成20 键的键盘,而直接用端口线则只能多出一个键(9 键)。
由此可见,在需要的按键数量比较多时,采用矩阵法来连接键盘是非常合理的。
矩阵式结构的键盘显然比独立式键盘复杂一些,识别也要复杂一些,在上图中,列线通过电阻接电源,并将行线所接的单片机4 个I/O 口作为输出端,而列线所接的I/O 口则作为输入端。
这样,当按键没有被按下时,所有的输出端都是高电平,代表无键按下,行线输出是低电平;一旦有键按下,则输入线就会被拉低,这样,通过读入输入线的状态就可得知是否有键按下了,具体的识别及编程方法如下所述:二.矩阵式键盘的按键识别方法确定矩阵式键盘上任何一个键被按下通常采用“行扫描法”或者“行反转法”。
行扫描法又称为逐行(或列)扫描查询法,它是一种最常用的多按键识别方法。
因此我们就以“行扫描法”为例介绍矩阵式键盘的工作原理:1.判断键盘中有无键按下将全部行线X0-X3 置低电平,然后检测列线的状态,只要有一列的电平为低,则表示键盘中有键被按下,而且闭合的键位于低电平线与4 根行线相交叉的4 个按键之中;若所有列线均为高电平,则表示键盘中无键按下。
2.判断闭合键所在的位置在确认有键按下后,即可进入确定具体闭合键的过程。
其方法是:依次将行线置为低电平(即在置某根行线为低电平时,其它线为高电平),当确定某根行线为低电平后,再逐行检测各列线的电平状态,若某列为低,则该列线与置为低电平的行线交叉处的按键就是闭合的按键。
下面给出一个具体的例子:单片机的P1 口用作键盘I/O 口,键盘的列线接到P1 口的低4 位,键盘的行线接到P1 口的高4位,也就是把列线P1.0-P1.3 分别接4 个上拉电阻到电源,把列线P1.0-P1.3 设置为输入线,行线P1.4-P1.7 设置为输出线,4 根行线和4 根列线形成16 个相交点,如上图所示。
矩阵键盘工作原理
矩阵键盘工作原理1.按键扫描:矩阵键盘是由多个按键组成的,这些按键被排列成一个矩阵的形式。
在进行按键扫描时,会依次逐行或逐列地检测按键的状态,看是否有按键被按下。
通常,每行和每列都会有一个针脚来连接按键。
当按下一个按键时,该按键所在的行和列之间就会出现电性连通,形成一个按键矩阵电路。
2.按键编码:在按键扫描中,通过检测按键的行列连通状态可以确定哪个具体的按键被按下。
然而,矩阵键盘的针脚数量有限,无法通过直接连接给每一个按键独立编码的方式来实现,因此需要对按键信号进行编码。
一种常用的编码方式是使用行列编码器。
行列编码器通过感知具体的按键被按下的行和列连通状态来判断该按键的位置,并将该按键位置信息转化为一个对应的码值。
这个码值可以被传递给设备控制器或处理器,进而被进一步处理。
行列编码器通常通过矩阵按键的行列针脚输入来判断按键连通状态,然后将结果输出给设备控制器或处理器。
在实际应用中,矩阵键盘一般采用扫描式工作方式,即按键的行和列依次进行扫描。
具体工作步骤如下:1.首先,设备控制器或处理器会向矩阵键盘的行线输出一个低电平信号,同时将列线设置为输入状态。
2.然后,设备控制器或处理器会逐列检测按键的状态。
当有按键被按下时,该行和列之间会有电性连通,此时检测到的列的状态会改变。
设备控制器或处理器会将该连通的行列位置信息传递给行列编码器进行编码。
3.接下来,设备控制器或处理器会依次递增行的编号,重复上述步骤进行按键扫描,并实时更新按键状态信息,直到按键扫描完成。
总结起来,矩阵键盘的工作原理即通过扫描按键的行和列连通状态来检测按键是否被按下,然后通过行列编码器将按键位置信息编码为一个码值,最后将该码值传递给设备控制器或处理器进行处理。
通过这样的工作原理,矩阵键盘可以实现多个按键的同时检测和编码,为用户提供方便、高效的输入方式。
矩阵式键盘工作原理
矩阵式键盘工作原理
矩阵式键盘的工作原理是基于矩阵电路的设计。
该键盘由一组键开关组成,这些键开关呈现出行和列的网格状布局。
每个键开关都连接到一个行列交叉点。
在键盘上按下某个按键时,该按键对应的行列交叉点位置会发生变化。
这种变化可以通过键盘控制器或芯片中的扫描电路进行检测。
扫描电路会按顺序扫描每个行和列的交叉点,检测到键按下的时候会产生一个电信号。
当键盘的控制器检测到有按键按下时,它会将该按键的信息发送到计算机。
计算机接收到按键信息后,会根据键盘映射表将按键转换为对应的字符或功能。
这样,用户通过按下键盘上的按键,就能够输入字符或执行特定的功能。
整个矩阵式键盘的工作原理可以归纳为以下几个步骤:
1. 初始化:键盘控制器配置为扫描矩阵键盘。
2. 扫描:控制器按顺序扫描每个行和列的交叉点,检测到按键按下的时候产生一个电信号。
3. 检测:键盘控制器检测到按键按下的电信号后,将其转换为对应的按键信息。
4. 传输:键盘控制器将按键信息传输给计算机。
5. 转换:计算机根据键盘映射表将按键信息转换为对应的字符或功能。
6. 执行:计算机执行输入的字符或功能。
通过这样的工作原理,用户可以通过按下矩阵式键盘上的按键,实现对计算机的输入操作。
矩阵键盘的工作原理和扫描确认方式
9.3.1 矩阵键盘的工作原理和扫描确认方式
来源:《AVR 单片机嵌入式系统原理与应用实践》M16 华东师范大学电子系 马潮 当键盘中按键数量较多时,为了减少对 I/O 口的占用,通常将按键排列成
矩阵形式,也称为行列键盘,这是一种常见的连接方式。矩阵式键盘接口见图 9-7 所示,它由行线和列线组成,按键位于行、列的交叉点上。当键被按下时,其交 点的行线和列线接通,相应的行线或列线上的电平发生变化,MCU 通过检测行 或列线上的电平变化可以确定哪个按键被按下。
图 9-7 为一个 4 x 3 的行列结构,可以构成 12 个键的键盘。如果使用 4 x 4 的行列结构,就能组成一个 16 键的键盘。很明显,在按键数量多的场合,矩 阵键盘与独立式按键键盘相比可以节省很多的 I/O 口线。
File name
: demo_9_3.c
Chip type
: ATmega16
Program type
: Application
Clock frequency
: 4.000000 MHz
// 输出行线电平 // 必须送 2 次!!!(注 1 // 读列电平 // 没有按键,继续扫描
// 有按键,停止扫描 // 转消抖确认状态
// 再次读列电平, // 与状态 0 的相同,确认按键 // 键盘编码,返回编码值
case 0b01000110:
key_return = K4_1;
break;
它们不仅与键盘的硬件连接有关系,同时还要注意他们在程序中是如何使用的, 其值的保存等等。
矩阵按键的工作原理
矩阵按键的工作原理
矩阵按键是一种由多个按钮连接起来的组合按键,常用于游戏机、电视遥控器等电子设备上。
相比普通的按键,矩阵按键既能避免按错键,又能降低按键的数量。
本文将详细介绍矩阵按键的工作原理,并分析其能够实现上述功能的原因。
首先,矩阵按键是由多个按钮排列组成的,这些按钮通过矩阵连接,即每个按键都与两个驱动线相连,驱动线穿过每一行和每一列。
当某一行某一列的驱动线上有电位时,此时此列此行上的按键就会被按下。
在实际应用中,要想矩阵按键能够正常工作,首先要实现驱动。
一般来讲,会将电路分为两部分:驱动系统和检测系统。
通过上述方式,驱动系统可以把电位引入到矩阵的每一行和每一列的驱动线,检测系统可以检测到矩阵按键的按键状态,从而实现驱动按键的功能。
此外,矩阵按键最重要的功能还是防止按错的功能。
这一功能要归功于矩阵按键的特殊结构。
每一行中的所有按键、每一列中的所有按键都不会同时被按下,这样就可以避免按错问题。
另外,矩阵按键可以把多个按键连接起来,这样,就可以节省按键的数量。
总之,矩阵按键是一种十分有用的按键组合结构,它的主要特点是可以避免按错问题,并节省按键数量。
它的实现原理是由多个按键排列组成,并且每个按键都与两个驱动线相连,同时要实现一定的驱动能力和检测能力,从而实现按键的控制。
综上所述,矩阵按键是一种非常有用的电子元件,它可以实现避
免按错和节省按键数量的功能,而且它的工作原理也较为简单,可以实现驱动和检测,使得按键操作变得更加容易。
因此,矩阵按键仍将继续为游戏机和电视遥控器等电子设备提供无可替代的服务和优势。
修订矩阵键盘的工作原理
4X4 矩阵键盘的工作原理与编程51/AVR单片机学习开发系统上使用数码管显示4X4矩阵键盘的键值。
一、硬件工作原理的简单介绍该实验使用的8位数码管显示电路和4X4矩阵键盘电路。
现将这二部分的电路工作原理进行简单的介绍:1、4X4矩阵键盘的工作原理矩阵键盘乂称为行列式键盘,它是用4条I/O线作为行线,4条I/O线作为列线组成的键盘。
在行线和列线的每一个交叉点上,设置一个按键。
这样键盘中按键的个数是4X4个。
这种行列式键盘结构能够有效地提高单片机系统中I/O 口的利用率。
图1为矩阵键盘电路图,行线接PL4-P1.7.列线接P1.0-PL3o图1矩阵键盘电路图2按键排列2、数码管动态扫描显示电路在ME300B开发系统中,采用了8位数码管动态扫描显示。
它将所有数码管的8个段线相应地并接在一起,并接到AT89S51的P0 口,由P0 口控制字段输出。
而算位数码管的共阳极由AT89S51的P2 口控制Q20-Q27来实现8位数码管的位输出控制。
这样,对于一组数码管动态扫描显示需要由两组信号來控制:一组是字段输出口输出的字形代码,用来控制显示的字形,称为段码;另一组是位输出口输出的控制信号,用来选择第儿位数码管工作,称为位码。
由于各位数码管的段线并联,段码的输出对各位数码管来说都是相同的。
因此,同一时刻如果齐位数码管的位选线都处于选通状态的话,8位数码管将显示相同的字符。
若要各位数码管能够显示出与本位相应的字符,就必须采用扫描显示方式。
即在某一时刻,只让某一位的位选线处于导通状态,而其它各位的位选线处于关闭状态。
同时,段线上输出相应位要显示字符的字型码。
这样同一时刻,只有选通的那一位显示出字符,而其它各位则是熄灭的,如此循环下去,就可以使各位数码管显示出将要显示的字符。
虽然这些字符是在不同时刻出现的,而且同一时刻,只有一位显示,其它各位熄灭,但由于数码管具有余辉特性和人眼有视觉暂留现象,只要每位数码管显示间隔足够短,给人眼的视觉印象就会是连续稳定地显示。
矩阵式键盘工作原理
矩阵式键盘工作原理1.按键的分类按键按照构造原理可分为两类,一类是触点式开关按键,如机械式开关、导电橡胶式开关等;另一类是无触点式开关按键,如电气式按键,磁感应按键等。
前者造价低,后者寿命长。
目前,微机系统中最常见的是触点式开关按键。
按键按照接口原理可分为编码键盘与非编码键盘两类,这两类键盘的主要区别是识别键符及给出相应键码的方法。
编码键盘主要是用硬件来实现对键的识别,非编码键盘主要是由软件来实现键盘的定义与识别。
全编码键盘能够由硬件逻辑自动提供与键对应的编码,此外,一般还具有去抖动和多键、窜键保护电路。
这种键盘使用方便,但需要较多的硬件,价格较贵,一般的单片机应用系统较少采用。
非编码键盘只简单地提供行和列的矩阵,其它工作均由软件完成。
由于其经济实用,较多地应用于单片机系统中。
下面将重点介绍非编码键盘接口。
2.键输入原理在单片机应用系统中,除了复位按键有专门的复位电路及专一的复位功能外,其它按键都是以开关状态来设置控制功能或输入数据的。
当所设置的功能键或数字键按下时,计算机应用系统应完成该按键所设定的功能,键信息输入是与软件构造密切相关的过程。
对于一组键或一个键盘,总有一个接口电路与CPU 相连。
CPU 可以采用查询或中断方式了解有无将键输入,并检查是哪一个键按下,将该键号送入累加器ACC ,然后通过跳转指令转入执行该键的功能程序,执行完后再返回主程序。
3.按键构造与特点微机键盘通常使用机械触点式按键开关,其主要功能是把机械上的通断转换成为电气上的逻辑关系。
也就是说,它能提供标准的TTL 逻辑电平,以便与通用数字系统的逻辑电平相容。
机械式按键再按下或释放时,由于机械弹性作用的影响,通常伴随有一定时间的触点机械抖动,然后其触点才稳定下来。
其抖动过程如图7.2 所示,抖动时间的长短与开关的机械特性有关,一般为5 ~ 10 ms 。
按键触点的机械抖动在触点抖动期间检测按键的通与断状态,可能导致判断出错,即按键一次按下或释放被错误地认为是多次操作,这种情况是不允许出现的。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
修订矩阵键盘的工作原
理
TPMK standardization office【 TPMK5AB- TPMK08- TPMK2C- TPMK18】
4×4矩阵键盘的工作原理与编程51/AVR单片机学习开发系统上使用数码管显示4×4矩阵键盘的键值。
一、硬件工作原理的简单介绍
该实验使用的8位数码管显示电路和4×4矩阵键盘电路。
现将这二部分的电路工作原理进行简单的介绍:
1、4×4矩阵键盘的工作原理
矩阵键盘又称为行列式键盘,它是用4条I/O线作为行线,4条I/O线作为列线组成的键盘。
在行线和列线的每一个交叉点上,设置一个按键。
这样键盘中按键的个数是4×4个。
这种行列式键盘结构能够有效地提高单片机系统中I/O口的利用率。
图1为矩阵键盘电路图,行线接P1.4-P1.7,列线接P1.0-P1.3。
图1 矩阵键盘电路
图2 按键排列
2、数码管动态扫描显示电路
在ME300B开发系统中,采用了8位数码管动态扫描显示。
它将所有数码管的8个段线相应地并接在一起,并接到 AT89S51的P0口,由P0口控制字段输出。
而
各位数码管的共阳极由AT89S51的P2口控制Q20-Q27来实现8位数码管的位输出控制。
这样,对于一组数码管动态扫描显示需要由两组信号来控制:一组是字段输出口输出的字形代码,用来控制显示的字形,称为段码;另一组是位输出口输出的控制信号,用来选择第几位数码管工作,称为位码。
由于各位数码管的段线并联,段码的输出对各位数码管来说都是相同的。
因此,同一时刻如果各位数码管的位选线都处于选通状态的话,8位数码管将显示相同的字符。
若要各位数码管能够显示出与本位相应的字符,就必须采用扫描显示方式。
即在某一时刻,只让某一位的位选线处于导通状态,而其它各位的位选线处于关闭状态。
同时,段线上输出相应位要显示字符的字型码。
这样同一时刻,只有选通的那一位显示出字符,而其它各位则是熄灭的,如此循环下去,就可以使各位数码管显示出将要显示的字符。
虽然这些字符是在不同时刻出现的,而且同一时刻,只有一位显示,其它各位熄灭,但由于数码管具有余辉特性和人眼有视觉暂留现象,只要每位数码管显示间隔足够短,给人眼的视觉印象就会是连续稳定地显示。
图3 数码管电路
数码管不同位显示的时间间隔可以通过调整延时程序的延时长短来完成。
数码管显示的时间间隔也能够确定数码管显示时的亮度,若显示的时间间隔长,显示时数码管的亮度将亮些,若显示的时间间隔短,显示时数码管的亮度将暗些。
若显示
的时间间隔过长的话,数码管显示时将产生闪烁现象。
所以,在调整显示的时间间隔时,即要考虑到显示时数码管的亮度,又要数码管显示时不产生闪烁现象。
在ME300B单片机开发系统中使用数码管来显示信息时,要将JP2的2、3端短接。
见图3
二、演示程序的编程方法
1、4×4矩阵键盘的编程方法:
1.1、先读取键盘的状态,得到按键的特征编码。
先从P1口的高四位输出低电平,低四位输出高电平,从P1口的低四位读取键盘状态。
再从P1口的低四位输出低电平,高四位输出高电平,从P1口的高四位读取键盘状态。
将两次读取结果组合起来就可以得到当前按键的特征编码。
使用上述方法我们得到16个键的特征编码。
举例说明如何得到按键的特征编码:
假设“1”键被按下,找其按键的特征编码。
从P1口的高四位输出低电平,即P1.4-P1.7为输出口。
低四位输出高电平,即P1.0-P1.3为输入口。
读P1口的低四位状态为“ 1101”,其值为“0DH”。
再从P1口的高四位输出高电平,即P1.4-P1.7为输入口。
低四位输出低电平,即P10-P13为输出口,读P1口的高四位状态为“1110”,其值为“E0H”。
将两次读出的P0口状态值进行逻辑或运算就得到其按键的特征编码为“EDH”。
用同样的方法可以得到其它15个按键的特征编码。
1.2、根据按键的特征编码,查表得到按键的顺序编码。
将用上述方法得到的16个按键的特征编码按图2按键排列的顺序排成一张特征编码与顺序编码的对应关系表,然后用当前读得的特征编码来查表,当表中有该特征编码时,它所在的位置就是对应的顺序编码。
1.3、矩阵键盘键值查找程序的具体编程
这个演示程序的主要功能有:
1、识别键盘有无按键按下,若无键按下返回。
2、如果有键按下,找出具体的按键值(顺序码)。
三、演示程序的功能
当你按下矩阵键盘中的任何一个键,蜂鸣器响一声,并在数码管上显示相应的键值。
图4为ME300B开发系统的实际演示图片。
图4 ME300B开发系统显示键值“E”
编程的具体细节请参阅ME300B光盘中的数码管显示键值演示程序。