矩阵式键盘的结构与工作原理
- 格式:doc
- 大小:28.50 KB
- 文档页数:2
1 引言与其它工业控制系统相比,PLC控制系统具有可靠性高、抗干扰能力强等突出优点,因而广泛应用于工业控制领域。
对于那些不必采用上位机监控+PLC现场控制的简易控制系统,操作面板的完善与否直接影响到整个系统的智能化程度高低。
对小型控制系统而言,在满足功能的前提下,高性价比一直是设计人员追求的目标,若采用触摸屏(如SIEMENS的TP270)+组态软件(如PROTOOL)的方式组成人机界面,势必使整个系统的性价比大为降低,因此,提出基于PLC的矩阵式键盘设计方案具有较大的实际意义。
2 矩阵式键盘工作原理矩阵式键盘是相对于独立式键盘而言的,也叫行列式键盘,是当键数较多时为节省I/O点而采取的一种结构。
在微机系统中,矩阵式键盘的构成方式如图1所示。
图1 矩阵式键盘结构图首先,判断整个键盘上有无键按下。
方法是:将列全输出为0,然后读入行的状态,如果行读入的状态全为1,则无键按下,不全为1则有键按下。
其次,若有键按下则逐列扫描。
方法是:依次将列线送低电平0,检查对应行线的状态;若行线全为1,则按键不在此列;若不全为1,则按键必在此列,且是与0电平行线相交的那个键。
最后,确定键值,并进入键处理程序。
3 矩阵式键盘硬件设计在PLC系统中设计矩阵式键盘不仅要用到输入口,而且也要用到输出口,因此,了解PLC I/O口内部电路的结构以及工作原理是十分重要的。
下面以S7-200的DC输入、输出模块为例,简要说明其工作原理。
3.1 输入模块如图2所示,为PLC的DC输入模块,其中,K1-输入开关;M-公共端;I0.0-输入点;R1、R2的典型值为5.6K、1K。
图2 直流输入模块电路图工作原理:若输入开关K1闭合,则输入信号经RC滤波和光电隔离后,转换为PLC的CPU所需的电平(一般为5V),再经过输入选择器与CPU的总线相连,从而将外部输入开关的“ON”状态输入到PLC内部,此时输入指示灯亮,且与该输入点对应的输入映像寄存器为“1”。
51单片机矩阵键盘原理51单片机矩阵键盘原理矩阵键盘是一种常用的输入设备,可以通过少量的I/O口控制多个按键。
51单片机作为嵌入式系统中常用的控制器,也可以通过控制矩阵键盘来实现输入功能。
1. 矩阵键盘的结构矩阵键盘由多个按键组成,每个按键都有一个引脚与其他按键共用,形成了一个按键矩阵。
例如,4x4的矩阵键盘有16个按键,其中每行和每列各有4个引脚。
2. 矩阵键盘的工作原理当用户按下某一个按键时,该按键所在行和列之间会形成一个电路通路。
这时,51单片机可以通过扫描所有行和列的电路状态来检测到用户所按下的具体按键。
具体实现过程如下:(1)将每一行引脚设置为输出状态,并将其输出高电平;(2)将每一列引脚设置为输入状态,并开启上拉电阻;(3)逐一扫描每一行引脚,当发现某一行被拉低时,则表示该行对应的某一个按键被按下;(4)记录下该行号,并将该行引脚设置为输入状态,其余行引脚设置为输出状态;(5)逐一扫描每一列引脚,当发现某一列被拉低时,则表示该列对应的是刚才所记录下的行号及其对应的按键;(6)通过行号和列号确定具体按键,并进行相应的处理。
3. 代码实现下面是一个简单的51单片机矩阵键盘扫描程序:```c#include <reg52.h> //头文件sbit row1 = P1^0; //定义引脚sbit row2 = P1^1;sbit row3 = P1^2;sbit row4 = P1^3;sbit col1 = P1^4;sbit col2 = P1^5;sbit col3 = P1^6;sbit col4 = P1^7;unsigned char keyscan(void) //函数定义{unsigned char keyvalue; //定义变量while(1) //循环扫描{row1=0;row2=row3=row4=1; //设置行状态 if(col1==0){keyvalue='7';break;} //读取按键值 if(col2==0){keyvalue='8';break;}if(col3==0){keyvalue='9';break;}if(col4==0){keyvalue='/';break;}row2=0;row1=row3=row4=1;if(col1==0){keyvalue='4';break;}if(col2==0){keyvalue='5';break;}if(col3==0){keyvalue='6';break;} if(col4==0){keyvalue='*';break;}row3=0;row1=row2=row4=1; if(col1==0){keyvalue='1';break;} if(col2==0){keyvalue='2';break;} if(col3==0){keyvalue='3';break;} if(col4==0){keyvalue='-';break;}row4=0;row1=row2=row3=1; if(col1==0){keyvalue='C';break;} if(col2==0){keyvalue='0';break;} if(col3==0){keyvalue='=';break;} if(col4==0){keyvalue='+';break;}}return keyvalue; //返回按键值}void main() //主函数{unsigned char key;while(1) //循环读取{key = keyscan(); //调用函数}}```以上代码实现了一个简单的矩阵键盘扫描程序,可以通过调用`keyscan()`函数来获取用户所按下的具体按键值。
电脑键盘工作原理简单来说,电脑键盘主要由按键组成,每个按键都对应一个特定的电信号。
按下按键时,按键会产生一个电信号,键盘通过将该信号转换成二进制码并发送给计算机,计算机再根据接收到的信号来进行相应的操作。
以下是一般电脑键盘的工作原理:1.扫描矩阵:电脑键盘通常采用矩阵结构。
这种结构将键盘按键分为多行和多列,并用导电材料连接每个按键的行和列。
在非按下状态下,行和列之间没有电流。
当按下一个按键时,该按键所在的行和列之间形成了电流通路。
2.扫描码检测:键盘控制器会不断扫描按键的状态。
当检测到一些按键的状态由非按下变为按下时,键盘控制器就会记录下该按键的位置信息。
3.按键编码:键盘控制器得到按键信息后,会将按键位置信息转换成特定的编码。
常见的编码方式包括ASCII码、扩展ASCII码、USBHID码等。
编码的目的是将按键的信息转化为计算机可识别的二进制信号。
4.传输信号:键盘控制器将按键编码后的信号通过键盘接口(如USB、PS/2、Bluetooth等)传输给计算机。
不同的接口有不同的传输协议和信号传输速率,但基本原理都是将按键信号转化为电信号进行传输。
5.计算机处理:除了上述基本的工作原理,键盘还有一些特殊功能:1.功能键:键盘上通常还有一些特殊功能键,如Ctrl、Shift、Alt等。
这些键的作用是与其他键结合使用,实现一些更加复杂的操作。
例如,Ctrl键+V可以实现粘贴操作。
2.多媒体键:有些键盘还配有一些额外的多媒体键,如音量控制键、播放/暂停键等。
这些键通过特定的编码和传输协议,可以控制计算机播放音频或视频等多媒体操作。
总结起来,电脑键盘的工作原理是将按键的电信号通过键盘控制器转换为计算机可识别的编码信号,并通过键盘接口传输给计算机。
计算机接收到信号后进行解码并执行相应的操作。
这样,用户通过按键就能够与计算机进行交互。
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' }};通过行列号可以确定数组中的元素,从而得到按键的键值。
矩阵键盘的原理及应用1. 矩阵键盘的原理矩阵键盘是一种常见的输入设备,由多个按键组成,可以同时检测多个按键的状态。
它采用了行列交叉的按键排列方式,通过按键的组合来实现多个输入选项。
其原理主要包括以下几个方面:1.1. 电路结构矩阵键盘的电路结构也称为“行列式键盘”,主要由行线(Row)和列线(Column)组成。
行线和列线通过导线互相交叉连接形成一个矩阵,每个按键都对应矩阵中的一个交叉点。
按键按下时,会导通对应的行线和列线,从而实现按键的状态检测。
1.2. 矩阵扫描矩阵键盘的工作原理是通过矩阵扫描来检测按键状态。
扫描过程由控制器完成,控制器通过逐行扫描的方式检测按键状态。
具体流程如下:1.所有行线置为高电平,所有列线设置为输入模式。
2.逐行将某一行设置为低电平,同时读取列线上的状态。
3.根据读取到的列线状态,确定按下的按键。
4.更新按键的状态,并记录下来。
5.重复以上步骤,直到扫描结束。
1.3. 按键编码矩阵键盘检测到按键状态后,需要进行按键编码,将按键状态转化为数字或字符。
常见的按键编码方式有两种:•行列编码:将矩阵键盘的行和列对应关系转化为一个唯一的值,通常使用二进制编码来表示。
•状态编码:通过按键的状态(按下或释放)来表示,通常使用两个状态位来编码。
2. 矩阵键盘的应用矩阵键盘由于其结构简单、使用方便等特点,在多个领域都得到了广泛的应用。
以下是矩阵键盘的一些常见应用场景:2.1. 电子产品矩阵键盘在电子产品中被广泛应用,比如手机、电视遥控器、计算器等。
它可以提供多个输入选项,方便用户进行操作。
矩阵键盘的结构紧凑,可与其他电路板集成,节省空间,适用于小型电子产品。
2.2. 工业控制矩阵键盘在工业控制领域也有重要应用。
比如工控终端设备、仪表仪器等,可以利用矩阵键盘实现数据输入和操作控制。
由于矩阵键盘可以同时检测多个按键的状态,因此非常适合于工业环境中需要同时输入多个信号的场合。
2.3. 家用电器矩阵键盘在家用电器中也有广泛应用,如洗衣机、微波炉、冰箱等。
矩阵式键盘工作原理矩阵式键盘通常由多个按键组成一个矩阵结构。
每个按键都与矩阵的特定位置相对应,并且每个按键都有一个唯一的标识符。
矩阵式键盘通常由行和列构成,行与列之间通过导线相连。
矩阵式键盘的工作原理基于按键的位置,并且利用行与列之间的连线来检测按键是否被按下。
当按键未被按下时,矩阵式键盘的每个按键都将断开。
当按下一些按键时,按键的金属接点会触碰到与之相对应的导线,导致行与列之间形成电连接。
这导致通过电流流过,形成一个闭合电路。
这一电路可以被接收器感应到,并识别为一些按键被按下。
典型的矩阵式键盘电路由一个控制器和一个扫描矩阵组成。
控制器对行和列的导线进行扫描,确定按键是否被按下。
扫描矩阵是键盘上每个按键的布线结构,它允许控制器独立地访问每个按键。
控制器在扫描矩阵中的每个行导线上施加高电平信号,然后依次扫描每个列导线,以检测每一行上是否有按键被按下。
当控制器检测到一个按键被按下时,它将相应的行和列组合起来,以确定按下的按键的位置。
为了准确识别按键,矩阵式键盘电路通常采用消除键盘“反弹”的技术。
按键反弹是指按键被按下后,金属接点可能会在一段时间内反弹,导致多次电连接。
为了避免这种情况,电路通常会在检测到按键按下之后,延时一段时间再次检测。
矩阵式键盘的工作原理不仅适用于小型键盘,还适用于更大的键盘布局,如标准计算机键盘。
在这种情况下,矩阵式键盘可由多个矩阵组成,每个矩阵对应一个键盘的一部分。
整个键盘上的按键被编码为多个矩阵上的位置,并通过相应的扫描和检测进行识别。
总结起来,矩阵式键盘通过行和列之间的电连接来检测按键是否被按下。
控制器和扫描矩阵的结合使用,可以实现对键盘上多个按键的检测。
通过消除按键的反弹并进行适当的延时,矩阵式键盘可以提供准确和可靠的按键输入。
这使得它成为广泛应用于各种电子设备中的一种常见输入方式。
矩阵键盘实验报告佘成刚学号2010302001班级08041202时间2016.01.20一、实验目的1.学习矩列式键盘工作原理;2.学习矩列式接口的程序设计。
二、实验设备普中HC6800ESV20开发板三、实验要求要现:用4*4矩阵键盘,用按键形式输入学号,在数码管上显示对应学号。
四、实验原理工作原理:矩阵式由行线和列线组成,按键位于行、列的交叉点上。
如图所示,一个4*4 的行、列结构可以构成一个由16 个按键的键盘。
很明显,在按键数量较多的场合,矩阵式键盘与独立式键盘相比,要节省很多的I/0 口。
(1)矩阵式键盘工作原理按键设置在行、列交节点上,行、列分别连接到按键开关的两端。
行线通过下拉电阻接到GND 上。
平时无按键动作时,行线处于低电平状态,而当有按键按下时,行线电平状态将由与此行线相连的列线电平决定。
列线电平如果为低,行线电平为高,列线电平如果为高,则行线电平则为低。
这一点是识别矩阵式键盘是否被按下的关键所在。
因此,各按键彼此将相互发生影响,所以必须将行、列线信号配合起来并作适当的处理,才能确定闭合键的位置。
(2)按键识别方法下面以3 号键被按下为例,来说明此键是如何被识别出来的。
前已述及,键被按下时,与此键相连的行线电平将由与此键相连的列线电平决定,而行线电平在无键按下时处于高电平状态。
如果让所有列线处于高电平那么键按下与否不会引起行线电平的状态变化,始终是高电平,所以,让所有列线处于高电平是没法识别出按键的。
现在反过来,让所有列线处于低电平,很明显,按下的键所在行电平将也被置为低电平,根据此变化,便能判定该行一定有键被按下。
但我们还不能确定是这一行的哪个键被按下。
所以,为了进一步判定到底是哪—列的键被按下,可在某一时刻只让一条列线处于低电平,而其余所有列线处于高电平。
当第1 列为低电平,其余各列为高电平时,因为是键3 被按下,所以第1 行仍处于高电平状态;当第2 列为低电平,其余各列为高电平时,同样我们会发现第1 行仍处于高电平状态,直到让第4 列为低电平,其余各列为高电平时,因为是3 号键被按下,所以第1 行的高电平转换到第4 列所处的低电平,据此,我们确信第1 行第4 列交叉点处的按键即3 号键被按下。
矩阵式键盘的结构与工作原理
在键盘中按键数量较多时为了减少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 位列线P1.0-P1.3 分别接有4 个上拉电阻到正电源+5V 并把列线P1.0-P1.3 设置为输入线行线P1.4-P.17 设置为输出线4 根行线和4 根列线形成16
个相交点
检测当前是否有键被按下检测的方法是P1.4-P1.7 输出全0 读取P1.0-P1.3 的状态
若P1.0-P1.3 为全1 则无键闭合否则有键闭合
去除键抖动当检测到有键按下后延时一段时间再做下一步的检测判断
若有键被按下应识别出是哪一个键闭合方法是对键盘的行线进行扫描P1.4-P1.7 按下
述4 种组合依次输出
P1.7 1 1 1 0
P1.6 1 1 0 1
P1.5 1 0 1 1
P1.4 0 1 1 1
在每组行输出时读取P1.0-P1.3 若全为1 则表示为0 这一行没有键闭合否则
有键闭合由此得到闭合键的行值和列值然后可采用计算法或查表法将闭合键的行值和列值转换成所定义的键值
为了保证键每闭合一次CPU 仅作一次处理必须却除键释放时的抖动__。