一种矩阵式键盘扫描及编码方法技术

技术编号:18939573 阅读:150 留言:0更新日期:2018-09-15 10:52
一种矩阵式键盘扫描及编码方法,包括有X行、Y列的矩阵式键盘输出N位键盘状态信号,所述N=X+Y;扫描脉冲对N位键盘状态信号进行数据锁存与选择,得到现态键值与前态键值;时钟脉冲对现态键值与前态键值进行状态锁存,得到2×N位的状态码;对状态码进行编码并输出键号,由矩阵式键盘、第一缓冲寄存器、第二缓冲寄存器、状态码寄存器、编码器、数据选择单元组成的电路实现。所述方法如果需要增减按键操作功能或者是调整按键操作功能,不需要修改电路结构,只需根据增减后的状态码与键号之间的对应关系更改编码器的内容即可。所述方法不用编写和运行程序,工作可靠。

A matrix keyboard scanning and encoding method

A matrix keyboard scanning and encoding method comprises a matrix keyboard with X-row and Y-column outputting N-bit keyboard status signals, which are N=X+Y; a scanning pulse latches and selects the N-bit keyboard status signals to obtain the current key values and the forward key values; and a clock pulse latches the current key values and the forward key values to obtain the current key values. To 2 *N bit state code; to encode the state code and output the key number, by the matrix keyboard, the first buffer register, the second buffer register, the state code register, encoder, data selection unit composed of circuit implementation. If the method needs to add or subtract the key operation function or adjust the key operation function, it does not need to modify the circuit structure, but only needs to change the encoder content according to the corresponding relationship between the state code and the key number after adding or subtracting. The method does not need to write and run programs, and is reliable.

