《一种实时检测按键触发状态的按键电路、游戏手柄和方法.pdf》由会员分享,可在线阅读,更多相关《一种实时检测按键触发状态的按键电路、游戏手柄和方法.pdf(12页完整版)》请在专利查询网上搜索。
1、10申请公布号CN104202055A43申请公布日20141210CN104202055A21申请号201410384600222申请日20140806H03M11/20200601A63F13/2420140171申请人潍坊歌尔电子有限公司地址261031山东省潍坊市高新技术产业开发区东方路268号72发明人张召德74专利代理机构北京市隆安律师事务所11323代理人权鲜枝何立春54发明名称一种实时检测按键触发状态的按键电路、游戏手柄和方法57摘要本发明公开了一种实时检测按键触发状态的按键电路、游戏手柄和方法。该按键电路能够检测2N个按键的触发状态,包括MCU、计数器、数据选择器、或门电路和。
2、包含2N个按键的按键单元,其中,N为大于或等于2的正整数。该游戏手柄包括该按键电路。该方法包括控制MCU输出触发信号触发计数器,使计数器输出N位地址选择信号;将N位地址选择信号输入到数据选择器,使数据选择器选择出与之对应的按键状态信号;将该按键状态信号输入到MCU中进行检测。本发明的技术方案在仅使用MCU的三个输入输出端口的情况下,能够实现对若干按键触发状态的实时有效检测,节省了MCU的I/O端口资源,降低了电路生产成本,提高了电路工作效率。51INTCL权利要求书2页说明书5页附图4页19中华人民共和国国家知识产权局12发明专利申请权利要求书2页说明书5页附图4页10申请公布号CN10420。
3、2055ACN104202055A1/2页21一种实时检测按键触发状态的按键电路,其特征在于,该按键电路能够检测2N个按键的触发状态,该按键电路包括微控制单元MCU、计数器、数据选择器、或门电路和包含2N个按键的按键单元,N为大于或等于2的正整数;所述微控制单元MCU的第一输入输出端与所述或门电路的输出端相连,所述微控制单元MCU的第二输入输出端与所述数据选择器的输出端相连,以及所述微控制单元MCU的第三输入输出端与所述计数器的输入端相连;所述计数器包括N位输出端,该N位输出端与所述数据选择器的地址选择端以及所述或门电路的输入端相连;所述数据选择器为1/2N数据选择器,其2N个输入端与所述2N。
4、个按键一一对应相连。2如权利要求1所述的按键电路,其特征在于,所述计数器包括N1个触发器;所述N1个触发器的输入端均接高电平;所述N1个触发器依次串联,其中上一个触发器的输出端与相邻下一个触发器的触发端相连,串联的第一个触发器的触发端与所述微控制单元MCU的第三输入输出端相连;由所述微控制单元MCU的第三输入输出端和所述N1个触发器的输出端构成所述计数器的N位输出端。3如权利要求2所述的按键电路,其特征在于,所述触发器为JK触发器;或者,所述触发器为T触发器。4如权利要求1所述的按键电路,其特征在于,所述按键单元进一步包括2N个上拉电阻;所述2N个上拉电阻的一端接高电平,其另一端与所述数据选择。
5、器的2N个输入端一一对应相连。5一种游戏手柄,其特征在于,该游戏手柄包括如权利要求14中任一项所述的按键电路。6一种实时检测按键触发状态的方法,其特征在于,该方法能够检测到2N个按键的触发状态,该方法包括控制微控制单元MCU的第三输入输出端输出触发信号;利用该触发信号触发计数器,使计数器输出N位地址选择信号;将N位地址选择信号输入到数据选择器,使数据选择器根据该N位地址选择信号选择出与之对应的按键状态信号;将该按键状态信号输入到微控制单元MCU的第二输入输出端,进行检测。7如权利要求6所述的方法,其特征在于,所述计数器输出N位地址选择信号包括N1个触发器输出N1个输出信号;将所述N1个触发器均。
6、设置为高电平输入;将所述N1个触发器依次串联,其中,利用上一个触发器的输出信号触发相邻下一个触发器,并且利用所述微控制单元MCU的第三输入输出端输出的触发信号触发串联的第一个触发器;由所述触发信号和所述N1个输出信号构成所述计数器输出的N位地址选择信号。权利要求书CN104202055A2/2页38如权利要求6或7所述的方法,其特征在于,该方法进一步包括将所述N位地址选择信号输入到或门电路,使或门电路输出同步信号;将该同步信号输入到所述微控制单元MCU的第二输入输出端,进行同步。权利要求书CN104202055A1/5页4一种实时检测按键触发状态的按键电路、游戏手柄和方法技术领域0001本发明。
7、涉及电路设计领域,具体涉及一种实时检测按键触发状态的按键电路、游戏手柄和方法。背景技术0002按键电路是微控制单元MCU应用系统中最主要的人机交互输入方式,其合理的设计,不仅可以节省系统的设计成本,更可以使仪器设备的操作变得更为简单、方便,很大程度上提高系统综合性能。0003目前最常见的按键电路大致分为两种一对一连接和矩阵式连接。一对一连接就是一个按键直接对应一个MCU的输入端口,这样的电路简单直接,在按键数量较少端口数量富裕时可以直接使用,但在按键数量较多时会占用大量的MCU的I/O端口资源,造成系统工作效率的降低;矩阵式连接是指将按键按行列矩阵的方式排列,其中每一行公用一根行线,每一列公用。
8、一根列线,设矩阵式连接的行数为X,列数为Y,按键数和所需端口数分别用NS和NI/O表示,有0004NSXY0005NI/OXY0006可以看出,与一对一的直接连接方式相比,矩阵式连接所占用的端口数有了相当的减少。如果按键电路需要16个按键,按一对一方式连接的话需要16个端口,而按矩阵式连接只需要8个端口。0007即便如此,按键电路的矩阵式连接越来越无法满足高速发展的电子信息技术对端口资源的需求,如何最大限度地减少按键电路对I/O端口的占用,以及如何通过简化程序处理过程减少按键电路对存储器和运算资源的占用,是当前的研究热点之一。发明内容0008鉴于上述问题,本发明提供了一种实时检测按键触发状态的。
9、按键电路、游戏手柄和方法,以解决上述问题或者至少部分地解决上述问题。0009依据本发明的一个方面,提供了一种实时检测按键触发状态的按键电路,该按键电路能够检测2N个按键的触发状态,该按键电路包括微控制单元MCU、计数器、数据选择器、或门电路和包含2N个按键的按键单元,N为大于或等于2的正整数;0010所述微控制单元MCU的第一输入输出端与所述或门电路的输出端相连,所述微控制单元MCU的第二输入输出端与所述数据选择器的输出端相连,以及所述微控制单元MCU的第三输入输出端与所述计数器的输入端相连;0011所述计数器包括N位输出端,该N位输出端与所述数据选择器的地址选择端以及所述或门电路的输入端相连。
10、;0012所述数据选择器为1/2N数据选择器,其2N个输入端与所述2N个按键一一对应相连。说明书CN104202055A2/5页50013可选地,所述计数器包括N1个触发器;0014所述N1个触发器的输入端均接高电平;0015所述N1个触发器依次串联,其中上一个触发器的输出端与相邻下一个触发器的触发端相连,串联的第一个触发器的触发端与所述微控制单元MCU的第三输入输出端相连;0016由所述微控制单元MCU的第三输入输出端和所述N1个触发器的输出端构成所述计数器的N位输出端。0017可选地,所述触发器为JK触发器;或者,所述触发器为T触发器。0018可选地,所述按键单元进一步包括2N个上拉电阻;。
11、0019所述2N个上拉电阻的一端接高电平,其另一端与所述数据选择器的2N个输入端一一对应相连。0020依据本发明的另一个方面,提供了一种游戏手柄,该游戏手柄包括所述按键电路。0021依据本发明的又一个方面,提供了一种实时检测按键触发状态的方法,该方法能够检测到2N个按键的触发状态,该方法包括0022控制微控制单元MCU的第三输入输出端输出触发信号;0023利用该触发信号触发计数器,使计数器输出N位地址选择信号;0024将N位地址选择信号输入到数据选择器,使数据选择器根据该N位地址选择信号选择出与之对应的按键状态信号;0025将该按键状态信号输入到微控制单元MCU的第二输入输出端,进行检测。00。
12、26可选地,所述计数器输出N位地址选择信号包括N1个触发器输出N1个输出信号;0027将所述N1个触发器均设置为高电平输入;0028将所述N1个触发器依次串联,其中,利用上一个触发器的输出信号触发相邻下一个触发器,并且利用所述微控制单元MCU的第三输入输出端输出的触发信号触发串联的第一个触发器;0029由所述触发信号和所述N1个输出信号构成所述计数器输出的N位地址选择信号。0030可选地,该方法进一步包括0031将所述N位地址选择信号输入到或门电路,使或门电路输出同步信号;0032将该同步信号输入到所述微控制单元MCU的第二输入输出端,进行同步。0033综上所述,本发明所提供的技术方案在仅使用。
13、MCU的三个输入输出端口的情况下,能够实现对若干按键触发状态的实时有效检测,节省了MCU的输入输出端口资源,降低了电路的生产成本,提高了电路的工作效率。附图说明0034图1示出了根据本发明一个实施例的一种实时检测按键触发状态的按键电路的结构图示意图;0035图2示出了根据本发明另一个实施例的一种实时检测按键触发状态的按键电路的电路结构图示意图;说明书CN104202055A3/5页60036图3示出了根据本发明另一个实施例的触发时序示意图;0037图4示出了根据本发明一个实施例的一种游戏手柄的结构示意图;0038图5示出了根据本发明另一个实施例的一种实时检测按键触发状态的方法的流程图。具体实施。
14、方式0039为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。0040图1示出了根据本发明一个实施例的一种实时检测按键触发状态的按键电路的结构示意图。如图1所示,该按键电路包括微控制单元MCU、计数器、数据选择器、或门电路和包含2N个按键的按键单元,N为大于或等于2的正整数。0041微控制单元MCU的第一输入输出端与或门电路的输出端相连,微控制单元MCU的第二输入输出端与数据选择器的输出端相连,以及微控制单元MCU的第三输入输出端与计数器的输入端IN相连;计数器包括N位输出端,该N位输出端与数据选择器的地址选择端,以及或门电路的输入端相连;数据选择器为。
15、1/2N数据选择器,其2N个输入端与2N个按键一一对应相连。0042其中,微控制单元MCU的第三输入输出端用于向计数器输出触发信号,计数器在该触发信号的作用下输出N位输出信号到数据选择器的地址选择端和或门电路的输入端,数据选择器在该N位输出信号的作用下输出相应的按键状态到微控制单元MCU的第二输入输出端,微控制单元MCU的第二输入输出端用于检测按键状态,或门电路在该N位输出信号的作用下输出同步信号到微控制单元MCU的第一输入输出端,微控制单元MCU的第一输入输出端用于检测同步信号以知悉每一轮按键检测的开始或者结束。0043由上述可知,本发明所提供的技术方案在仅使用微控制单元MCU的三个输入输出。
16、端口的情况下,能够实现对若干按键触发状态的实时有效检测,节省了MCU的输入输出端口资源,降低了电路的生产成本,提高了电路的工作效率。0044图2示出了根据本发明另一个实施例的一种实时检测按键触发状态的按键电路的电路结构示意图。在本实施例中,如图2所示,该按键电路包括微控制单元MCU、第一触发器J1、第二触发器J2、数据选择器MUX、或门电路M、8个按键S1S8、以及8个上拉电阻R1R8。0045微控制单元MCU的第一输入输出端与或门电路M的输出端相连;微控制单元MCU的第二输入输出端与数据选择器MUX的输出端相连;微控制单元MCU的第三输入输出端与第一触发器J1的触发端、数据选择器MUX的第三。
17、地址选择端以及或门电路M的输入端相连;第一触发器J1和第二触发器J2的输入端均接高电平;第一触发器J1的输出端与第二触发器J2的触发端、数据选择器MUX的第二地址选择端以及或门电路M的输入端相连;第二触发器J2的输出端与数据选择器MUX的第一地址选择端以及或门电路的输入端相连;数据选择器MUX的8个输入端与8个按键S1S8的一端,以及8个上拉电阻R1R8的一端一一对应相连;8个按键S1S8的另一端共同接地;8个上拉电阻R1R8的另一端均接高电平。0046在本实施例中,设置第一触发器J1和第二触发器J2均为JK触发器,将二者的输入端均接高电平,使得在每次触发信号作用后触发器输出与前一个状态相反的。
18、输出信号。说明书CN104202055A4/5页7由微控制单元MCU的第三输入输出端、第一触发器J1的输出端和第二触发器J2的输出端共同构成了前文所述的计数器的3位输出端,也就是说,该三者共同构成了数据选择器MUX的3位地址选择端,数据选择器将以该三者输出的信号状态为依据选择出相应的按键触发状态。0047图3示出了根据本发明另一个实施例的计数器输出3位信号状态的时序图。图2所示的微控制单元MCU的第三输入输出端输出的触发信号、第一触发器J1的输出信号、以及第二触发器J2的输出信号的时序变化如图3所示,在本实施例中,首先,设置微控制单元MCU的第三输入输出端输出的触发信号为方波信号,称为第一方波。
19、信号,周期为T1;其次,设置微控制单元MCU的第三输入输出端输出的触发信号、第一触发器J1的输出信号、以及第二触发器J2的输出信号的初始状态均为低电平;最后,设置第一触发器J1和第二触发器J2都是触发信号下降沿有效。0048如图3所示,在微控制单元MCU的第三输入输出端输出的方波信号的作用下,第一触发器J1的输出信号在第一方波信号的每个下降沿发生翻转,形成周期翻倍的方波信号,称为第二方波信号,周期为T2;第二触发器J2的输出信号在第二方波信号的每个下降沿发生翻转,形成周期再次翻倍的方波信号,称为第三方波信号,周期为T3。其中,0049T32T24T10050因此,在时域上,由微控制单元MCU的。
20、第三输入输出端输出的第一方波信号、第一触发器J1输出的第二方波信号、以及第二触发器J2输出的第三方波信号构成的上文所述计数器的3位输出信号依次为000、100、010、110、001、101、011、111。0051根据图2所示的电路连接方式,由于微控制单元MCU的第三输入输出端与数据选择器MUX的第三地址选择端相连,第一触发器J1的输出端和数据选择器MUX的第二地址选择端相连,并且第二触发器J2的输出端和数据选择器MUX的第一地址选择端相连,因此对应的数据选择器接收到的地址选择信号依次为0052000,此时,数据选择器MUX选择第一通道D0,即第一按键S1被选择,微控制单元MCU通过第二输入。
21、输出端口检测第一按键S1的触发状态;与此同时,或门电路M的输入均为低电平,导致输出信号为低电平,即微控制单元MCU的第一输入输出端接收到低电平的同步信号,表示一轮按键检测的开始;0053001,此时,数据选择器MUX选择第二通道D1,即第二按键S2被选择,微控制单元MCU通过第二输入输出端口检测第二按键S2的触发状态;0054010,此时,数据选择器MUX选择第三通道D2,即第三按键S3被选择,微控制单元MCU通过第二输入输出端口检测第三按键S3的触发状态;0055011,此时,数据选择器MUX选择第四通道D3,即第四按键S4被选择,微控制单元MCU通过第二输入输出端口检测第四按键S4的触发状。
22、态;0056100,此时,数据选择器MUX选择第五通道D4,即第五按键S5被选择,微控制单元MCU通过第二输入输出端口检测第五按键S5的触发状态;0057101,此时,数据选择器MUX选择第六通道D5,即第六按键S6被选择,微控制单元MCU通过第二输入输出端口检测第六按键S6的触发状态;0058110,此时,数据选择器MUX选择第七通道D6,即第七按键S7被选择,微控制单元MCU通过第二输入输出端口检测第七按键S7的触发状态;说明书CN104202055A5/5页80059111,此时,数据选择器MUX选择第八通道D7,即第八按键S8被选择,微控制单元MCU通过第二输入输出端口检测第八按键S8。
23、的触发状态;0060000,此时,数据选择器MUX再次选择第一通道D0,即第一按键S1再次被选择,微控制单元MCU通过第二输入输出端口再次检测第一按键S1的触发状态;与此同时,或门电路M的输入均为低电平,导致输出信号为低电平,即微控制单元MCU的第一输入输出端接收到低电平的同步信号,表示新一轮按键检测的开始。0061以此类推,在本实施例中,按键电路对8个按键S1S8进行反复的扫描检测。0062图4示出了根据本发明一个实施例的一种游戏手柄的结构图。如图5所示,该游戏手柄包括所述按键电路,包括微控制单元MCU、计数器、数据选择器、或门电路和按键单元。0063在用户操作游戏手柄上按键单元中的按键时,。
24、手柄内部的按键电路通过微控制单元MCU触发计数器,使得计数器输出地址选择信号给数据选择器,数据选择器选择相应按键,将其触发状态输入给微控制单元MCU进行检测,循环该过程,微控制单元MCU以或门电路输出的低电平同步信号作为检测开始标记,轮流对按键单元中的按键进行扫描检测,进而检测出用户对手柄上按键的操作状态,实现人机交互。0064图5示出了根据本发明另一个实施例的一种实时检测按键触发状态的方法的流程图。在图2所示的按键电路的电路结构示意图以及图3所示的信号状态的时序图的基础上,如图5所示,该方法包括00651初始态设置微控制单元MCU的第三输入输出端输出触发信号为方波信号,微控制单元MCU的第三。
25、输入输出端输出的触发信号、第一触发器J1的输出信号、以及第二触发器J2的输出信号的初始状态均为低电平,并且,第一触发器J1和第二触发器J2都是触发信号下降沿有效。00662控制微控制单元MCU的第三输入输出端输出触发信号,即第一方波信号;00673利用第一方波信号触发第一触发器J1,使第一触发器J1输出第二方波信号;00684利用第二方波信号触发第二触发器J2,使第二触发器J2输出第三方波信号;00695利用地址选择器MUX根据由第一方波信号、第二方波信号和第三方波信号构成的地址选择信号选择出对应按键,并将对应按键触发状态发送给微控制单元MCU的第二输入输出端。00706对该按键触发状态进行检。
26、测。0071在本步骤中,如果微控制单元MCU的第一输入输出端接收到低电平的同步信号,表示本次检测是新一轮按键扫描的第一次检测,可以作为微控制单元MCU内部运算过程的标记。0072综上所述,本发明提供的技术方案在仅仅占用MCU的三个输入输出端口的情况下,能够实现对多个按键触发状态的实时检测,是目前常用的一对一式按键电路和矩阵式按键电路无法达到的较理想状态,节省了宝贵的输入输出端口资源,进一步减少了对基于MCU应用系统的存储资源和运算资源的占用,能够实现更为理想的人机交互功能。0073以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。说明书CN104202055A1/4页9图1说明书附图CN104202055A2/4页10图2说明书附图CN104202055A103/4页11图3图4说明书附图CN104202055A114/4页12图5说明书附图CN104202055A12。