矩阵键盘电路设计
矩阵键盘电路设计

矩阵键盘电路设计矩阵键盘是一种常见的输入设备,它通过矩阵布局的按键组成,可以方便地输入数字、字母和其他符号。
在电子设备中,矩阵键盘通常采用扫描电路进行输入和控制。
在本文中,将探讨矩阵键盘电路的设计。
首先,我们需要确定矩阵键盘的布局。
一般情况下,矩阵键盘采用4×4或者3×4的布局。
每个按键都是一个开关,当按下时闭合,松开时断开。
接下来,我们需要设计输入电路。
输入电路通过扫描矩阵键盘的每一行和每一列来检测按键的状态。
为了实现这个功能,我们可以使用两个二进制计数器来控制扫描的行和列。
每当计数器增加时,就对应地扫描一行或者一列。
我们可以通过多路复用器和反向器将计数器输出与矩阵键盘的行和列相连。
当计数器的输出与矩阵键盘的行和列相连后,我们可以通过逐行或逐列地扫描矩阵键盘并检测按键的状态。
如果有按键按下,我们可以将对应的按键编码为数字信号。
在设计输入电路时,我们还需要考虑按键去抖动的问题。
按键去抖动是指当按键被按下或松开时,会产生多次开关闭合的现象。
为了解决这个问题,我们可以使用一个滤波器电路来消除按键的抖动。
滤波器电路可以采用RC滤波器或者Schmitt触发器等。
设计好输入电路后,接下来需要设计控制电路。
控制电路负责扫描矩阵键盘的每一行和每一列,以及对按键的状态进行控制。
我们可以使用计时器和计数器来控制扫描的速度和顺序。
当检测到按键按下时,控制电路会将对应的按键编码为数字信号并传递给接收端。
此外,在设计控制电路时,我们还需要考虑矩阵键盘的多键同时按下的问题。
当多个按键同时按下时,我们需要使用矩阵解码器来对这些按键进行解码,并将解码结果传递给接收端。
在进行电路设计时,我们还需要考虑一些其他的因素,比如布线、电源供应和接收端的设计等。
布线是指将电路中的各个元件和连接线布置在PCB板上的过程。
在布线时,我们需要确保信号传输的可靠性和稳定性。
电源供应是指提供电路所需的电源电压和电流的过程。
接收端的设计是指接收和处理从矩阵键盘电路传递过来的数字信号的过程。
verilog-矩阵键盘

二、矩阵键盘显示电路设计(显示键盘值的平方)矩阵键盘显示电路的设计一、实验目的1、了解普通4×4 键盘扫描的原理。
2、进一步加深七段码管显示过程的理解。
3、了解对输入/输出端口的定义方法。
二、实验原理实现键盘有两种方案:一是采用现有的一些芯片实现键盘扫描;再就是用软件实现键盘扫描。
作为一个嵌入系统设计人员,总是会关心产品成本。
目前有很多芯片可以用来实现键盘扫描,但是键盘扫描的软件实现方法有助于缩减一个系统的重复开发成本,且只需要很少的CPU 开销。
嵌入式控制器的功能能强,可能充分利用这一资源,这里就介绍一下软键盘的实现方案。
图10-1 简单键盘电路通常在一个键盘中使用了一个瞬时接触开关,并且用如图10-1 所示的简单电路,微处理器可以容易地检测到闭合。
当开关打开时,通过处理器的 I/O 口的一个上拉电阻提供逻辑1;当开关闭合时,处理器的/IO口的输入将被拉低得到逻辑0。
可遗憾的是,开关并不完善,因为当它们被按下或者被释放时,并不能够产生一个明确的 1或者 0。
尽管触点可能看起来稳定而且很快地闭合,但与微处理器快速的运行速度相比,这种动作是比较慢的。
当触点闭合时,其弹起就像一个球。
弹起效果将产生如图10-2所示的好几个脉冲。
弹起的持续时间通常将维持在 5ms∼30ms 之间。
如果需要多个键,则可以将每个开关连接到微处理器上它自己的输入端口。
然而,当开关的数目增加时,这种方法将很快使用完所有的输入端口。
图10-2 按键抖动键盘上阵列这些开关最有效的方法(当需要5个以上的键时)就形成了一个如图10-3 所示的二维矩阵。
当行和列的数目一样多时,也就是方型的矩阵,将产生一个最优化的布列方式(I/O 端被连接的时候),一个瞬时接触开关(按钮)放置在每一行与线一列的交叉点。
矩阵所需的键的数目显然根据应用程序而不同。
每一行由一个输出端口的一位驱动,而每一列由一个电阻器上拉且供给输入端口一位。
图10-3 矩阵键盘键盘扫描的实现过程如下:对于4×4键盘,通常连接为4行、4列,因此要识别按键,只需要知道是哪一行和哪一列即可,为了完成这一识别过程,我们的思想是,首先固定输出4行为高电平,然后输出4列为低电平,在读入输出的4行的值,通常高电平会被低电平拉低,如果读入的 4 行均为高电平,那么肯定没有按键按下,否则,如果读入的4 行有一位为低电平,那么对应的该行肯定有一个按键按下,这样便可以获取到按键的行值。
51单片机矩阵键盘设计

