CN105677050A - 独立式键盘扫描电路及扫描编码方法 - Google Patents

独立式键盘扫描电路及扫描编码方法 Download PDF

Info

Publication number
CN105677050A
CN105677050A CN201610003094.7A CN201610003094A CN105677050A CN 105677050 A CN105677050 A CN 105677050A CN 201610003094 A CN201610003094 A CN 201610003094A CN 105677050 A CN105677050 A CN 105677050A
Authority
CN
China
Prior art keywords
pulse
keyboard
shift register
effective
output
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201610003094.7A
Other languages
English (en)
Other versions
CN105677050B (zh
Inventor
王兵
凌云
郭艳杰
文定都
曾红兵
陈刚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hunan University of Technology
Original Assignee
Hunan University of Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hunan University of Technology filed Critical Hunan University of Technology
Priority to CN201610003094.7A priority Critical patent/CN105677050B/zh
Publication of CN105677050A publication Critical patent/CN105677050A/zh
Application granted granted Critical
Publication of CN105677050B publication Critical patent/CN105677050B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/02Input arrangements using manually operated switches, e.g. using keyboards or dials
    • G06F3/0202Constructional details or processes of manufacture of the input device

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Input From Keyboards Or The Like (AREA)

Abstract

一种独立式键盘扫描电路,由独立式键盘、第一移位寄存器、第二移位寄存器、状态码寄存器、编码器组成。所述扫描电路的扫描编码方法是,扫描电路经由满足特定时序要求的扫描脉冲、移位脉冲的控制,扫描单键操作、组合键操作及独立式键盘维持的状态,并转换成同一二进制长度的有效状态码和无效状态码,经过编码电路编码后输出与每一个有效状态码对应的有效键号或者是输出与所有无效状态码对应的无效键号;不同的单键操作、组合键操作及独立式键盘维持的状态仅体现在状态码的不同上;如果需要增减按键操作功能或者是调整按键操作功能,不需要修改键盘扫描电路结构,只需根据增减后的状态码与键号之间的对应关系更改编码器即可。所述发明电路不用编写和运行程序,工作可靠。

Description

独立式键盘扫描电路及扫描编码方法
技术领域
本发明涉及一种键盘的扫描电路,尤其是一种独立式键盘扫描电路及扫描编码方法。
背景技术
随着嵌入式技术的不断发展,当前各类电子产品普遍采用微控制器作为控制核心,键盘作为主要的输入设备,得到了广泛的应用。
目前的键盘扫描主要由微控制器所控制,需要通过运行微控制器中的程序来进行,遇到干扰,造成程序飞跑,扫描程序将不能正常工作。
申请号为CN201010153560.2的发明专利“一种矩阵键盘的快速扫描定位方法”采用键盘中断触发的方式进入键盘的扫描定位过程,采用多次重复键盘扫描步骤的方法判断按键是否有效,并对所获得的键值进行状态判断;如果多次采样状态相同,则处于稳定状态,键值有效;如果多次采样状态不同,键值无效。单键操作或组合键操作需要单独判断,如是单键操作,则进入单键处理模式;如是组合键操作,则进入组合键处理模式。该专利所述方法解决了由于键盘自身的机械特性造成的键盘抖动而引起错键、连续触键等错误问题,以及对组合键和重复按键的支持问题。但所述方法单键操作与组合键操作需要分别处理;没有考虑键盘状态维持一段时间到后才执行有效操作的键盘操作功能;增减按键操作功能或者是调整按键操作功能时,需要修改键盘扫描定位程序结构。
发明内容
为了解决现有键盘扫描定位方法存在的上述技术问题,本发明提供了一种独立式键盘扫描电路及扫描编码方法,所述扫描电路由独立式键盘、第一移位寄存器、第二移位寄存器、状态码寄存器、编码器组成。
所述独立式键盘扫描电路由扫描脉冲、移位脉冲进行同步控制。
所述独立式键盘共有N个按键,设有N位键盘状态信号输出端;所述N位键盘状态信号为电平信号。
所述第一移位寄存器具有N位并行输入、N位并行输出和串行输出功能;所述第二移位寄存器具有串行输入、N位并行输出功能。
所述第一移位寄存器的N位并行输入端连接至N位键盘状态信号输出端;第二移位寄存器的串行输入端连接至第一移位寄存器的串行输出端;第一移位寄存器、第二移位寄存器的移位脉冲输入端均连接至移位脉冲,第一移位寄存器的预置脉冲输入端连接至扫描脉冲。所述第一移位寄存器的预置脉冲用于对第一移位寄存器的N位并行输入数据进行输入锁存。
所述状态码寄存器为2×N位二进制寄存器;状态码寄存器中的N位数据输入端连接至第一移位寄存器的N位并行输出端,另外N位数据输入端连接至第二移位寄存器的N位并行输出端;所述状态码寄存器的接收脉冲输入端连接至扫描脉冲。
所述编码器有2×N位编码输入端,所述2×N位编码输入端连接至状态码寄存器的2×N位数据输出端。
所述扫描脉冲、移位脉冲的时序满足以下要求:扫描脉冲为移位脉冲的N分频信号,且为正窄脉冲或者负窄脉冲。
所述扫描脉冲的周期为20~100ms。
所述第一移位寄存器、第二移位寄存器同时在移位脉冲的上升沿移位,扫描脉冲的正窄脉冲或者负窄脉冲处于前后两个移位脉冲的上升沿之间;或者是,第一移位寄存器、第二移位寄存器同时在移位脉冲的下降沿移位,扫描脉冲的正窄脉冲或者负窄脉冲处于前后两个移位脉冲的下降沿之间。
所述第一移位寄存器的预置脉冲为边沿有效且扫描脉冲为正窄脉冲时,要求第一移位寄存器的预置脉冲为上升沿有效,状态码寄存器的接收脉冲为下降沿有效;所述第一移位寄存器的预置脉冲为边沿有效且扫描脉冲为负窄脉冲时,要求第一移位寄存器的预置脉冲为下降沿有效,状态码寄存器的接收脉冲为上升沿有效;所述第一移位寄存器的预置脉冲为高电平有效时,要求扫描脉冲为正窄脉冲,状态码寄存器的接收脉冲为下降沿有效;所述第一移位寄存器的预置脉冲为低电平有效时,要求扫描脉冲为负窄脉冲,状态码寄存器的接收脉冲为上升沿有效。
所述编码器为只读存储器。
所述状态码寄存器的2×N位数据输出端输出2×N位的状态码;所述状态码由有效状态码和无效状态码组成;所述编码器输出的键号由有效键号和无效键号组成;所述有效状态码由有效键盘操作或状态产生,编码器输入每一个有效状态码时对应输出相应的有效键号;所述无效状态码由无效键盘操作或状态产生,编码器输入所有无效状态码时都对应输出无效键号。
所述编码器有M位键号输出端,M值的选择应满足2M大于等于有效键号与无效键号的数量之和。
所述独立式键盘扫描电路还包括键盘状态变化脉冲产生单元,用于判断独立式键盘输出的键号是否发生改变,当独立式键盘输出的键号发生改变时,输出键盘状态变化脉冲。
所述键盘状态变化脉冲产生单元由M位延迟缓冲器、M个异或门和或门组成;M位延迟缓冲器用于对独立式键盘输出的M位键号分别进行信号延迟;M个异或门的输入分别为M位延迟缓冲器的输入、输出信号;M个异或门的输出分别连接至或门的输入端;或门的输出端输出键盘状态变化脉冲。
所述N位键盘状态信号与N个按键之间满足一一对应关系。
所述的N位、2×N位、M位均指二进制位数据。
本发明的有益效果是:将对单键操作、组合键操作、键盘维持状态的扫描定位,由满足特定时序要求的扫描脉冲、移位脉冲控制转换成同一二进制长度的状态码,采用统一编码的方式进行处理,单键操作、组合键操作、键盘维持状态操作仅体现在状态码的不同上;如果需要增减按键操作功能或者是调整按键操作功能,不需要修改键盘扫描电路结构,只需根据增减后的状态码与键号之间的对应关系更改编码器、即重新写入只读存储器的存储内容即可。所述发明电路没有使用单片机、ARM等微控制器,不用运行程序,工作可靠。
附图说明
图1是独立式键盘扫描电路原理框图;
图2是本发明实施例的独立式键盘电路图;
图3是本发明实施例的扫描编码电路图;
图4是本发明实施例的第一移位寄存器电路图;
图5是本发明实施例的脉冲时序图;
图6是本发明实施例的脉冲电路原理图;
图7是本发明实施例的键盘状态变化脉冲产生单元的电路图;
图8是本发明实施例的键盘有效操作的相关波形示意图。
具体实施方式
以下结合附图对本发明作进一步说明。
图1是独立式键盘扫描电路原理框图,由独立式键盘400、第一移位寄存器100、第二移位寄存器200、状态码寄存器500、编码器300组成。
图2是本发明实施例的独立式键盘400的电路图,共有4个按键,由按键S1、按键S2、按键S3、按键S4和连接至电源+VCC的上拉电阻R1、上拉电阻R2、上拉电阻R3、上拉电阻R4组成。独立式键盘400的4个输出端分别一一对应输出按键S1、按键S2、按键S3、按键S4的状态信号I1、I2、I3、I4,按键按下时,相应输出端的状态信号为低电平;按键未按下时,相应输出端的状态信号为高电平。
图1中的第一移位寄存器100、第二移位寄存器200、状态码寄存器500、编码器300组成扫描编码电路,其实施例电路图如图3所示。实施例独立式键盘电路输出的状态信号有4位,因此,第一移位寄存器100、第二移位寄存器200都为4位二进制移位寄存器,其中,第一移位寄存器100具有并行输入、并行输出和串行输出功能,第二移位寄存器200具有串行输入、并行输出功能;第一移位寄存器100的4个并行输入端L0~L3依次连接至I1、I2、I3、I4,第二移位寄存器200的串行输入端D2连接至第一移位寄存器100的串行输出端Q13。第一移位寄存器100、第二移位寄存器200的移位脉冲输入端CLK1、CLK2均连接至移位脉冲CP2,第一移位寄存器100的预置脉冲输入端CLK0连接至扫描脉冲CP1。
状态码寄存器500要求寄存8位二进制数据,其8位数据输入端D57~D50中的4位连接至第一移位寄存器100的并行输出端Q13~Q10,另外4位连接至第二移位寄存器200的并行输出端Q23~Q20;实施例中,D57~D54连接至Q23~Q20,D53~D50连接至Q13~Q10。状态码寄存器500的接收脉冲输入端CLK5连接至扫描脉冲CP1。
编码器300的8个输入端A7~A0连接至状态码寄存器500的8个数据输出端Q57~Q50。编码器300输出经过扫描编码确定的4位二进制键号。
图3实施例中,第二移位寄存器200可以选择由各种中规模集成移位寄存器组成,或者由边沿触发器组成;由边沿触发器组成第二移位寄存器200时,优选由边沿触发的D触发器组成。状态码寄存器500由边沿触发器组成,优选由边沿触发的D触发器组成,例如,选择双D触发器CD4013,或者4D触发器74HC175,或者8D触发器74HC273组成。
图4是本发明实施例的第一移位寄存器100的电路图,由4个置位、复位功能均高电平有效的D触发器101~104、8个或非门105~112组成。实施例中,D触发器101~104选择双D触发器CD4013,其触发脉冲上升沿有效。扫描脉冲CP1通过8个或非门105~112控制D触发器101~104的置位、复位功能。以D触发器101为例,扫描脉冲CP1为高电平时,或非门105、或非门106输出低电平,D触发器101的置位、复位功能无效;扫描脉冲CP1为低电平且L0=0时,或非门105的输出为或非门106的输出为L0,即D触发器101的置位功能无效、复位功能有效,使Q10=0;扫描脉冲CP1为低电平且L0=1时,或非门105的输出为或非门106的输出为L0,即D触发器101的置位功能有效、复位功能无效,使Q10=1。D触发器102~104的工作原理与D触发器101一样,当扫描脉冲CP1为低电平时,Q10=L0,Q11=L1,Q12=L2,Q13=L3;当扫描脉冲CP1为高电平时,由于D触发器101~104的触发脉冲输入端CLK10、CLK11、CLK12、CLK13均连接至CP2,因此,在每个移位脉冲CP2的上升沿,第一移位寄存器100移一次位,即Q13=Q12,Q12=Q11,Q11=Q10,Q10=0。
图3实施例中,编码器300为只读存储器。只读存储器的地址输入端A7~A0为编码器300的输入端,只读存储器的数据输出端D3~D0为编码器300的编码输出端C3~C0。
独立式键盘扫描电路的扫描编码方法及工作原理如下:
扫描编码电路在扫描脉冲CP1、移位脉冲CP2的控制下工作,相关的脉冲时序如图5所示。
实施例中CP1、CP2的时序满足以下要求:扫描脉冲CP1为移位脉冲CP2的4分频信号,且为正窄脉冲或者负窄脉冲并处于移位脉冲CP2控制的前后二次移位动作之间。独立式键盘电路输出的状态信号为N位时,扫描脉冲CP1为移位脉冲CP2的N分频信号。
图6是本发明实施例的脉冲电路原理图,由振荡器801、分频器802、单稳态发生器803组成。图5中的CP2脉冲由振荡器产生,CP2送至分频器802进行4分频,分频器802的输出送至单稳态发生器803的输入,单稳态发生器803输出CP1脉冲。
振荡器801为多谐振荡器。扫描脉冲CP1的周期为20~100ms。CP1、CP2也可以由独立式键盘扫描电路之外的电路或者装置提供。
第一移位寄存器100在扫描脉冲CP1的控制下,对独立式键盘400输出的状态信号I1、I2、I3、I4进行数据锁存,此时第一移位寄存器100的输出称为现态键值;第二移位寄存器200在上一周期经由4个CP2脉冲的控制,将上一周期扫描脉冲CP1锁存至第一移位寄存器100的输出移位到第二移位寄存器200输出端,因此,此时第二移位寄存器200的输出称为前态键值。
扫描脉冲CP1将第一移位寄存器100输出的现态键值、第二移位寄存器200输出的前态键值锁存在状态码寄存器500的输出端,状态码寄存器500的输出同样为前态键值与现态键值。
第一移位寄存器100、第二移位寄存器200的移位在移位脉冲CP2的同一边沿进行。实施例中,第一移位寄存器100、第二移位寄存器200同时在移位脉冲CP2的上升沿移位。
扫描脉冲CP1为正窄脉冲时,其上升沿为前沿,下降沿为后沿;扫描脉冲CP1为负窄脉冲时,其下降沿为前沿,上升沿为后沿。
第一移位寄存器100、第二移位寄存器200同时在移位脉冲CP2的上升沿移位时,扫描脉冲CP1的前沿与后沿处于前后两个移位脉冲CP2的上升沿之间,如图5所示,扫描脉冲CP1为负窄脉冲,CP1的每个负窄脉冲的前沿(下降沿)处于移位脉冲CP2的下降沿处,该负窄脉冲的后沿(上升沿)由单稳态发生器803控制,处于下一个移位脉冲CP2上升沿的前面,控制扫描脉冲CP1的前沿与后沿处在前后两个移位脉冲CP2的上升沿之间;第一移位寄存器100、第二移位寄存器200同时在移位脉冲CP2的下降沿移位时,扫描脉冲CP1的前沿与后沿处于前后两个移位脉冲CP2的下降沿之间。
第一移位寄存器100的预置脉冲为边沿有效且扫描脉冲CP1为正窄脉冲时,要求第一移位寄存器100的预置脉冲为上升沿有效,状态码寄存器500的接收脉冲为下降沿有效;第一移位寄存器100的预置脉冲为边沿有效且扫描脉冲CP1为负窄脉冲时,要求第一移位寄存器100的预置脉冲为下降沿有效,状态码寄存器500的接收脉冲为上升沿有效。第一移位寄存器100的预置脉冲为高电平有效时,要求扫描脉冲CP1为正窄脉冲,状态码寄存器500的接收脉冲为下降沿有效;第一移位寄存器100的预置脉冲为低电平有效时,要求扫描脉冲CP1为负窄脉冲,状态码寄存器500的接收脉冲为上升沿有效。实施例中,第一移位寄存器100的预置脉冲为低电平有效,所以扫描脉冲CP1为负窄脉冲,状态码寄存器500的接收脉冲为上升沿有效。
实施例中,状态码寄存器500数据输出端输出的4位现态键值和4位前态键值共同组成8位状态码。所述的8位状态码用于识别独立式键盘的当前状态和操作状态。例如,本实施例中,无键按下的状态码是11111111;S1键单键按下操作的状态码是11111110;S1键单键按下且维持的状态码是11101110;S1键单键释放操作的状态码是11101111;S2键单键按下操作的状态码是11111101;S4键单键按下操作的状态码是11110111;S2+S1组合操作的S1按下操作,表示先按下S2后,在S2维持按下的状态再按下S1的操作,该操作的状态码是11011100。
编码器300用于将状态码转换为键号。实施例中,设有7个有效的键盘操作与状态,包括:
操作0:按键S1的单键按下操作,键号为0000;
操作1:按键S2的单键按下操作,键号为0001;
操作2:按键S3的单键按下操作,键号为0010;
操作3:按键S3单键按下后的维持状态,键号为0011;
操作4:按键S4单键按下后,再按下按键S1的组合键操作,键号为0100;
操作5:按键S4单键按下后,再按下按键S2的组合键操作,键号为0101;
操作6:按键S1的单键释放操作,键号为0110。
根据上述规定得到的状态码和键号见编码表1:
表1编码表
键盘操作 状态码(地址) 键号(存储数据)
S1单键按下 11111110 0000
S2单键按下 11111101 0001
S3单键按下 11111011 0010
S3单键按下维持 10111011 0011
S4+S1组合操作 01110110 0100
S4+S2组合操作 01110101 0101
S1单键释放 11101111 0110
其他操作或状态 ******** 1111
编码器300为组合逻辑电路,设计的编码电路满足表1的逻辑关系即可。
实施例的编码器300优选由只读存储器组成。所选只读存储器有8位地址,共28个4位二进制存储单元。7个有效的键盘操作与状态有7个有效状态码,对应7个有效的键号;将状态码作为只读存储器的地址A7~A0,在与7个有效状态码相对应的存储单元中,将相应的键号作为存储数据写入。7个有效的键盘操作与状态之外产生的状态码为无效状态码,即表1中的其他操作或状态所产生的为无效状态码;在其他存储单元中,全部写入无效键号,无效键号为7个有效键号之外的一个值,实施例中,无效键号为1111。
只读存储器一直工作在数据输出状态。当只读存储器具有片选控制、数据输出缓冲控制功能时,应使其片选控制、数据输出缓冲控制处于有效状态。
实施例中的键号为4位二进制码。键号的二进制位数可以根据需要增加,或者减少,此时,只需选择与此相匹配的只读存储器即可。设键号的二进制位数为M,M值的选择应满足2M大于等于有效键号与无效键号的数量之和。当独立式键盘有N位键盘状态信号输出时,只读存储器301需要有2×N位地址输入,M位数据输出。
如果需要增减按键操作功能或者是调整按键操作功能,只需根据需要修改表1,将修改后的内容重新写入只读存储器的存储内容即可。
将状态码寄存器500进行数据锁存的时刻的扫描脉冲CP1的边沿称为状态锁存沿,实施例中为CP1的上升沿。实施例中,当独立式键盘S1单键按下时,编码器300在S1单键按下,经过CP1预置、锁存后,从CP1的状态锁存沿开始,至下一个CP1的状态锁存沿为止,编码输出端C3~C0输出键号0000;当独立式键盘S2单键按下时,编码器300在S2单键按下,经过CP1预置、锁存后,从CP1的状态锁存沿开始,至下一个CP1的状态锁存沿为止,输出键号0001;当独立式键盘先按下S4后,再按下S1,编码器300在S1组合键按下,经过CP1预置、锁存后,从CP1的状态锁存沿开始,至下一个CP1的状态锁存沿为止,输出键号0100;当独立式键盘先按下S4后,再按下S2,编码器300在S2组合键按下,经过CP1预置、锁存后,从CP1的状态锁存沿开始,至下一个CP1的状态锁存沿为止,输出键号0101;当独立式键盘S1单键释放时,编码器300在S1单键释放,经过CP1预置、锁存后,从CP1的状态锁存沿开始,至下一个CP1的状态锁存沿为止,输出键号0110;因此可以看出,当识别的是独立式键盘的有效按键操作时,编码器300在该有效按键操作后的CP1的状态锁存沿开始,至下一个CP1的状态锁存沿为止,输出持续时间为一个CP1周期宽度的有效键号。
实施例中,当独立式键盘S3单键按下时,编码器300在S3单键按下,经过CP1预置、锁存后,从CP1的状态锁存沿开始,至下一个CP1的状态锁存沿为止,输出键号0010;在接下来的CP1的状态锁存沿开始,至S3单键按下维持状态结束,经过CP1预置、锁存后,从CP1的状态锁存沿开始,至下一个CP1的状态锁存沿为止,编码器300输出键号0011;因此可以看出,当识别的是独立式键盘的维持状态时,编码器300输出有效键号的持续时间与该维持状态的持续时间相适应。
当键盘的状态或操作为表1中所述的7个有效的键盘操作与状态之外时,编码器300输出无效键号1111。无论是输出有效键号,还是输出无效键号,编码器300改变输出内容的时刻为CP1的状态锁存沿;实施例中,编码器300改变输出内容的时刻为CP1的上升沿。
CP1的周期为独立式键盘的扫描周期。键盘扫描周期在20ms以上时,能够有效地避开键盘按键抖动的影响;键盘扫描周期在100ms以下时,不至于遗漏键盘操作;因此,CP1的周期应该控制在20~100ms。
图7是本发明实施例的键盘状态变化脉冲产生单元的电路图。当识别的是独立式键盘的有效按键操作时,编码器300在该有效按键操作后的CP1的状态锁存沿开始,至下一个CP1的状态锁存沿为止,输出持续时间为一个CP1周期宽度的有效键号。接收所述独立式键盘输出的装置,需要时刻查询独立式键盘的输出,获取键号。查询的周期间隔必须小于CP1的周期。
图7所示电路用于判断独立式键盘输出的键号是否发生改变,当独立式键盘输出的键号发生改变时,输出键盘状态变化脉冲,用于辅助独立式键盘的接收装置接收独立式键盘输出的键号,例如,将键盘状态变化脉冲作为接收装置的中断请求信号。
图7所示电路由延迟缓冲器601、异或门602、异或门603、异或门604、异或门605、或门606组成。延迟缓冲器601由只具有触发功能的4个边沿触发器组成,4个边沿触发器的触发输入端为延迟缓冲器601的接收脉冲输入端,均连接至CP1;延迟缓冲器601在CP1的状态锁存沿进行数据锁存。
延迟缓冲器601用于对编码器300的编码输出端的4位数据C3~C0分别进行延迟处理。延迟缓冲器601的4个数据输入端D63~D60连接至编码器300的编码输出端C3~C0,延迟缓冲器601的4个数据输出端Q63~Q60相应输出的数据是C31~C01;C31~C01经过延迟缓冲器601的一级缓冲后,其信号比C3~C0延迟一个CP1脉冲周期,图8所示为本发明实施例的键盘有效操作的相关波形示意图。设在CP1脉冲的T1区间,独立式键盘存在一次有效操作,实施例的有效操作包括:S1单键按下、S2单键按下、S3单键按下、S4+S1组合操作的S1按下、S4+S2组合操作的S2按下、S1单键释放。在一次有效操作的下一个状态锁存沿,即图8中CP1脉冲T1区间之后的上升沿,编码器300输出的编码C3~C0发生改变;在T2区间,编码器300输出一个CP1脉冲周期的有效编码C3~C0;在T3、T4及之后区间,编码器300输出的编码C3~C0再一次改变且进入维持状态,该维持状态可能是例如S1单键按下后面的维持状态,输出无效键号,也可能是S3单键按下后面的维持状态,输出有效键号,直到下一次有效操作。
图8中的D6脉冲示意表示编码器300输出的编码C3~C0是处于维持状态,没有变化,还是发生改变,实际电路中不存在所述的D6脉冲。如图8所示,D6脉冲为低电平,示意表示编码器300输出的编码C3~C0是处于维持状态,没有变化;D6脉冲为高电平,示意表示编码器300输出一个周期的有效编码C3~C0。图8中的Q6反映的是C31~C01的变化情况,显然,Q6比D6延迟一个CP1脉冲周期。同样,实际电路中不存在所述的Q6脉冲。
图8中,编码器300输出的编码C3~C0是处于维持状态,没有变化,还是发生改变,实际是由4位延迟缓冲器601、异或门602、异或门603、异或门604、异或门605、或门606所组成的逻辑电路完成。4个异或门分别与编码器300编码输出端C3~C0中的1位相对应,输入分别为4位延迟缓冲器601的输入、输出信号。例如,异或门602的两个输入信号分别为C0和C01,C01比C0延迟一个CP1脉冲周期,因此,当C0发生变化时,异或门602输出1个CP1脉冲周期宽度的正脉冲;当C0为一个CP1脉冲周期宽度变化信号时,异或门602输出2个CP1脉冲周期宽度的正脉冲。异或门603、异或门604、异或门605分别判断C1~C3是否发生变化,原理与判断C0是否发生变化相同。异或门602、异或门603、异或门604、异或门605的输出端分别连接至或门606的输入端,或门606用于综合判断C0~C3是否发生变化,只要C0~C3发生变化,或门606即输出键盘状态变化脉冲F,该脉冲为正脉冲。
实施例中,延迟缓冲器601选择上升沿触发的8D触发器74HC273。
延迟缓冲器601还可以采用其他方案,例如,采用RC电路,利用4个RC电路分别对C0~C3进行延迟;如果RC电路的延迟时间小于一个CP1脉冲周期,则编码器300输出一个周期的有效编码C3~C0时,在输出有效编码C3~C0开始和输出有效编码C3~C0结束都产生一个键盘状态变化脉冲,键盘状态变化脉冲的宽度等于RC电路延迟时间;如果RC电路的延迟时间大于等于一个CP1脉冲周期,则编码器300输出一个周期的有效编码C3~C0时,在输出有效编码C3~C0开始时产生一个键盘状态变化脉冲,该脉冲宽度大于等于2个CP1脉冲周期。要求RC电路的延迟时间不超过2个CP1脉冲周期,以免产生漏报。
所述的发明电路中,将对单键操作、组合键操作、键盘维持状态操作的定位,由满足特定时序要求的2个脉冲控制转换成同一二进制长度的状态码,采用统一编码的方式进行处理,单键操作、组合键操作、键盘维持状态操作仅体现在状态码的不同上;如果需要增减按键操作功能或者是调整按键操作功能,不需要修改键盘扫描电路结构,只需根据增减后的状态码表更新编码器300、即重新写入更新只读存储器的存储内容即可。所述发明电路没有使用单片机、ARM等微控制器,不用运行程序,工作可靠。

Claims (10)

1.一种独立式键盘扫描电路,其特征在于,由独立式键盘、第一移位寄存器、第二移位寄存器、状态码寄存器、编码器组成;
所述独立式键盘扫描电路由扫描脉冲、移位脉冲进行同步控制;
所述独立式键盘共有N个按键,设有N位键盘状态信号输出端;所述N位键盘状态信号为电平信号;
所述第一移位寄存器具有N位并行输入、N位并行输出和串行输出功能;所述第二移位寄存器具有串行输入、N位并行输出功能;
所述第一移位寄存器的N位并行输入端连接至N位键盘状态信号输出端;第二移位寄存器的串行输入端连接至第一移位寄存器的串行输出端;第一移位寄存器、第二移位寄存器的移位脉冲输入端均连接至移位脉冲,第一移位寄存器的预置脉冲输入端连接至扫描脉冲;
所述状态码寄存器为2×N位二进制寄存器;状态码寄存器中的N位数据输入端连接至第一移位寄存器的N位并行输出端,另外N位数据输入端连接至第二移位寄存器的N位并行输出端;所述状态码寄存器的接收脉冲输入端连接至扫描脉冲;
所述编码器有2×N位编码输入端,所述2×N位编码输入端连接至状态码寄存器的2×N位数据输出端;
所述扫描脉冲、移位脉冲的时序满足以下要求:扫描脉冲为移位脉冲的N分频信号;扫描脉冲为正窄脉冲或者负窄脉冲。
2.根据权利要求1所述的独立式键盘扫描电路,其特征在于:所述扫描脉冲的周期为20~100ms。
3.根据权利要求1所述的独立式键盘扫描电路,其特征在于:所述第一移位寄存器、第二移位寄存器同时在移位脉冲的上升沿移位,扫描脉冲的正窄脉冲或者负窄脉冲处于前后两个移位脉冲的上升沿之间;或者是,所述第一移位寄存器、第二移位寄存器同时在移位脉冲的下降沿移位,扫描脉冲的正窄脉冲或者负窄脉冲处于前后两个移位脉冲的下降沿之间。
4.根据权利要求3所述的独立式键盘扫描电路,其特征在于:所述第一移位寄存器的预置脉冲为边沿有效且扫描脉冲为正窄脉冲时,要求第一移位寄存器的预置脉冲为上升沿有效,状态码寄存器的接收脉冲为下降沿有效;所述第一移位寄存器的预置脉冲为边沿有效且扫描脉冲为负窄脉冲时,要求第一移位寄存器的预置脉冲为下降沿有效,状态码寄存器的接收脉冲为上升沿有效;所述第一移位寄存器的预置脉冲为高电平有效时,要求扫描脉冲为正窄脉冲,状态码寄存器的接收脉冲为下降沿有效;所述第一移位寄存器的预置脉冲为低电平有效时,要求扫描脉冲为负窄脉冲,状态码寄存器的接收脉冲为上升沿有效。
5.根据权利要求1所述的独立式键盘扫描电路,其特征在于:所述编码器为只读存储器。
6.根据权利要求1所述的独立式键盘扫描电路,其特征在于:所述状态码寄存器的2×N位数据输出端输出2×N位的状态码;所述状态码由有效状态码和无效状态码组成;所述编码器输出的键号由有效键号和无效键号组成;所述有效状态码由有效键盘操作或状态产生,编码器输入每一个有效状态码时对应输出相应的有效键号;所述无效状态码由无效键盘操作或状态产生,编码器输入所有无效状态码时都对应输出无效键号。
7.根据权利要求6所述的独立式键盘扫描电路,其特征在于:所述编码器有M位键号输出端,M值的选择应满足2M大于等于有效键号与无效键号的数量之和。
8.根据权利要求7所述的独立式键盘扫描电路,其特征在于:还包括键盘状态变化脉冲产生单元,用于判断独立式键盘输出的键号是否发生改变,当独立式键盘输出的键号发生改变时,输出键盘状态变化脉冲。
9.根据权利要求8所述的独立式键盘扫描电路,其特征在于:所述键盘状态变化脉冲产生单元由M位延迟缓冲器、M个异或门和或门组成;M位延迟缓冲器用于对独立式键盘输出的M位键号分别进行信号延迟;M个异或门的输入分别为M位延迟缓冲器的输入、输出信号;M个异或门的输出分别连接至或门的输入端;或门的输出端输出键盘状态变化脉冲。
10.根据权利要求1所述的独立式键盘扫描电路,其特征在于:所述N位键盘状态信号与N个按键之间满足一一对应关系。
CN201610003094.7A 2016-01-05 2016-01-05 独立式键盘扫描电路及扫描编码方法 Expired - Fee Related CN105677050B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610003094.7A CN105677050B (zh) 2016-01-05 2016-01-05 独立式键盘扫描电路及扫描编码方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610003094.7A CN105677050B (zh) 2016-01-05 2016-01-05 独立式键盘扫描电路及扫描编码方法

Publications (2)

Publication Number Publication Date
CN105677050A true CN105677050A (zh) 2016-06-15
CN105677050B CN105677050B (zh) 2018-06-15

Family

ID=56298821

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610003094.7A Expired - Fee Related CN105677050B (zh) 2016-01-05 2016-01-05 独立式键盘扫描电路及扫描编码方法

Country Status (1)

Country Link
CN (1) CN105677050B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0188151B1 (fr) * 1984-12-20 1990-03-28 Automobiles Peugeot Dispositif de commande par touches
CN101840268A (zh) * 2010-04-23 2010-09-22 中国电子科技集团公司第五十四研究所 一种矩阵键盘的快速扫描定位方法
CN101943948A (zh) * 2009-07-07 2011-01-12 扬智科技股份有限公司 键盘扫描装置及键盘扫描方法
CN103226391A (zh) * 2013-05-22 2013-07-31 湖南工业大学 一种独立式键盘的扫描定位方法
CN103279197A (zh) * 2013-06-08 2013-09-04 湖南工业大学 一种键盘的扫描定位方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0188151B1 (fr) * 1984-12-20 1990-03-28 Automobiles Peugeot Dispositif de commande par touches
CN101943948A (zh) * 2009-07-07 2011-01-12 扬智科技股份有限公司 键盘扫描装置及键盘扫描方法
CN101840268A (zh) * 2010-04-23 2010-09-22 中国电子科技集团公司第五十四研究所 一种矩阵键盘的快速扫描定位方法
CN103226391A (zh) * 2013-05-22 2013-07-31 湖南工业大学 一种独立式键盘的扫描定位方法
CN103279197A (zh) * 2013-06-08 2013-09-04 湖南工业大学 一种键盘的扫描定位方法

Also Published As

Publication number Publication date
CN105677050B (zh) 2018-06-15

Similar Documents

Publication Publication Date Title
CN105468164A (zh) 矩阵式键盘扫描及编码电路
CN105677055A (zh) 矩阵式键盘扫描电路及方法
CN105680873A (zh) 独立式键盘扫描编码电路
CN105677053A (zh) 独立式键盘操作识别及编码电路
CN105677051A (zh) 独立式键盘扫描电路及编码电路
CN205318332U (zh) 一种独立式键盘操作识别及编码电路
CN105677054A (zh) 独立式键盘扫描定位电路
CN105677050A (zh) 独立式键盘扫描电路及扫描编码方法
CN105677052A (zh) 独立式键盘状态识别及编码电路
CN205384581U (zh) 一种独立式键盘扫描电路及编码电路
CN205334379U (zh) 一种独立式键盘状态识别及编码电路
CN205353947U (zh) 一种独立式键盘扫描及编码电路
CN205490496U (zh) 一种矩阵式键盘操作识别及编码电路
CN105700697A (zh) 独立式键盘扫描电路及方法
CN205384582U (zh) 一种矩阵式键盘扫描电路及编码电路
CN105680874A (zh) 矩阵式键盘扫描电路及扫描编码方法
CN205490497U (zh) 一种独立式键盘扫描定位电路
CN205320063U (zh) 一种矩阵式键盘状态识别及编码电路
CN205318331U (zh) 一种矩阵式键盘扫描及编码电路
CN105700696A (zh) 矩阵式键盘扫描编码电路
CN105700695A (zh) 矩阵式键盘扫描电路及编码电路
CN105680875A (zh) 矩阵式键盘操作识别及编码电路
CN205485933U (zh) 一种矩阵式键盘扫描定位电路
CN105471439B (zh) 独立式键盘扫描及编码电路
CN105703780B (zh) 矩阵式键盘扫描定位电路

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20180615

Termination date: 20190105