【技术实现步骤摘要】
一种矩阵式键盘扫描及编码方法本专利技术专利申请为分案申请,原案申请号为201610003604.0,申请日为2016年1月5日,专利技术名称为矩阵式键盘扫描及编码电路。
本专利技术涉及一种键盘的扫描编码方法,尤其是一种矩阵式键盘扫描及编码方法。
技术介绍
随着嵌入式技术的不断发展,当前各类电子产品普遍采用微控制器作为控制核心,键盘作为主要的输入设备,得到了广泛的应用。目前的键盘扫描主要由微控制器所控制,需要通过运行微控制器中的程序来进行,遇到干扰,造成程序飞跑,扫描程序将不能正常工作。申请号为CN201010153560.2的专利技术专利“一种矩阵键盘的快速扫描定位方法”采用键盘中断触发的方式进入键盘的扫描定位过程,采用多次重复键盘扫描步骤的方法判断按键是否有效,并对所获得的键值进行状态判断;如果多次采样状态相同,则处于稳定状态,键值有效;如果多次采样状态不同,键值无效。单键操作或组合键操作需要单独判断,如是单键操作,则进入单键处理模式;如是组合键操作,则进入组合键处理模式。该专利所述方法解决了由于键盘自身的机械特性造成的键盘抖动而引起错键、连续触键等错误问题,以及对组合键和重复按键的支持问题。但所述方法单键操作与组合键操作需要分别处理;没有考虑键盘状态维持一段时间到后才执行有效操作的键盘操作功能;增减按键操作功能或者是调整按键操作功能时,需要修改键盘扫描定位程序结构。
技术实现思路
为了解决现有键盘扫描定位方法存在的上述技术问题,本专利技术提供了一种矩阵式键盘扫描及编码方法,包括有X行-Y列按键矩阵的矩阵式键盘输出N位键盘状态信号,所述N=X+Y;扫描脉冲对N位键盘状态信号进行数据锁存与选择,得到现态键值与前态键值;时钟脉冲对现态键值与前态键值进行状态锁存,得到2×N位的状态码;对状态码进行编码并输出键号。所述扫描脉冲对N位键盘状态信号进行数据锁存与选择,得到现态键值与前态键值的方法是,扫描脉冲的高、低电平控制2个缓冲寄存器的输出端交替输出现态键值与前态键值;扫描脉冲的高、低电平对2个缓冲寄存器的输出端交替输出现态键值与前态键值进行数据选择排序与组合,保持现态键值在前、前态键值在后的顺序;或者是,扫描脉冲的高、低电平对2个缓冲寄存器的输出端交替输出现态键值与前态键值进行数据选择排序与组合,保持现态键值在后、前态键值在前的顺序。所述状态码由有效状态码和无效状态码组成,用于识别矩阵式键盘的当前状态和操作状态;所述键号由有效键号和无效键号组成;所述有效状态码由有效键盘操作或状态产生,对应输出相应的有效键号;所述无效状态码由无效键盘操作或状态产生,对应输出无效键号;所述键号为M位,M值的选择应满足2M大于等于有效键号与无效键号的数量之和。所述有效键盘操作包括单键按下操作、单键释放操作、单键按下维持操作、组合键操作;所述组合键操作是指单键按下后,再按下其他按键的操作;所述无效键盘操作为有效键盘操作之外的操作。所述对状态码进行编码并输出键号由编码器实现。进一步地,所述编码器为只读存储器;通过修改只读存储器的存储内容增减按键操作功能或者是调整按键操作功能。所述扫描脉冲对N位键盘状态信号进行数据锁存与选择,得到现态键值与前态键值由第一缓冲寄存器、第二缓冲寄存器、数据选择单元实现。所述第一缓冲寄存器和第二缓冲寄存器均为N位二进制寄存器;所述第一缓冲寄存器的N位数据输入端依次连接至N位键盘状态信号输出端,第二缓冲寄存器的N位数据输入端依次连接至N位键盘状态信号输出端,第一缓冲寄存器和第二缓冲寄存器的接收脉冲输入端均连接至扫描脉冲;扫描脉冲的高、低电平控制第一缓冲寄存器、第二缓冲寄存器的N位数据输出端交替输出现态键值与前态键值。所述数据选择单元设有第一路N位数据输入端、第二路N位数据输入端和2×N位数据输出端;所述第一路N位数据输入端依次连接至第一缓冲寄存器的N位数据输出端,第二路N位数据输入端依次连接至第二缓冲寄存器的N位数据输出端。所述数据选择单元还设有数据选择信号端;所述数据选择信号端连接至扫描脉冲。数据选择单元的2×N位数据输出中,所述扫描脉冲为低电平时,第一路N位数据在前,第二路N位数据在后;所述扫描脉冲为高电平时,第一路N位数据在后,第二路N位数据在前;或者是,数据选择单元的2×N位数据输出中,所述扫描脉冲为低电平时,第一路N位数据在后,第二路N位数据在前;所述扫描脉冲为高电平时,第一路N位数据在前,第二路N位数据在后。数据选择单元的输出能够保持在现态键值在前、前态键值在后的顺序固定不变,或者是保持在现态键值在后、前态键值在前的顺序固定不变。所述时钟脉冲对现态键值与前态键值进行状态锁存,得到2×N位的状态码由状态码寄存器实现。所述状态码寄存器为2×N位二进制寄存器;状态码寄存器的2×N位数据输入端连接至数据选择单元的2×N位数据输出端,接收脉冲输入端连接至时钟脉冲;状态码寄存器在时钟脉冲的状态锁存沿进行数据锁存;所述时钟脉冲的状态锁存沿为时钟脉冲的上升沿;所述时钟脉冲的状态锁存沿或者为时钟脉冲的下降沿。扫描脉冲为时钟脉冲的二分频信号;时钟脉冲中,控制扫描脉冲翻转的有效触发边沿称为状态扫描沿,另外一个边沿为状态锁存沿。所述矩阵式键盘的X根行线与Y根列线均接有上拉电阻,由取样脉冲控制X根行线与Y根列线交替处于低电平状态;将X根行线处于低电平时的Y根列线状态锁存得到Y位列状态信号,Y根列线处于低电平时的X根行线状态锁存得到X位行状态信号;X位行状态信号和Y位列状态信号共同组成N位键盘状态信号。所述由取样脉冲控制X根行线与Y根列线交替处于低电平状态由行三态缓冲器、列三态缓冲器实现;所有按键矩阵的行线分别连接至行三态缓冲器的输出端,所有按键矩阵的列线分别连接至列三态缓冲器的输出端;行三态缓冲器和列三态缓冲器的所有输入端连接至低电平;行三态缓冲器在取样脉冲的低电平使能有效、列三态缓冲器在取样脉冲的高电平使能有效,或者是,行三态缓冲器在取样脉冲的电高平使能有效、列三态缓冲器在取样脉冲的低电平使能有效;所述将X根行线处于低电平时的Y根列线状态锁存得到Y位列状态信号,Y根列线处于低电平时的X根行线状态锁存得到X位行状态信号由行状态寄存器、列状态寄存器实现;所有按键矩阵的行线分别连接至行状态寄存器的输入端,所有按键矩阵的列线分别连接至列状态寄存器的输入端;行三态缓冲器在取样脉冲的低电平使能有效、列三态缓冲器在取样脉冲的高电平使能有效时,列状态寄存器在取样脉冲的上升沿进行数据锁存,行状态寄存器在取样脉冲的下降沿进行数据锁存;行三态缓冲器在取样脉冲的电高平使能有效、列三态缓冲器在取样脉冲的低电平使能有效时,列状态寄存器在取样脉冲的下降沿进行数据锁存,行状态寄存器在取样脉冲的上升沿进行数据锁存。所述的N位、2×N位、M位均指二进制位数据。所述时钟脉冲的周期为20~100ms;所述扫描脉冲为时钟脉冲的二分频信号;所述取样脉冲的周期不大于所述时钟脉冲的周期,其特例是同时将时钟脉冲作为取样脉冲。矩阵式键盘扫描及编码方法由矩阵式键盘扫描及编码电路实现。所述矩阵式键盘、第一缓冲寄存器、第二缓冲寄存器、数据选择单元、编码器组成矩阵式键盘扫描及编码电路。进一步地,当输出的键号发生改变时,输出键盘状态变化脉冲。所述矩阵式键盘扫描及编码电路还包括键盘状态变化脉冲本文档来自技高网...