51单片机矩阵键盘设计
一、引言
AT89C51单片机矩阵键盘设计是嵌入式系统中一个重要的技术,它的
作用是以矩阵形式把外部按键与MCU相连,使得系统可以对外部的按键进
行检测和响应。
矩阵键盘设计在可编程嵌入式系统的设计中占有重要的地位,如智能交通系统、智能家居系统、航空电子系统等。
本文主要介绍了矩阵键盘设计中硬件电路的设计,包括按键、拉电阻、和矩阵编码等,同时给出系统的控制算法,使得系统可以实现有效的按键
检测和响应。
二、矩阵键盘概述
矩阵键盘是将多个按键排布成列行形式进行连接,一般来说,矩阵键
盘是由按键、拉电阻、矩阵编码器和控制器组成,按键是系统中重要的部件,其作用是将外部输入信号传递给控制器。
拉电阻起到的作用是防止按
键耦合,一般可以使用4.7KΩ拉电阻来防止按键耦合。
矩阵编码器用来
识别按键的状态,通常通过硬件把按键信号编码为数字信号,输入到处理
器或控制器。
控制器用来实现按键信号的检测,通过定义硬件定时器和软
件定时器,实现按键检测和处理。
1、硬件电路设计
应用AT89C51单片机矩阵键盘。
矩阵键盘的设计

摘要本实验是在基于PROTUES平台下,运用 80C51芯片编写程序设计实现的矩阵式键盘。
通过对矩阵键盘的硬件电路的设计及对其进行程序汇编和运行,通过单片机的内部控制实现对硬件电路的设计,从而实现对4×4矩阵键盘的识别。
用单片机的并行P1口连接4×4矩阵键盘,并以单片机的P1.0-P1.3口作键盘输入的列线,以单片机的P1.4-P1.7口作为键盘输入的行线,然后用P0.0-P0.6作输出线,通过上拉电阻在显示器上显示不同的符号按键“0-F”。
在硬件电路的基础上加上软件程序的控制来设计实现。
其工作过程为:先判断是否有键按下,如没有键按下,则继续扫描整个程序,如有键按下,就识别是哪一个键按下,最后通过显示器把该键所对应的键的序号显示出来。
关键词:80C51芯片;4×4矩阵;键盘识别;显示器目录1 问题描述................................ 错误!未定义书签。
2 设计原理................................ 错误!未定义书签。
2.1电路硬件说明......................... 错误!未定义书签。
2.2矩阵式键盘的工作过程 (2)2.3程序设计内容 (2)2.4硬件电路设计及其电路图 (2)3 程序说明及其流程图 (3)3.1程序系统 (3)3.2判别是否有键按下程序 (4)3.3识别哪个键按下程序 (6)3.4显示程序 (7)3.5延时程序 (8)4 仿真结果分析 (9)5 汇编程序 (12)6 课程设计总结与体会 (16)参考文献资料1 问题描述(1)设计一个4×4矩阵式键盘,以实现矩阵式键盘的程序识别。
(2)用单片机的并行口P1连接4×4矩阵键盘,并以单片机的P1.0-P1.3各管脚作输入线,以单片机的P1.4-P1.7各管脚作输出线,在数码管上显示每个按键“0-F”的序号。
矩阵键盘及其电路设计

