一种mcu键盘电路及其实现方法

文档序号:6633521阅读:668来源:国知局
一种mcu键盘电路及其实现方法
【专利摘要】本发明提供了一种MCU键盘电路及其实现方法。所述电路包括MCU、M个按键S1~SM、M个电阻R1~RM、公共电阻、施密特触发器;电阻R1的一端连接VCC电源,另一端与电阻R2至RM依次串联;电阻RM的未与相邻电阻连接的一端与按键SM的一端连接,按键Si的一端与电阻Ri的与Ri+1连接的连接端相连,1≤i≤M-1;按键S1~SM的另一端通过公共电阻接地;按键S1~SM的与公共电阻连接的连接端均连接于A点后,与MCU的第一输入接口和施密特触发器的输入端分别连接;施密特触发器的输出端连接至MCU的第二输入接口。本发明大大节省了MCU的资源,且具有简单、高效、可靠性强等优点。
【专利说明】—种MCU键盘电路及其实现方法

【技术领域】
[0001]本发明涉及键盘【技术领域】,尤其涉及一种简单、高效、特别节省MCU资源的键盘电路及其实现方法。

【背景技术】
[0002]通常MCU的键盘电路的实现方法如下:
[0003](I)独立键盘法
[0004]一般地,当按键个数不大于8时,可以采用这种方法,每个按键连接一根MCU的I/O线,这样,有几个按键就需要占用几根MCU的I/O线,这种方法占用MCU硬件资源较多。
[0005](2)矩阵键盘法
[0006]一般地,当按键个数大于8时,多采用此法:将按键排列成矩阵形式,将矩阵的行列连接到MCU的I/O线,所占用MCU的I/O线数为该矩阵的行数与列数之和。
[0007]上述各实现键盘电路的方法,所占用的MCU的I/O线较多,这样就给需要连接较多外设的MCU系统带来了 I/O资源不足的麻烦。


【发明内容】

[0008]本发明的目的在于提供一种MCU键盘电路及其实现方法,解决MCU系统I/O资源不足的问题。
[0009]本发明的目的是通过以下技术方案实现的。
[0010]一种MCU键盘电路,包括MCU和M个按键S1?SM,还包括:与按键——对应的M个电阻R1?RM、公共电阻、施密特触发器;
[0011]其中,所述电阻R1的一端连接VCC电源,另一端与电阻R2至Rm依次串联;所述电阻Rm的未与电阻Rsh连接的一端与按键Sm的一端连接,按键Si的一端与电阻Ri的与Ri+1连接的连接端相连,I ^ i ^ M-1 ;按键S1?Sm的另一端通过公共电阻接地;同时,按键S1?Sm的与公共电阻连接的连接端均连接于A点后,与MCU的第一输入接口和施密特触发器的输入端分别连接;所述施密特触发器的输出端连接至MCU的第二输入接口。
[0012]当无按键按下时,所述施密特触发器输出为高电平,中断信号无效;当有按键按下时,所述斯密特触发器的输入端产生下降沿,触发MCU中断。
[0013]其中,所述电阻R1?Rm的阻值之和与公共电阻对VCC电源的分压产生的A点电压均高于所述施密特触发器的触发电压。
[0014]其中,所述A点还通过电容Cl接地。
[0015]一种如上所述的MCU键盘电路的实现方法,包括步骤:
[0016]有按键按下时,施密特触发器触发MCU产生中断;
[0017]中断触发后,所述MCU启动A/D,并直按键标志位;
[0018]所述MCU读取A点的Α/D值,对其进行数据处理后获取相应的键值,据此识别出当前被按下的按键,之后执行该按键的相应功能操作。
[0019]其中,还包括:在执行当前被按下的按键的相应功能操作后,对所述按键标志位清零。
[0020]与现有技术相比,本发明的有益效果在于:
[0021](I)键盘处理软件简单,耗用MCU极少的时间,高效;
[0022](2)此键盘电路的实现,仅占用MCU的两根I/O线,大大节省了 MCU的资源;
[0023](3)通过电容与施密特触发器的配合,提升了系统的有效性、可靠性。

【专利附图】

【附图说明】
[0024]图1是本发明实施例中键盘电路原理图;
[0025]图2是本发明实施例中键盘电路的实现方法流程图。

