笔记本16乘8矩阵键盘原理

合集下载

电脑键盘工作原理

电脑键盘工作原理

电脑键盘工作原理电脑键盘工作原理随着IBM PC机的发展,键盘也分为XT, AT, PS/2键盘以至于后来的USB键盘. PC系列机使用的键盘有83键、84键、101键、102键和104键等多种。

XT和AT机的标准键盘分别为83键和84键,而286机以上微机的键盘则普遍使用101键、102键或104键。

83键键盘是最早使用的一种PC机键盘,其键号与扫描码是一致的。

这个扫描码被直接发送到主机箱并转换为 ASCII码;随着高档PC机的出现,键盘功能和按键数目得到了扩充,键盘排列也发生了变化,产生的扫描码与83键键盘的扫描码不同。

为了保持PC系列微机的向上兼容性,需将84/101/102/104键键盘的扫描码转换为83键键盘的扫描码,一般将前者叫作行列位置扫描码,而将后者称为系统扫描码。

显然,对于83键键盘,这两种扫描码是相同的。

键盘是由一组排列成矩阵方式的按键开关组成,通常有编码键盘和非编码键盘两种类型,IBM系列个人微型计算机的键盘属于非编码类型。

微机键盘主要由单片机、译码器和键开关矩阵三大部分组成。

其中单片机采用了INTEL8048单片微处理器控制,这是一个40引脚的芯片,内部集成了8位 CPU、1024×8位的ROM、64×8位的RAM、8位的定时器/计数器等器件。

由于键盘排列成矩阵格式,被按键的识别和行列位置扫描码的产生,是由键盘内部的单片机通过译码器来实现的。

单片机在周期性扫描行、列的同时,读回扫描信号线结果,判断是否有键按下,并计算按键的位置以获得扫描码。

当有键按下时,键盘分两次将位置扫描码发送到键盘接口;按下一次,叫接通扫描码;释放时再发一次,叫断开扫描码。

因此可以用硬件或软件的方法对键盘的行、列分别进行扫视,去查找按下的键,输出扫描位置码,通过查表转换为ASCII码返回。

键盘是与主机箱分开的一个独立装置,通过一根5芯电缆与主机箱连接,系统主板上的键盘接口按照键盘代码串行传送的应答约定,接受键盘发送来的扫描码;键盘在扫描过程中,7位计数器循环计数。

矩阵式键盘实验报告材料

矩阵式键盘实验报告材料

矩阵键盘实验报告姓名佘成刚学号 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 号键被按下。

笔记本16乘8矩阵键盘原理

笔记本16乘8矩阵键盘原理

键盘工作的主要原理:计算机键盘通常采用行列扫描法来确定按下键所在的行列位置。

所谓行列扫描法是指,把键盘按键排列成n行×m列的n*m行列点阵,把行、列线分别连接到两个并行接口双向传送的连接线上,点阵上的键一旦被按动,该键所在的行列点阵信号就被认为已接通。

按键所排列成的矩阵,需要用硬件或软件的方法轮转顺序地对其行、列分别进行扫描,以查询和确认是否有键按动。

如有键按动,键盘就会向主机发送被按键所在的行列点阵的位置编码,称为键扫描码。

单片机通过周期性扫描行、列线,读回扫描信号结果,判断是否有键按下,并计算按键的位置以获得扫描码。

键被按下时,单片机分两次将位置扫描码发送到键盘接口:按下一次,叫接通扫描码;按完释放一次,叫断开扫描码。

这样,通过硬件或软件的方法对键盘分别进行行、列扫视,就可以确定按下键所在位置,获得并输出扫描位置码,然后转换为ASCII码,经过键盘I/O电路送入主机,并由显示器显示出来。

我們的應用是EC有KSI/KSO接鍵盤,EC確認鍵盤某個鍵有作用,才會通知系統來減少系統資源浪費,此外每一列会间断性发low讯号請問一秒內,一個固定的列(KSO)會發1000次Low Pulse.笔记本EC中使用到了16*8矩阵键盘,其中16根列线输入端为KSO0~KSO15,8根行线输出端为KSI0~KSI7。

16根列线和8根行线可以确定16*8=128个坐标点。

键按矩阵排列,各键处于矩阵行/列的结点处,CPU通过对连在行(列)的I/O线送已知电平的信号,然后读取列(行)线的状态信息。

逐线扫描,得出键码。

下图给出了4*4的矩阵键盘的电路具体加以说明。

矩阵式键盘中,行、列线分别连接到按键开关的两端,行线X0、X1、X2、X3通过上拉电阻接到+5 V上。

当无键按下时,行线处于高电平状态,显然,如果让所有的列线也处在高电平,那么,按键按下与否不会引起行线电平的变化,因此,必须使所有列线处在低电平,只有这样,当有键按下时,该键所在的行电平才会由高电平变为低电平。

矩阵键盘的接口与控制

矩阵键盘的接口与控制