矩阵键盘及其电路设计
矩阵键盘是一种常见的输入设备,常用于计算机、电视机、手机等电
子产品中。
它由多个按键组成,每个按键都与一个矩阵电路相连。
矩阵键
盘的设计简单、成本低廉,因此在许多场景中广泛应用。
矩阵键盘的电路设计可以分为两个主要方面:行扫描电路和列扫描电路。
行扫描电路负责控制行通道。
它由多个行扫描引脚组成,每一个引脚
都与一个行通道相连。
通常情况下,行扫描电路会以一定的频率依次将每
一个引脚置高电平,然后检测列通道是否有相应的信号。
如果检测到信号,就说明用户按下了对应的按键。
通过依次扫描所有的行通道,可以获取用
户整个键盘的按键状态。
列扫描电路负责控制列通道。
它由多个列扫描引脚组成,每一个引脚
都与一个列通道相连。
当行扫描电路扫描到其中一行时,列扫描电路会检
测到该行通道与列通道之间的电位差。
如果电位差存在,则说明用户按下
了该行和列交叉点处的按键。
在实际的电路设计中,还可以使用连接电阻和电容的方式来降低电路
的噪声。
通过在矩阵键盘中添加适当的抗干扰电路,可以有效减少外界干
扰对键盘输入的影响。
总结起来,矩阵键盘的电路设计主要包括行扫描电路和列扫描电路。
通过行列通道的扫描和检测,可以判断用户所按下的按键。
在实际的设计中,还可以添加抗干扰电路来提高键盘的输入稳定性。
矩阵键盘的设计简
单且成本低廉,因此被广泛应用于各种电子产品中。
矩阵键盘程序设计

矩阵键盘程序设计一、介绍矩阵键盘是一种常见的输入设备,通常由多个行和列组成。
每个键都和一个特定的行列交叉点相连,通过检测行和列的连接状态来判断按下的是哪个键。
本文档将介绍如何设计一个基于矩阵键盘的程序。
二、硬件要求为了实现矩阵键盘程序,我们需要以下硬件设备:1-矩阵键盘:包括行和列连接点,每个键与一个特定行列连接。
2-微控制器:用于检测行列的连接状态,并处理按键输入。
3-连接线:连接矩阵键盘和微控制器的电缆。
三、程序设计步骤设计一个矩阵键盘程序的基本步骤如下:1-初始化:设置微控制器的输入输出引脚,并配置矩阵键盘的行列连接点。
2-扫描键盘:循环扫描每个连接点,判断是否有按键按下。
3-按键处理:如果有按键按下,触发相应的事件或执行相应的操作。
4-循环:重复进行扫描和处理,实现实时响应。
四、初始化设置在程序的启动阶段,需要进行初始化设置以准备矩阵键盘的使用。
1-设置输入输出引脚:将微控制器上的引脚设置为输入或输出模式,以便连接矩阵键盘和其他设备。
2-配置连接点:设置行和列的连接点,将矩阵键盘的每个键与特定的行列连接。
五、扫描键盘扫描矩阵键盘是检测按键状态的关键步骤。
1-选定一行:将矩阵键盘的行连接点设置为高电平,其他行连接点设置为低电平。
2-读取列状态:读取每一列连接点的状态,判断是否有按键按下。
3-判断按键:根据读取到的列状态,确定按下的是哪个键。
可以使用一个矩阵或查找表来管理键和行列交叉点之间的对应关系。
六、按键处理一旦检测到按键按下,程序需要触发相应的事件或执行相应的操作。
1-事件处理:例如,如果按下的是数字键,则触发相应数字的事件。
2-操作执行:例如,如果按下的是功能键,则执行相应的功能。
七、附件本文档涉及的附件包括以下内容:1-矩阵键盘的电路图:详细描述了键盘的连接方式和连接点的布局。
2-微控制器的引脚分配表:列出了微控制器上各个引脚与矩阵键盘的连接方式。
八、法律名词及注释1-版权:对于矩阵键盘的设计,可能涉及版权保护的内容,需要遵守相关法律法规。
矩阵式键盘实验报告