【具体实施方式】
[0026]为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0027]请参阅图1,本发明提出的键盘电路包括:M个按键(以下描述为Sp S2.....SM,
I ( i彡M),以及与按键一一对应的M个电阻R(以下描述为R2.....Rm),公共电阻R9,
电容C1,施密特触发器,MCU。本实施例中,M的值为8,即包括了 8个按键以及8个电阻R。
[0028]其中,电阻R1的一端连接VCC电源,另一端与电阻R2至R8依次串联。电阻R8的未与R7连接的一端与按键S8的一端连接,按键Si的一端与电阻Ri的与Ri+1连接的连接端相连(I彡i彡M-1),所有按键S的另一端通过公共电阻R9接地。另外,全部按键S的与公共电阻R9连接的连接端连接于一点(本实施例中设为A点)后再连接至MCU的第一输入接口(用于A/D)。施密特触发器的输入端连接至A点,输出端连接至MCU的第二输入接口(用于接收中断触发信号)。
[0029]当无按键按下时,A点电压为低,施密特触发器输出为高电平,中断信号无效。当有按键按下时,A点产生一定的电压值,斯密特触发器的输入端产生由零电压向正电压上的变化,则斯密特触发器的输出端产生一个下降沿,从而使MCU中断。本实施例中,可以根据所选的施密特触发器的不同,通过调整图1中Rl至R9的值,使得这个电压变化的值足以使得施密特触发器触发;也就是说,选择各按键对应的电阻值时要注意,各按键对应的电阻(如图1中Rl至R8)值之和与公共电阻R9对VCC的分压产生的A点电压要略高于施密特触发器的触发电压,这样才能保证每个按键按下时,都会使施密特触发器触发。
[0030]另外,上述A点还通过电容Cl接地,其目的为:一、稳定A/D的输入;二、当有小毛刺过来时,它与施密特触发器一起滤掉毛刺的干扰,保证中断的有效性。
[0031]请参阅图2,本实施例中上述键盘电路的实现方法为:
[0032]201、有按键按下时,施密特触发器的输出端产生下降沿,触发MCU产生中断。
[0033]本步骤中,若无按键被按下时,A点电压为低,施密特触发器输出为高电平,不触发MCU产生中断。
[0034]202、进入中断程序后,MCU启动A/D,并置按键标志位。按键标志位用以提示主程序当前有按键被按下,需要执行按键识别操作。
[0035]203、读取A/D值。由于不同按键被按下时,将使A点产生不同的电压,即A/D的输入为不同的电压值,因此不同按键被按下时将产生不同的Α/D值,该Α/D值即可作为后续按键识别的判断依据。
[0036]204、对所读取的Α/D值进行数据处理后获取相应的键值,从而识别出当前被按下的按键,之后执行该按键的相应操作。
[0037]205、清除按键标志。由于已实现当前被按下的按键功能,所以此时需要将按键标志清零,返回步骤201,待下一次有按键被按下时,再次产生中断及进行后续的按键识别。
[0038]综上,本发明采用电容与施密特触发器组合的方法,使得键盘在没有按键被按下或受到环境干扰时不产生MCU中断,当按键被按下时MCU中断才会被触发,进入中断程序后MCU根据Α/D输出值的不同进行按键识别,具有简单、高效、节省资源等优点。
[0039]以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
【权利要求】
1.一种MCU键盘电路,包括MCU和M个按键S1?SM,其特征在于,还包括:与按键一一对应的M个电阻R1?RM、公共电阻、施密特触发器; 其中,所述电阻R1的一端连接VCC电源,另一端与电阻R2至Rm依次串联;所述电阻Rm的未与电阻Rsh连接的一端与按键Sm的一端连接,按键Si的一端与电阻Ri的与Ri+1连接的连接端相连,I ^ i ^ M-1 ;按键S1?Sm的另一端通过公共电阻接地;同时,按键S1?Sm的与公共电阻连接的连接端均连接于A点后,与MCU的第一输入接口和施密特触发器的输入端分别连接;所述施密特触发器的输出端连接至MCU的第二输入接口。 当无按键按下时,所述施密特触发器输出为高电平,中断信号无效;当有按键按下时,所述斯密特触发器的输入端产生下降沿,触发MCU中断。
2.如权利要求1所述的MCU键盘电路,其特征在于,所述电阻R1?Rm的阻值之和与公共电阻对VCC电源的分压产生的A点电压均高于所述施密特触发器的触发电压。
3.如权利要求2所述的MCU键盘电路,其特征在于,所述A点还通过电容Cl接地。
4.如权利要求1至3任一所述的MCU键盘电路的实现方法,其特征在于,包括步骤: 有按键按下时,施密特触发器触发MCU产生中断; 中断触发后,所述MCU启动A/D,并直按键标志位; 所述MCU读取A点的A/D值,对其进行数据处理后获取相应的键值,据此识别出当前被按下的按键,之后执行该按键的相应功能操作。
5.如权利要求4所述的MCU键盘电路的实现方法,其特征在于,该方法还包括:在执行当前被按下的按键的相应功能操作后,对所述按键标志位清零。
【文档编号】G06F3/02GK104360752SQ201410627384
【公开日】2015年2月18日 申请日期:2014年11月10日 优先权日:2014年11月10日
【发明者】刘均, 邓芳鸿, 李剑锋 申请人:深圳市元征科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1