完整程序实例
#include <reg51.h> #define uchar unsigned char
void keyscan(void); void dlms(void); uchar keyvalue=0xff; void main(void) { while(1) { keyscan(); P2=~keyvalue; } } void dlms(void) { uchar i; for(i=200;i>0;i--); }
STEP5:将得到的行号和列号进行译码,得到键值
P3.0 ) if(recode==0xfb { switch(sccode) { P3.1 case 0xfe: keyvalue=16;break; case 0xfd:keyvalue=17;break; case 0xfb:keyvalue=18;break; P3.2 case 0xf7:keyvalue=19;break; case 0xef:keyvalue=20;break; case 0xdf:keyvalue=21;break; case 0xbf:keyvalue=22;break; case 0x7f:keyvalue=23;break; P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 default:break; } }
STEP1: 检测是否有键按下 void keyscan( ) 向单片机的行扫描口输出全0,检测列输出口的状态是否全为“ 1” { unsigned char temp_key; P1=0xff; P3=0xf8; temp_key=P1; if(temp_key!=0xff) { … P3.0 } } “0”
STEP6: 松手检测

单片机独立按键和矩阵键盘概念及原理

单片机独立按键和矩阵键盘概念及原理

单片机独立按键和矩阵键盘概念及原理一、基本知识 1.按键分类与输入原理 按键按照结构原理科分为两类,一类是触点式开关按键,如机械式开关、导电橡胶式开关灯;另一类是无触点式开关按键,如电气式按键,磁感应按键等。

前者造价低,后者寿命长。

目前,微机系统中最常见的是触点式开关按键。

 在单片机应用系统中,除了复位按键有专门的复位电路及专一的复位功能外,其他按键都是以开关状态来设置控制功能或输入数据的。

当所设置的功能键或数字键按下时,计算机应用系统应完成该按键所设定的功能,键信息输入时与软件结构密切相关的过程。

 对于一组键或一个键盘,总有一个接口电路与CPU相连。

CPU可以采用查询或中断方式了解有无将按键输入,并检查是哪一个按键按下,将该键号送人累加器,然后通过跳转指令转入执行该键的功能程序,执行完成后再返回主程序。

 2.按键结构与特点 微机键盘通常使用机械触点式按键开关,其主要功能式把机械上的通断转换为电气上的逻辑关系。

也就是说,它能提供标准的TTL逻辑电平,以便于通用数字系统的逻辑电平相容。

机械式按键再按下或释放时,由于机械弹性作用的影响,通常伴随有一定的时间触点机械抖动,然后其触点才稳定下来。

其抖动过程如下图1所示,抖动时间的长短与开关的机械特性有关,一般为5-10ms。

在触点抖动期间检测按键的通与断,可能导致判断出错,即按键一次按下或释放错误的被认为是多次操作,这种情况是不允许出现的。

为了克服你、按键触点机械抖动所致的检测误判,必须采取消抖措施。

按键较少时,可采用硬件消抖;按键较多式,采用软件消抖。

 图1 按键触点机械抖动 (1)按键编码 一组按键或键盘都要通过I/O口线查询按键的开关状态。

根据键盘结构的不同,采用不同的编码。

无论有无编码,以及采用什幺编码,最后都要转换成为与累加器中数值相对应的键值,以实现按键功能程序的跳转。

 (2)键盘程序 一个完整的键盘控制程序应具备以下功能: a.检测有无按键按下,并采取硬件或软件措施消抖。

51单片机矩阵键盘原理

51单片机矩阵键盘原理

51单片机矩阵键盘原理介绍在嵌入式系统中,矩阵键盘是一种常见的输入装置。

51单片机是广泛使用的一种微控制器,结合矩阵键盘可以实现各种应用。

本文将详细介绍51单片机矩阵键盘的原理及其工作方式。

什么是矩阵键盘?矩阵键盘是将一组按钮布置成矩阵形式,以减少输入引脚的数量。

每个按钮在矩阵键盘中都会被分配一个坐标,通过扫描行和列,可以确定用户按下的是哪个按钮。

51单片机的输入输出结构51单片机具有强大的输入输出能力,可以连接各种外设。

在使用矩阵键盘时,通常使用IO口进行输入和输出操作。

矩阵键盘的接线方式将矩阵键盘与51单片机连接时,需要将键盘的行和列引脚分别连接到单片机的IO 口。

通过对行进行扫描,再根据列的输入状态判断按钮是否按下。

这种接线方式可以大大减少所需的IO口数量。

矩阵键盘的扫描原理矩阵键盘的扫描原理是通过不断扫描行并读取列的状态来判断按钮是否按下。

具体步骤如下: 1. 将所有行引脚设为输出,输出高电平。

2. 逐个扫描行,将当前行引脚设为低电平。

3. 读取所有列引脚的状态,如果有低电平表示有按钮按下。

4. 如果有按钮按下,则根据行和列的坐标确定按下的按钮。

51单片机矩阵键盘的实现以下是使用51单片机实现矩阵键盘的基本步骤: 1. 将行和列引脚连接到单片机的IO口。

2. 初始化IO口的状态。

3. 在主程序中进行循环扫描,根据扫描结果执行相应的操作。

优化矩阵键盘的扫描速度为了提高矩阵键盘的扫描速度,可以采用以下优化方法: 1. 使用硬件定时器来定时扫描行,减少CPU的负载。

2. 使用中断方式处理按键事件,从而减少程序中的轮询操作。

3. 将矩阵键盘的行和列布局进行优化,减少扫描的时间复杂度。

利用矩阵键盘实现密码输入矩阵键盘广泛应用于密码输入功能。

通过将矩阵键盘与51单片机结合,可以实现密码的输入、验证等功能。

以下是一个简单的密码输入的实现步骤: 1. 设置一个密码数组用于存储密码。

2. 使用矩阵键盘获取用户输入的密码,并依次存储到临时数组中。

矩阵键盘的按键识别原理

矩阵键盘的按键识别原理

矩阵键盘的按键识别原理嘿,朋友们!今天咱来唠唠矩阵键盘的按键识别原理。

你看啊,这矩阵键盘就像是一个小小的战场,每个按键都是一名勇敢的战士呢!想象一下,这些按键整齐地排列在那里,等待着我们去“召唤”它们。

那它到底是怎么识别我们按的是哪个键呢?其实啊,就像是一场巧妙的游戏。

矩阵键盘是通过行列交叉的方式来工作的哦!比如说,它有好多行和列,就像一个方格网。

当我们按下一个键时,就相当于在这个方格网上点亮了一个特定的点。

这就好像是在一群人中,你一下子就找到了你要找的那个人一样神奇!每个按键都有它自己独特的位置,通过行和列的组合,矩阵键盘就能准确地知道是哪个键被按下啦。

那它怎么知道这个键被按下了呢?这就得说到它的检测机制啦。

它会不停地去“巡逻”这些行列,一旦发现有某个地方的信号有变化,嘿嘿,那就说明有键被按下去啦!这多有意思呀!而且哦,矩阵键盘还很聪明呢!它不会因为你不小心碰到了别的键就乱了套,它能准确地识别出你真正想要按的那个键。

这就好像一个经验丰富的侦探,能从一堆线索中找到真正的关键信息。

你说这矩阵键盘是不是很厉害?它就静静地待在那里,随时准备为我们服务,只要我们一伸手,它就能快速响应。

想想我们日常生活中的各种电子设备,好多都有矩阵键盘的身影呢!从小小的遥控器到复杂的电脑键盘,它们都在默默地工作着。

我们每天都在和它们打交道,却很少有人真正去了解它们背后的原理。

现在你知道了矩阵键盘的按键识别原理,是不是对这些常见的东西又多了一份好奇和敬意呢?下次再使用有矩阵键盘的设备时,你可以在心里默默感叹一下它的神奇哦!反正我是觉得挺有意思的,它就像是一个隐藏在电子世界里的小秘密,等着我们去发现和探索。

这不就是科技的魅力所在嘛!所以呀,别小看了这些看似普通的东西,它们背后可都有着不简单的原理和故事呢!原创不易,请尊重原创,谢谢!。

44 矩阵键盘工作原理

44 矩阵键盘工作原理

44 矩阵键盘工作原理
矩阵键盘是一种常见的输入设备,它可以用于电子设备、计算机等系统中。

它的工作原理是基于一个由多行多列的按键组成的矩阵。

矩阵键盘的按键布局类似于一个矩阵,其中按键的行和列被编号。

每个按键都有一个独特的行列地址。

按下一个按键时,矩阵键盘会通过行和列的触点之间的闭合来检测到按键的操作。

在工作时,矩阵键盘会周期性地轮询每个行和列的触点状态。

它会先闭合一个行(即将该行的输出信号置为高电平),然后依次检测每一列,看哪些按键的该列的触点闭合。

如果某个按键被按下,那么它所对应的行和列的触点就会闭合。

矩阵键盘通常采用编码器来记录按键信息。

在触发了某个按键后,编码器会将按键的行列地址转换成一个特定的二进制码。

这个二进制码可以被连接的设备(如计算机)所识别,从而得知哪个按键被按下了。

通过矩阵键盘的工作原理,我们可以实现对多个按键的监测和输入。

无论是在计算机上打字,还是在其他电子设备上进行输入,矩阵键盘都可以提供一个简单有效的解决方案。

矩阵键盘介绍与使用程序

矩阵键盘介绍与使用程序

单片机外接键盘电路一、原理简介键盘接口电路是单片机系统设计非常重要的一环,作为人机交互界面里最常用的输入设备。

我们可以通过键盘输入数据或命令来实现简单的人机通信。

在设计键盘电路与程序前,我们需要了解键盘和组成键盘的按键的一些知识。

1. 按键的分类一般来说,按键按照结构原理可分为两类,一类是触点式开关按键,如机械式开关、导电橡胶式开关等;另一类是无触点式开关按键,如电气式按键,磁感应按键等。

前者造价低,后者寿命长。

目前,微机系统中最常见的是触点式开关按键(如本学习板上所采用按键)。

按键按照接口原理又可分为编码键盘与非编码键盘两类,这两类键盘的主要区别是识别键符及给出相应键码的方法。

编码键盘主要是用硬件来实现对键的识别,非编码键盘主要是由软件来实现键盘的识别。

全编码键盘由专门的芯片实现识键及输出相应的编码,一般还具有去抖动和多键、窜键等保护电路,这种键盘使用方便,硬件开销大,一般的小型嵌入式应用系统较少采用。

非编码键盘按连接方式可分为独立式和矩阵式两种,其它工作都主要由软件完成。

由于其经济实用,较多地应用于单片机系统中(本学习板也采用非编码键盘)。

2. 按键的输入原理在单片机应用系统中,通常使用机械触点式按键开关,其主要功能是把机械上的通断转换成为电气上的逻辑关系。

也就是说,它能提供标准的TTL 逻辑电平,以便与通用数字系统的逻辑电平相容。

此外,除了复位按键有专门的复位电路及专一的复位功能外,其它按键都是以开关状态来设置控制功能或输入数据。

当所设置的功能键或数字键按下时,计算机应用系统应完成该按键所设定的功能。

因此,键信息输入是与软件结构密切相关的过程。

对于一组键或一个键盘,通过接口电路与单片机相连。

单片机可以采用查询或中断方式了解有无按键输入并检查是哪一个按键按下,若有键按下则跳至相应的键盘处理程序处去执行,若无键按下则继续执行其他程序。

3. 按键的特点与去抖机械式按键再按下或释放时,由于机械弹性作用的影响,通常伴随有一定时间的触点机械抖动,然后其触点才稳定下来。

独立式键盘与矩阵键盘原理逐行扫描法与行列互换法 键盘编码器芯片74C922

独立式键盘与矩阵键盘原理逐行扫描法与行列互换法 键盘编码器芯片74C922

二. 逐行扫描法与行列互换法
输入情况检测:
第1行检测
第2行检测
第3行检测
第4行检测
二. 逐行扫描法与行列互换法
第2列扫描: 第2列输出0,其余列输出1
输入情况检测:
第1行检测
第2行检测
第3行检测
第4行检测Biblioteka 二. 逐行扫描法与行列互换法
第3列扫描: 第3列输出0,其余列输出1
输入情况检测:
第1行检测
第2行检测
第3行检测
第4行检测
二. 逐行扫描法与行列互换法
第4列扫描: 第4列输出0,其余列输出1
输入情况检测:
第1行检测
第2行检测
第3行检测
第4行检测
二. 逐行扫描法与行列互换法
逐行扫描法的 另一种写法:
第1列输出0的情况:
其余情况类似,这里省略
二. 逐行扫描法与行列互换法
行列互换法:
将两次读入的端口电平值进行 “或” 运算,则结果中只有对 应闭合键所在行、列位置的数值为0,其余皆为1。
口线,那么CPU就可以通过向此
I/O口发出读指令来得到当前按键 的状态。
一.独立式按键与矩阵式键盘原理
2.矩阵式按键 在独立式按键结构下,如果连接 16个按键则需要占用16个I/O资 源,而矩阵式按键结构只需要8
个I/O 口。因此在需要大量按键
的情况下,矩阵式按键结构比独 立式按键节约I/O口的资源
根据预先制定的规则,利用查表法可求出代表闭合键编号的 键模值。
二. 逐行扫描法与行列互换法
三. 键盘编码器芯片74C922
各引脚功能如下: Y1—Y4为行键输入端; X1—X4为列键输入端; OSC为振荡器的外接引线端,可用 外部的输入脉冲或电容器; DA—DD为数据输出端,可与微机 直接接口;KBM为键颤屏蔽端; OE 为数据输出允许端,低电平有 效; DAV为数据输出有效,高电平有效; VCC为电源端,接3—5V; GND为接地端

矩阵键盘工作原理

矩阵键盘工作原理

矩阵键盘工作原理
矩阵键盘是一种广泛应用的按键组合,以矩阵的方式组织的,最常见的是4×4的按键矩阵,每个按键都有两个电路:一个是水平线,一个是垂直线。

当用户按下某个按键时,水平线和垂直线就会连接起来,电路就会触发,从而橙色电流流过矩阵键盘,其他按键就不会产生电流。

电路控制器可以检测到按键,并将按键的位置发送至电脑。

每个按键都有唯一的位置码,可以控制程序中输入的字符或功能。

矩阵键盘的工作原理可以归结为以下几个步骤:首先,将16个按键分别由水平线和垂直线连接形成一个矩阵。

其次,当按下某个按键时,水平线和垂直线就会连接,从而产生电流。

然后,电路控制器检测到按键,从而将该按键的位置发送给电脑。

最后,电脑根据按键的位置码,对输入的字符或功能进行控制。

史上最详细矩阵键盘原理

史上最详细矩阵键盘原理

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 来判断是哪一个按键被按下。 方法二: 行列扫描:我们可以通过高四位全部输出低电平,低四位输出高电平。当接收到的数据,低四位不全为高电平时, 说明有按键按下,然后通过接收的数据值,判断是哪一列有按键按下,然后再反过来,高四位输出高电平,低四位输 出低电平,然后根据接收到的高四位的值判断是那一行有按键按下,这样就能够确定是哪一个按键按下了。 二、原理图:

图解键盘的内部结构与原理

图解键盘的内部结构与原理

键盘构造及工作原理PS/2设备履行一种双向同步串行协议。

换句话说,每次数据线上发送一位数据并且每在时钟线上发一个脉冲就被读入。

设备可以发送数据到主机,而主机也可以发送数据到设备,但主机总是在总线上有优先权,它可以在任何时候抑制来自设备的通信,只需把时钟线电平拉低即可。

键盘的内部结构主要包括控制电路板、按键、底板和面板等。

电路板是整个键盘的控制核心,位于键盘的内部,主要担任按键扫描识别、编码和传输接口工作;它将各个键所表示的数字或字母转换成计算机可以识别的信号,是用户和计算机之间主要的沟通者之一。

键盘主要由键开关矩阵、单片机和译码器三大部分组成。

键开关矩阵即键盘按键由一组排列成矩阵方式的按键开关组成,所输入的信号由按键所在的位置决定。

单片机即键盘内部采用的Intel8048单片机微处理器,这是一个40引脚的芯片,内部集成了8位CPU、1024×8位的ROM、64×8位的RAM以及8位的定时器/计数器等。

译码器即信号编码转译装置,把键盘的字符信号通过编码翻译转换成相应的二进制码。

由于键盘排列成矩阵格式,被按键的识别和行列位置扫描码的产生,是由键盘内部的单片机通过译码器来实现的。

根据键盘向主机送入的二进制代码类型,可把键盘分为编码键盘和非编码键盘两种。

IBM PC机的键盘属于非编码键盘,其特点是不直接提供所按键的编码信息,而是用较为简单的硬件和一套专用程序来识别所按键的位置,并提供与所按键相对应的中间代码,然后再把中间代码转换成要对应的编码。

这样,非编码键盘就为系统软件在定义键盘的某些操作功能上提供了更大的灵活性。

计算机键盘通常采用行列扫描法来确定按下键所在的行列位置。

所谓行列扫描法是指,把键盘按键排列成n行×m列的n*m行列点阵,把行、列线分别连接到两个并行接口双向传送的连接线上,点阵上的键一旦被按动,该键所在的行列点阵信号就被认为已接通。

按键所排列成的矩阵,需要用硬件或软件的方法轮转顺序地对其行、列分别进行扫描,以查询和确认是否有键按动。

44矩阵键盘工作原理

44矩阵键盘工作原理

44矩阵键盘工作原理
矩阵键盘是一种常见的电子设备输入装置,其工作原理基于按键与电路连接的方式。

它包含多个横向和纵向排列的按键,通过矩阵形式的电路连接来实现按键的识别和输入信号的传输。

具体而言,矩阵键盘由电路板、导线和按键组成。

电路板通常有两层,上层是横向导线,下层则是纵向导线。

按键则与这两层导线连接,形成一个矩阵。

每个按键分别对应一个顶点,横向导线连接所有按键的顶点,纵向导线连接所有按键的底座。

当按下一个按键时,该按键的顶点导线和底座导线会通过接触互相连接,形成通路。

这个通路的信息会被传入一个专门处理输入信号的控制芯片中。

控制芯片会分析这个通路,并根据通路位置的特定编码来确定被按下的按键。

工作原理的关键是通过行列的矩阵连接来检测按键的状态。

当不按下按键时,控制芯片会通过扫描横向导线和纵向导线上的电流是否闭合的方式来判断按键的位置。

由于按键上的导线并未连接,电流无法通过并被控制芯片检测到。

而当按下某个按键时,与该按键对应的行和列导线就会连接,形成闭合的电路,电流开始流动。

控制芯片通过检测到电流的存在来判断按键的位置。

总的来说,矩阵键盘通过按键与电路的连接来实现输入信号的传输和按键状态的识别。

它的工作原理主要基于按键通路形成和电流检测等原理。

这种设计使得矩阵键盘在电子设备中应用广泛,如计算机、手机等。

4-1 矩阵键盘

4-1 矩阵键盘

Page 4
矩阵键盘的识别
键扫描就是要判断有无键按下,当扫描到有键
按下时再进行下一步处理,否则退出键盘处理程序。 独立式键盘扫描只需读取IO口状态,而矩阵式键盘 描通常有两种实现方法:逐行扫描法和线反转法。
Page 5
逐行扫描法
逐行扫描法 依次从第一至最末行线上发出低电平信号, 如果 该行线所连接的键没有按下的话, 则列线所接的端
0 4 8 12 1 5 9 13 2 6 10 14 3 7 11 15
Page 8
键盘接口的控制方式
在单片机的运行过程中,何时进行键盘扫描和处理, 可有下列三种情况: 1.查询方式:单片机通过调用键盘扫描子程序,查询
有无键按下。
2.定时扫描方式:每隔一定时间执行一次键盘扫描子 程序。 3.中断方式:每当有键闭合时才向CPU发出中断请求, 中断服务时进行键盘扫描和处理。
Page 12
合肥宏晶信息科技有限公司 ITek-Training Co.,Ltd.
Web: Add: 安徽省合肥市高新区中国科学技术大学先进技术研究院未来中心4楼
Thanks
Page 6
1 1 1 1
1 1
0 1 1 1
闭合键的一种常用方法, 该法比行扫描速度快, 但 在硬件上要求行线与列线外接上拉电阻。 先将行线作为输出线, 列线作为输入线, 行线输出全“0”信号, 读入列 线的值, 那么在闭合键所在的列线上的值必为0;然后从列线输出全“0” 信号,再读取行线的输入值,闭合键所在的行线值必为 0。这样,当一个 设第2行第 键被按下时, 必定可读到一对唯一的行列值。再由这一对行列值可以求 4列键按下 出闭合键所在的位置。
Page 9
短按及长按
短按:轻触一次,立即弹开。软件判断完成一项功能。 长按:按住不放,持续一段时间。软件判断完成另一项功能。

矩阵键盘的工作原理和扫描确认方式

矩阵键盘的工作原理和扫描确认方式
在该方式中要使用mcu的一个定时器使其产生一个10ms的定时中断mcu响应定时中断执行键盘扫描当在连续两次中断中都读到相同的按键按下间隔10ms作为消抖处理mcu才执行相应的键处理程序中断方式
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;
它们不仅与键盘的硬件连接有关系,同时还要注意他们在程序中是如何使用的, 其值的保存等等。

矩阵式键盘控制数码管显

矩阵式键盘控制数码管显
去抖动处理
为了避免按键抖动造成的误判,微 控制器会对检测到的按键状态进行 去抖动处理,确保按键状态的准确 性。
键盘编码方式
行码与列码组合
01
每个按键都有一个唯一的行码和列码组合,用于标识按键的位
置。
编码表
02
建立一个包含所有按键行码和列码组合的编码表,用于将按键
位置映射到对应的编码值。
编码输出
03
键盘扫描程序
根据矩阵式键盘的原理,编写键盘扫描程序,实 现按键的检测与识别。
数码管显示程序
根据数码管的显示原理,编写数码管显示程序, 实现数码管的显示和控制。
主程序
主程序负责调用键盘扫描程序和数码管显示程序, 实现整个系统的控制逻辑。
系统调试与测试
硬件调试
检查硬件电路连接是否正确,确保各模块工作正常。
矩阵式键盘控制数码管显示系 统
目录
CONTENTS
• 矩阵式键盘控制原理 • 数码管显示技术 • 矩阵式键盘控制数码管显示系统设计 • 系统性能优化与改进 • 应用前景与发展趋势

01 矩阵式键盘控制原理
CHAPTER
矩阵式键盘结构
4x4矩阵式键盘结构
由16个按键组成的矩阵,行线和列线 交叉连接,每个按键位于行线和列线 的交叉点上。
根据按键位置在编码表中找到对应的编码值,通过微控制器输
出相应的编码信号,控制数码管显示相应的字符或数字。
02 数码管显示技术
CHAPTER
数码管工作原理
数码管由多个LED段组成,通过控制各段的亮灭来显示数字或字符。
数码管内部有8个LED段,通过电流的通断控制每个段的亮灭,从而显示不同的数字 或字符。
数码管驱动方式
点驱动方式

独立键盘和矩阵键盘-PPT

独立键盘和矩阵键盘-PPT

图8.2 矩阵式键盘接口
特点:电路连接复杂,但提高了 I/O口利用率,软件编程较复 杂。适用于需使用大量按键 得场合。
U1
P10 1 P11 2 P12 3 P13 4 P14 5 P15 6 P16 7 P17 8
P10 P11 P12 P13 P14 P15 P16 P17
P00 P01 P02 P03 P04 P05 P06 P07
设第2行第 4列键按下
89C51 P1.0 P1.1 P1.2 P1.3 P1.4 11 11 11 1011 P1.5 P1.6 P1.7
+5V
101 110 110 01
行线输出 列线输入
0111 1011 1101 1110
1111 1110 1111 1111
(2)线反转法。 线反转法也就是识别闭合键得一种常用方法, 该 法比行扫描速度快, 但在硬件上要求行线与列线外 接上拉电阻。 先将行线作为输出线, 列线作为输入线, 行线输出 全“0”信号, 读入列线得值, 那么在闭合键所在得列 线上得值必为0;然后从列线输出全“0”信号,再读取 行线得输入值,闭合键所在得行线值必为 0。这样, 当一个键被按下时, 必定可读到一对唯一得行列值。 再由这一对行列值可以求出闭合键所在得位置。
独立键盘和矩阵键盘
通常,键盘有编码与非编码两种。编码键盘通过 硬件电路产生被按按键得键码与一个选通脉冲。选 通脉冲可作为CPU得中断请求信号。这种键盘使用 方便,所需程序简单,但硬件电路复杂,常不被单片机采 用。
非编码键盘按组成结构又可分为独立式键盘与 矩阵式键盘。独立式键盘得工作过程与矩阵式键盘 类似,无论就是硬件结构还就是软件设计都比较简单,。
…… else if (表达式n-1) (语句n-1;) else {语句n}

键盘扫描原理

键盘扫描原理

笔记本键盘的总类:美式、英式、日本各个键盘的区别:键盘的扫描方式:逐行扫描法与线反转法现在的笔记本键盘一般都是16+8的方式,即16个pin输出,对应列;8个输入pin脚,对应行。

键盘输入与输出的结构如下:在Idel状态下,EC把16条输出线全部拉低,使能键盘扫描中断,这样当任意一个按键按下时,就会触发中断(ICU的INT11h),然后EC就开始逐列扫面,比如OUT(0,1,……,15)输出(1,1,……,1,0),(1,1,……,0,1)……(0,1,……,1,1),当数一个列扫描码,得到的行如输入信号为有一个为0的时候,这是得到的列扫描码与行扫描码就是这个键的扫面码。

比如上图按下S6的时候,列与行扫描码就分别为1101,1011。

然后通过扫描码在Scan table里面找对应的键码,传给OS,确定是哪个键。

在上面的图中,我们看到,在输入信号每个上面都有上拉电阻,这个电阻必须有除非EC的输入pin脚上面的有足够的上拉能力,否则扫描就会出现错误。

下图中,是一个正常的键盘矩阵图。

键盘上面的数字就与下面矩阵里面相同的数字对应。

普通键盘结构及工作原理键盘一般有独立式和行列式(矩阵式)两种。

当然还有其它的结构,比如交互式结构等等,不过其它的结构比较少用,在这里就不介绍了。

在中颖的单片机中,有些单片机的LCD 驱动引脚的SEGMENT 口可以共享按键扫描口,当选择为按键扫描口时,可以使用这些口来扫描按键,所以在外部电路可以连接LCD 和按键矩阵,采用分时扫描进行处理,下面也将介绍这个特殊应用的方法和注意的地方。

1、独立式键盘结构独立式键盘是指各个按键相互独立地连接到各自的单片机的I/O 口,I/O口只需要做输入口就能读到所有的按键。

独立式键盘可以使用上拉电阻也可以使用下拉电阻,基本原理是一样的。

使用上拉电阻的独立式键盘结构如图1-3 所示。

(上面这个图是有问题的,应该是行列式的键盘)图1-3 所示的是利用PB 口和PC 口共8 个I/O 口独自连接8 个按键,使用外部上拉电阻构成的独立式键盘。

矩阵键盘原理

矩阵键盘原理

距阵键盘矩阵键盘是单片机编程中所使用的键盘.1.矩阵式键盘的结构与工作原理在键盘中按键数量较多时,为了减少I/O口的占用,通常将按键排列成矩阵形式,如图1所示。

在矩阵式键盘中,每条水平线和垂直线在交叉处不直接连通,而是通过一个按键加以连接。

这样,一个端口(如P1口)就可以构成4*4=16个按键,比之直接将端口线用于键盘多出了一倍,而且线数越多,区别越明显,比如再多加一条线就可以构成20键的键盘,而直接用端口线则只能多出一键(9键)。

由此可见,在需要的键数比较多时,采用矩阵法来做键盘是合理的。

矩阵式结构的键盘显然比直接法要复杂一些,识别也要复杂一些,上图中,列线通过电阻接正电源,并将行线所接的单片机的I/O口作为输出端,而列线所接的I/O口则作为输入。

这样,当按键没有按下时,所有的输出端都是高电平,代表无键按下。

行线输出是低电平,一旦有键按下,则输入线就会被拉低,这样,通过读入输入线的状态就可得知是否有键按下了。

具体的识别及编程方法如下所述。

2、矩阵式键盘的按键识别方法确定矩阵式键盘上何键被按下介绍一种“行扫描法”。

行扫描法行扫描法又称为逐行(或列)扫描查询法,是一种最常用的按键识别方法,如上图所示键盘,介绍过程如下。

1、判断键盘中有无键按下将全部行线Y0-Y3置低电平,然后检测列线的状态。

只要有一列的电平为低,则表示键盘中有键被按下,而且闭合的键位于低电平线与4根行线相交叉的4个按键之中。

若所有列线均为高电平,则键盘中无键按下。

2、判断闭合键所在的位置在确认有键按下后,即可进入确定具体闭合键的过程。

其方法是:依次将行线置为低电平,即在置某根行线为低电平时,其它线为高电平。

在确定某根行线位置为低电平后,再逐行检测各列线的电平状态。

若某列为低,则该列线与置为低电平的行线交叉处的按键就是闭合的按键。

下面给出一个具体的例子:图仍如上所示。

8031单片机的P1口用作键盘I/O口,键盘的列线接到P1口的低4位,键盘的行线接到P1口的高4位。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

键盘工作的主要原理:计算机键盘通常采用行列扫描法来确定按下键所在的行列位置。

所谓行列扫描法是指,把键盘按键排列成n行×m列的n*m行列点阵,把行、列线分别连接到两个并行接口双向传送的连接线上,点阵上的键一旦被按动,该键所在的行列点阵信号就被认为已接通。

按键所排列成的矩阵,需要用硬件或软件的方法轮转顺序地对其行、列分别进行扫描,以查询和确认是否有键按动。

如有键按动,键盘就会向主机发送被按键所在的行列点阵的位置编码,称为键扫描码。

单片机通过周期性扫描行、列线,读回扫描信号结果,判断是否有键按下,并计算按键的位置以获得扫描码。

键被按下时,单片机分两次将位置扫描码发送到键盘接口:按下一次,叫接通扫描码;按完释放一次,叫断开扫描码。

这样,通过硬件或软件的方法对键盘分别进行行、列扫视,就可以确定按下键所在位置,获得并输出扫描位置码,然后转换为ASCII码,经过键盘I/O电路送入主机,并由显示器显示出来。

我們的應用是EC有KSI/KSO接鍵盤,EC確認鍵盤某個鍵有作用,才會通知系統來減少系統資源浪費,此外每一列会间断性发low讯号
請問一秒內,一個固定的列(KSO)會發1000次Low Pulse.
笔记本EC中使用到了16*8矩阵键盘,其中16根列线输入端为KSO0~KSO15,8根行线输出端为KSI0~KSI7。

16根列线和8根行线可以确定16*8=128个坐标点。

键按矩阵排列,各键处于矩阵行/列的结点处,CPU通过对连在行(列)的I/O线送已知电平的信号,然后读取列(行)线的状态信息。

逐线扫描,得出键码。

下图给出了4*4的矩阵键盘的电路具体加以说明。

矩阵式键盘中,行、列线分别连接到按键开关的两端,行线X0、X1、X2、X3通过上拉电阻接到+5 V上。

当无键按下时,行线处于高电平状态,显然,如果让所有的列线也处在高电平,那么,按键按下与否不会引起行线电平的变化,因此,必须使所有列线处在低电平,只有这样,当有键按下时,该键所在的行电平才会由高电平变为低电平。

当有键按下时,行、列线将导通,此时,行线电平将由与此行线相连的列线电平决定。

这一点是识别矩阵按键是否被按下的关键。

按键按下时,与此键相连的行线与列线导通,对应的行线被拉低,CPU根据行平电的变化,便能判定相应的行有键按下。

例如8号键按下时,第X2行一定为低电平,然而,第2行为低电平时,不能确定一定是8号键按下的,因为9、10、11号键按下同样使第2行为低电平。

为进一步
确定具体键,不能使所有列线在同一时刻都处在低电平,可在某一时刻只让一条列线处于低电平,其余列线均处于高电平,另一时刻,让下一列处在低电平,依次循环,这种依次轮流每次选通一列的工作方式称为键盘扫描。

下面对几个常见问题的探讨:
1、CPU对键盘扫描的方式
键盘扫描只是CPU的工作内容之一,CPU对键盘的响应取决于键盘的工作方式,键盘的工作方式应根据实际应用系统中CPU的工作状况而定,其选取的原则是既要保证CPU能及时响应按键操作,又不要过多占用CPU的工作时间。

通常,键盘的工作方式有三种,程序控制的随机方式(CPU 空闲时扫描键盘)、定时控制方式(定时扫描键盘)和中断方式. 由于CPU经常处于空扫描状态,为提高CPU工作效率,一般采用中断扫描工作方式。

其工作过程如下:当无键按下时,CPU处理自己的工作,当有键按下时,产生中断请求,CPU转去执行键盘扫描子程序,并识别键号。

2、独立连接式键盘与矩阵连接式键盘的对比
独立连接式键盘每键相互独立,各自与一条I/O线相连,CPU可直接读取该I/O线的高/低电平状态。

其优点是硬件、软件结构简单,判键速度快,使用方便;缺点是占I/O口线多。

适用场合:多用于设置控制键、功能键,适用于键数少的场合。

矩阵连接式键盘键按矩阵排列,各键处于矩阵行/列的结点处,CPU通过对连在行(列)的I/O线送已知电平的信号,然后读取列(行)线的状态信息。

逐线扫描,得出键码。

其特点是键多时占用I/O口线少,硬件资源利用合理,但判键速度慢。

适用场合:多用于设置数字键,适用于键数多的场合。

3、按键开关去抖动问题
键盘的抖动时间一般为5~10ms,抖动现象会引起CPU对一次键操作进行多次处理,从而可能产生错误。

消除抖动不良后果的方法有硬件去抖动和软件去抖动。

硬件去抖动常用RC滤波电路去抖动电路。

软件去抖动是测到按键按下后,执行延时10ms子程序后再确认该键是否确实按下,消除抖动影响。

4、键盘的键位冲突问题
简单的说,也就是当你同时按下键盘上的几个键的时候,这几个键不能同时反映出来,这就叫做键盘的键位冲突。

例如,经常有一些键盘不能同时对例如A-S-空格这样的按键组合作出反应,这样在FPS游戏中,使用者就会大为吃亏。

键位冲突的直接起因,是键盘的非编码结构。

传统的键盘,是编码式键盘,它的每个键按下时都会产生唯一的按键编码,并且通过专有的一组导线传输到键盘接口电路,由于其线路和编码的唯一性,这种键盘是不存在键位冲突的问题的,但是
编码键盘结构复杂,现在已经很少使用了,现在的键盘几乎都是非编码的薄膜接触式键盘。

而现代的薄膜接触式键盘,任何一个按键都有上下两层薄膜的触点,在任何一层薄膜上,导线数都远少于按键数,而且每一条导线都同时连通多个按键的触点,而且,上层和下层的任何两条导线都最多只在一个按键上重合。

也就是说,上层的1号导线可能会同时经过1、2、3、4、5…等按键,而下层的1号导线可能同时经过1、Q、A、Z…等按键,且两条导线只在1键上重合。

CPU对键盘扫描的方式一般采用中断扫描工作方式。

当无键按下时,CPU处理自己的工作;当有键按下时,产生中断请求,CPU转去执行键盘扫描子程序,并识别键号。

其目的是为了提高CPU的工作效率。

键盘主要工作原理:无键按下时,所有行线为high,列线为low;有键按下时,CPU转去执行键盘扫描程序,将所有列线拉high,但每一列会间断性发low讯号(时间间隔不同),当CPU判断按下键对应的列线时,low讯号会将键对应的行线拉low,从而确定键的位置。

实验关键为列线发low讯号的时间间隔不同,证实昨天Frank的观点是正确的。

在实验证实时,随机选取两组列线输入端KSO15(通道1)、KSO0(通道2);随机选取两组行线输出端KSI3(通道3)、KSI5(通道4)。

1、无任何键按下时,通过多次实验,发现所有行线为high,列线为low。

2、按下鍵“A”時,CPU执行键盘扫描程序,将所有列线拉high,但每一列会间断性发low讯号(时间间隔不同),由于只是从8组行线随机选的2组,下图没有A键行线。

3、按下鍵“4”時,CPU执行键盘扫描程序,将所有列线拉high,但每一列会间断性发low讯号(时间间隔不同),
4、按下小鍵盤中數字鍵“2”時,CPU执行键盘扫描程序,将所有列线拉high,但每一列会间断性发low 讯号(时间间隔不同)。

此时CPU扫描判断键“2”对应的列线为KSO0,KSO0的Low讯号将键“2”对应的行线KSI5拉low,从而确定键“2”行、列的位置。

相关文档
最新文档