矩阵式键盘实验报告矩阵键盘设计实验报告南京林业大学实验报告基于AT89C51单片机4x4矩阵键盘接口电路设计课程院系班级学号姓名指导老师机电一体化设计基础机械电子工程学院杨雨图2013年9月26日一、实验目的1、掌握键盘接口的基本特点,了解独立键盘和矩阵键盘的应用方法。
2、掌握键盘接口的硬件设计方法,软件程序设计和贴士排错能力。
3、掌握利用Keil51软件对程序进行编译。
4、用Proteus软件绘制“矩阵键盘扫描”电路,并用测试程序进行仿真。
5、会根据实际功能,正确选择单片机功能接线,编制正确程序。
对实验结果能做出分析和解释,能写出符合规格的实验报告。
二、实验要求通过实训,学生应达到以下几方面的要求:素质要求1.以积极认真的态度对待本次实训,遵章守纪、团结协作。
2.善于发现数字电路中存在的问题、分析问题、解决问题,努力培养独立工作能力。
能力要求1.模拟电路的理论知识2.脉冲与数字电路的理念知识3.通过模拟、数字电路实验有一定的动手能力4.能熟练的编写8951单片机汇编程序5.能够熟练的运用仿真软件进行仿真三、实验工具1、软件:Proteus软件、keil51。
2、硬件:PC机,串口线,并口线,单片机开发板四、实验内容1、掌握并理解“矩阵键盘扫描”的原理及制作,了解各元器件的参数及格元器件的作用。
2、用keil51测试软件编写AT89C51单片机汇编程序3、用Proteus软件绘制“矩阵键盘扫描”电路原理图。
4、运用仿真软件对电路进行仿真。
五.实验基本步骤1、用Proteus绘制“矩阵键盘扫描”电路原理图。
2、编写程序使数码管显示当前闭合按键的键值。
3、利用Proteus软件的仿真功能对其进行仿真测试,观察数码管的显示状态和按键开关的对应关系。
4、用keil51软件编写程序,并生成HEX文件。
5、根据绘制“矩阵键盘扫描”电路原理图,搭建相关硬件电路。
6、用通用编程器或ISP下载HEX程序到MCU。
矩阵键盘工作原理