【技术保护点】
1.一种矩阵式键盘扫描及编码方法,其特征在于:包括有X行‑Y列按键矩阵的矩阵式键盘输出N位键盘状态信号,所述N=X+Y;扫描脉冲对N位键盘状态信号进行数据锁存与选择,得到现态键值与前态键值;时钟脉冲对现态键值与前态键值进行状态锁存,得到2×N位的状态码;对状态码进行编码并输出键号;所述位为二进制位。

【技术特征摘要】
1.一种矩阵式键盘扫描及编码方法,其特征在于:包括有X行-Y列按键矩阵的矩阵式键盘输出N位键盘状态信号,所述N=X+Y;扫描脉冲对N位键盘状态信号进行数据锁存与选择,得到现态键值与前态键值;时钟脉冲对现态键值与前态键值进行状态锁存,得到2×N位的状态码;对状态码进行编码并输出键号;所述位为二进制位。2.根据权利要求1所述的矩阵式键盘扫描及编码方法,其特征在于:所述扫描脉冲对N位键盘状态信号进行数据锁存与选择,得到现态键值与前态键值的方法是,扫描脉冲的高、低电平控制2个缓冲寄存器的输出端交替输出现态键值与前态键值。3.根据权利要求1所述的矩阵式键盘扫描及编码方法,其特征在于:所述状态码由有效状态码和无效状态码组成,用于识别矩阵式键盘的当前状态和操作状态;所述键号由有效键号和无效键号组成;所述有效状态码由有效键盘操作或状态产生,对应输出相应的有效键号;所述无效状态码由无效键盘操作或状态产生,对应输出无效键号。4.根据权利要求3所述的矩阵式键盘扫描及编码方法,其特征在于:所述有效键盘操作包括单键按下操作、单键释放操作、单键按下维持操作、组合键操作;所述组合键操作是指单键按下后,再按下其他按键的操作;所述无效键盘操作为有效键盘操作之外的操作。5.根据权利要求3所述的矩阵式键盘扫描及编码方法,其特征在于:所述对状态码进行编码并输出键号由编码器实现。6.根据权利要求3所述的矩阵式键盘扫描及编码方法,其特征在于:所述键号为M位,M值的选择应满足2M大于等于有效键号与无效键号的数量之和。7.根据权利要求2-6中任一项所述的矩阵式键盘扫描及编码方法,其特征在于:所述扫描脉冲对N位键盘状态信号进行数据锁存与选择,得到现态键值与前态键值由第一缓冲寄存器、第二缓冲寄存器、数据选择单元实现;所述第一缓冲寄存器和第二缓冲寄存器均为N位二进制寄存器;所述第一缓冲寄存器的N位数据输入端依次连接至N位键盘状态信号输出端,第二缓冲寄存器的N位数据输入端依次连接至N位键盘状态信号输出端,第一缓冲寄存器和第二缓冲寄存器的接收脉冲输入端均连接至扫描脉冲;所述数据选择单元设有第一路N位数据输入端、第二路N位数据输入端和2×N位数据输出端;所述第一路N位数据输入端依次连接至第一缓冲寄存器的N位数据输出端,第二路N位数据输入端依次连接至第二缓冲寄存器的N位数据输出端;所述数据选择单元还设有数据选择信号端;所述数据选择信号端连接至扫描脉冲;数据选择单元的2×N位数据输出...

【专利技术属性】
技术研发人员:孔玲爽凌云肖伸平
申请(专利权)人:湖南工业大学
类型:发明
国别省市:湖南,43

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1