在矩阵键盘中,行和列线分别连接到按键开关的两端,并且行线通过上拉电阻器连接到+ 5V。当没有按键时,行线处于高电平;当按下键时,行和列线将打开。此时,行线的电平将由连接到行线的列线的电平确定。这是识别是否按下矩阵按钮的关键。但是,矩阵键盘中的行和列线连接到多个键。是否按下每个键都会影响该键所在行和列的水平。每个键将相互影响。因此,必须更改行线。组合对准信号以进行适当处理,以确定闭合钥匙的位置。当按下扫描方法按钮时,连接到该键的行线和列线将打开,并且当不按下任何键时,行线将处于高电平。显然,如果所有列线也都处于高电平,则无论是否按下该键都不会引起行线电平的改变,因此,所有列线都必须处于低电平。只有这样,当按下某个键时,该键的行级别才会从高电平变为低电平。根据线路级别的变化,CPU可以确定相应的线路已按下键。按下数字键时,第二行必须为低电平,第八行必须为低电平。但是,当第二行为低电平时,可以确定按下了第8个键吗?答案是否定的,因为按9、10、11号键还会使第二行变低。为了进一步确定特定键,不可能同时使所有列线处于低电平。在特定时间,只能有一个列线处于低电平,而其余的列线处于高电平。在另一时间,让Next列处于较低级别并按顺序循环。一次顺序选通一列的这种工作模式称为键盘扫描。
行反转方法?步骤1:使用列线P1.4〜P1.7作为输入线,行线P1.3〜P1.0作为输出线,输出输出线均为低电平,读取列线的状态,则级别低的列线是按钮所在的列。 ?步骤2:将行线用作输入线,将列线用作输出线,并将输出线输出为低电平。读取行线的状态,级别低的行线是按钮所在的行。 ?结合两个步骤1、2的结果,可以确定键的行和列,并可以确定所按下的键。键盘编码1.独立键盘的按键数量很少,可以根据实际需要灵活编码。2.矩阵键盘按键的位置由行号和列号唯一确定,因此行号和列号可以分别进行二进制编码,然后将两个值合并为一个字节,高4位位是行号,低4位是列号。程序扫描模式程序扫描模式使用CPU的空闲时间来完成其他任务,并调用键盘扫描子例程来响应键盘输入要求。执行按键功能程序时,CPU不再响应按键输入请求,直到CPU再次扫描键盘。键盘扫描程序通常应包括以下内容:(1)区分是否按下了一个键。(2)键盘扫描来获取关闭键的行和列值。(3)使用计算或表查找来获取键值。[[K12]判断是否已释放闭合键,如果未释放,则继续等待。[5)保存闭合键号,并同时转移以执行闭合键的功能。

定时扫描模式定时扫描模式是每隔一段时间扫描键盘。它使用微控制器的内部计时器来生成特定时间(例如10ms)的时序。计时到时,将产生定时器溢出中断,CPU对该中断作出响应。然后扫描键盘并在按下该键时识别该键,然后执行该键的功能程序。中断扫描模式当不按任何键时,CPU会处理自己的工作。当按下一个键时,会产生一个中断请求,并且CPU执行键盘扫描子例程并识别键号。中断扫描模式可以提高CPU效率。

本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/bofangqi/article-352287-1.html
一切爱好和平与尊重他国领土主权的国家
让她为了求全三天打五次飞机