矩阵键盘工作原理
矩阵键盘是一种广泛应用的按键组合,以矩阵的方式组织的,最常见的是4×4的按键矩阵,每个按键都有两个电路:一个是水平线,一个是垂直线。
当用户按下某个按键时,水平线和垂直线就会连接起来,电路就会触发,从而橙色电流流过矩阵键盘,其他按键就不会产生电流。
电路控制器可以检测到按键,并将按键的位置发送至电脑。
每个按键都有唯一的位置码,可以控制程序中输入的字符或功能。
矩阵键盘的工作原理可以归结为以下几个步骤:首先,将16个按键分别由水平线和垂直线连接形成一个矩阵。
其次,当按下某个按键时,水平线和垂直线就会连接,从而产生电流。
然后,电路控制器检测到按键,从而将该按键的位置发送给电脑。
最后,电脑根据按键的位置码,对输入的字符或功能进行控制。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课程设计题目矩阵键盘电路设计教学院计算机学院专业计算机应用技术班级姓名指导教师2010 年01 月12 日前言.................................................................... 第一章需求分析.........................................................功能描述.........................................................功能分析......................................................... 第二章系统的原理及分析.................................................用到的知识点的介绍,知识点使用的总体思路第三章详细设计.........................................................硬件设计系统结构图,元器件的选择等软件设计所设计的软件关键模块的程序流程第四章测试............................................................运行结果分析等第五章总结............................................................. 参考文献................................................................ 附录关键程序代码........................................................矩阵键盘又称行列键盘,它是用四条I/O线作为行线,四条I/O线作为列线组成的键盘。
在行线和列线的每个交叉点上设置一个按键。
这样键盘上按键的个数就为4*4个。
一般由16个按键组成,在单片机中正好可以用一个P口实现16个按键功能,这也是在单片机系统中最常用的形式这种行列式键盘结构能有效地提高单片机系统中I/O口的利用率。
在“单片机系统”区域中,把单片机的P3.0-P3.7端口通过8联拨动拨码开关JP3连接到“4×4行列式键盘”区域中的M1-M4,N1-N4端口上。
在“单片机系统”区域中,把单片机的P0.0-P0.7端口连接到“静态数码显示模块”区域中的任何一个a-h端口上;要求:P0.0对应着a,P0.1对应着b,……,P0.7对应着h。
面板是微机仪器的重要组成部分。
面板主要包括显示器和键盘,通过面板对系统进行操作。
一般的单片机控制仪表的面板均含有数码管、发光管和按键,本文的仪器面板就是针对这个领域而开发的。
在仪器面板的设计中,键盘显示电路的设计一般采用三种方式,第一种为并行口动态扫描方式,该方式硬件简单、软件编程方便,与主板的信号连线多;第二种为串行口静态扫描方式,此方式使用串行芯片多,与主板的信号连线少;第三种为串行口动态扫描方式,此方式具有硬件简单、与主板信号连线少的优点,一般采用专用的串行口键盘显示芯片设计。
考虑到专用芯片成本较高,我们用普通芯片设计了串行口动态扫描方式的仪器面板。
每个按键都有它的行值和列值,行值和列值的组合就是识别这个按键的编码。
矩阵的行线和列线分别通过两并行接口和CPU通信。
键盘的一端(列线)通过电阻接VCC,而接地是通过程序输出数字“0”实现的。
键盘处理程序的任务是:确定有无键按下,判断哪一个键按下,键的功能是什么?还要消除按键在闭合或断开时的抖动。
两个并行口中,一个输出扫描码,使按键逐行动态接地;另一个并行口输入按键状态,由行扫描值和回馈信号共同形成键编码而识别按键,通过软件查表,查出该键的功能。
用单片机的并行口P3连接4×4矩阵键盘,并以单片机的P3.0-P3.3各管脚作输入线,以单片机的P3.4-P3.7各管脚作输出线,在数码管上显示每个按键“0-F”的序号。
实际上,键盘、显示处理是很复杂的,它往往占到一个应用程序的大部份代码,可见其重要性,但说到,这种复杂并不来自于单片机的本身,而是来自于操作者的习惯等等问题,因此,在编写键盘处理程序之前,最好先把它从逻辑上理清,然后用适当的算法表示出来,最后再去写代码,这样,才能快速有效地写好代码。
第一章需求分析功能描述:行线P1.0~P1.3为输出线,列线P1.4~P1.7为输入线。
一开始单片机将行线(P1.0~P1.3)全部输出低电平,此时读入列线数据,若列线全为高电平则没有键按下,当列线有出现低电平时调用延时程序以此来去除按键抖动。
延时完成后再判断是否有低电平,如果此时读入列线数据还是有低电平,则说明确实有键按下。
最后一步确定键值。
现在我们以第二行的S5键为例,若按下S5后我们应该怎么得到这个键值呢?当判断确实有键按下之后,行线轮流输出低电平,根据读入列线的数据可以确定键值。
首先,单片机将P10输出为低电平,其它P11~P13输出高电平,此时读取列线的数据全为高电平,说明没有在第一行有键按下;其次,单片机将P11输出低电平,其它P10、P12、P13仍为高电平,此时再来读取列线数据,发现列线读到的数据有低电平,数值为1011(0x0B),如果我们的键盘布局已经确定,那么0x0B就代表S5的值了。
转到S5键功能处理子程序就可以达到目的。
功能分析:4k字节Flash闪速存储器,128字节内部RAM,32个I/O口线,看门狗,两个数据指针,两个16计时器,一个5向量两级中断结构,一个全双工串行通讯口,片内振荡器及时时钟电路,同时A789S51可降至0HZ的静态逻辑操作,并支持两种软件可选的节电工作模式,空闲方式停止工作并紧张其他所有部分工作直到下一个硬件复位。
如果给P3一个扫描初值的话:如0x0F ,则没有键按下时为:P3.1~P3.3为1,P3.4~P3.7为0。
如果有键按下,则情况发生变化:高电平接入低电平:如P3.3与P3.7连接的键按下,则P3.3与P3.7为0,即接地了。
则P3此时为:0000 0111,这时如果用P3&0x0F,则高四位为0,低四位保留,可以得到低四位的内容了。
通过去抖操作,即一个delay,可以得到低四位内容。
这里设为:h=P3&0x0F;如果再得到高四位内容,则可以组成一个数,来定位哪个键了。
当赋值后,如果有键按下的话,P3高四位不会全为1111,被拉到0了。
如P3.3与P3.7连接的键按下,则P3.3与P3.7为0,即接地了。
即:0111 0111,&F0之后,得到0111 0000,这样的话,我们得到高四位的值了,用高四位+低四位,就可以得到一个数值,确定一个键。
其扫描输出端口Pm.x不是直接与输入端口Pn.y交叉的,而是经过用于数码显示位驱动的反相组件后再与入端口Pn.y交叉的。
为此,其扫描输出有效端口不是低电平了,而是输出高电平经反相组件后再成为低电平,通过按键同样将与之交叉的输入端口线拉低。
所以,在查询输入端口时与图2所示的是相同的,而在查询扫描输出有效端口时与图2的就有所不同了。
为保证键每闭合一次MCU 只作一次处理,每一次键解读后都将置键解读标志位为逻辑对于键解读标志位的置位,可以在每一个键解释处理完毕后进行,也可在消抖动延时后就进行一次总置。
不管键有多少个,键解读标志位用的却是同一个。
其实,引入了键解读标志位,不只是控制键每闭合一次MCU只作一次处理,还可对那些持久按着的键有控地进行多次处理(如用于对一些数据递进、或递减的连续设置等)。
需要的键数比较多时,采用矩阵法来做键盘是合理的。
矩阵式结构的键盘显然比直接法要复杂一些,识别也要复杂一些,上图中,列线通过电阻接正电源,并将行线所接的单片机的I/O口作为输出端,而列线所接的I/O口则作为输入。
这样,当按键没有按下时,所有的输出端都是高电平,代表无键按下。
行线输出是低电平,一旦有键按下,则输入线就会被拉低,这样,通过读入输入线的状态就可得知是否有键按下了。
具体的识别及编程方法如下所述。
矩阵式键盘的按键识别方法:确定矩阵式键盘上何键被按下介绍一种“行扫描法”。
行扫描法行扫描法又称为逐行(或列)扫描查询法,是一种最常用的按键识别方法,如上图所示键盘,介绍过程如下。
判断键盘中有无键按下将全部行线Y0-Y3置低电平,然后检测列线的状态。
只要有一列的电平为低,则表示键盘中有键被按下,而且闭合的键位于低电平线与4根行线相交叉的4个按键之中。
若所有列线均为高电平,则键盘中无键按下。
判断闭合键所在的位置在确认有键按下后,即可进入确定具体闭合键的过程。
其方法是:依次将行线置为低电平,即在置某根行线为低电平时,其它线为高电平。
在确定某根行线位置为低电平后,再逐行检测各列线的电平状态。
若某列为低,则该列线与置为低电平的行线交叉处的按键就是闭合的按键。
第二章系统的原理及分析用单片机的并行口P3连接4×4矩阵键盘,并以单片机的P1.0-P1.3各管脚作输入线,以单片机的P1.4-P1.7各管脚作输出线,在数码管上显示每个按键“0-F”的序号。
矩阵键盘又称为行列式键盘,它是用4条I/O线作为行线,4条I/O线作为列线组成的键盘。
在行线和列线的每一个交叉点上,设置一个按键。
这样键盘中按键的个数是4×4个。
这种行列式键盘结构能够有效地提高单片机系统中I/O口的利用率。
在矩阵式键盘中,每条水平线和垂直线在交叉处不直接连通,而是通过一个按键加以连接。
这样,一个端口(如P1口)就可以构成4*4=16个按键,比之直接将端口线用于键盘多出了一倍,而且线数越多,区别越明显,比如再多加一条线就可以构成20键的键盘,而直接用端口线则只能多出一键(9键)。
数码管不同位显示的时间间隔可以通过调整延时程序的延时长短来完成。
数码管显示的时间间隔也能够确定数码管显示时的亮度,若显示的时间间隔长,显示时数码管的亮度将亮些,若显示的时间间隔短,显示时数码管的亮度将暗些。
若显示的时间间隔过长的话,数码管显示时将产生闪烁现象。
所以,在调整显示的时间间隔时,即要考虑到显示时数码管的亮度,又要数码管显示时不产生闪烁现象。
矩阵键盘驱动的主要作用就是实时监测外部按键中断,一旦发现外部有键按下就向内核发送键盘消息实现键盘输入功能。
键盘驱动创建了中断服务线程和4个键盘中断事件,每行按键对应一个键盘中断事件。
有键被按下时,中断服务例程得到对应的中断标识符并报告给系统任务调度进程,同时产生键盘中断事件,键盘中断服务线程响应键盘中断事件,开始扫描矩阵键盘。
根据产生的中断事件类型不同,可以首先确定被按下键的行位置。