本发明专利技术提供了一种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键盘电路及其实现方法
本专利技术涉及键盘
,尤其涉及一种简单、高效、特别节省MCU资源的键盘电路及其实现方法。
技术介绍
通常MCU的键盘电路的实现方法如下: (I)独立键盘法 一般地,当按键个数不大于8时,可以采用这种方法,每个按键连接一根MCU的I/O线,这样,有几个按键就需要占用几根MCU的I/O线,这种方法占用MCU硬件资源较多。 (2)矩阵键盘法 一般地,当按键个数大于8时,多采用此法:将按键排列成矩阵形式,将矩阵的行列连接到MCU的I/O线,所占用MCU的I/O线数为该矩阵的行数与列数之和。 上述各实现键盘电路的方法,所占用的MCU的I/O线较多,这样就给需要连接较多外设的MCU系统带来了 I/O资源不足的麻烦。
技术实现思路
本专利技术的目的在于提供一种MCU键盘电路及其实现方法,解决MCU系统I/O资源不足的问题。 本专利技术的目的是通过以下技术方案实现的。 一种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中断。 其中,所述电阻R1?Rm的阻值之和与公共电阻对VCC电源的分压产生的A点电压均高于所述施密特触发器的触发电压。 其中,所述A点还通过电容Cl接地。 一种如上所述的MCU键盘电路的实现方法,包括步骤: 有按键按下时,施密特触发器触发MCU产生中断; 中断触发后,所述MCU启动A/D,并直按键标志位; 所述MCU读取A点的Α/D值,对其进行数据处理后获取相应的键值,据此识别出当前被按下的按键,之后执行该按键的相应功能操作。 其中,还包括:在执行当前被按下的按键的相应功能操作后,对所述按键标志位清零。 与现有技术相比,本专利技术的有益效果在于: (I)键盘处理软件简单,耗用MCU极少的时间,高效; (2)此键盘电路的实现,仅占用MCU的两根I/O线,大大节省了 MCU的资源; (3)通过电容与施密特触发器的配合,提升了系统的有效性、可靠性。 【附图说明】 图1是本专利技术实施例中键盘电路原理图; 图2是本专利技术实施例中键盘电路的实现方法流程图。 【具体实施方式】 为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。 请参阅图1,本专利技术提出的键盘电路包括:M个按键(以下描述为Sp S2.....SM, I ( i彡M),以及与按键一一对应的M个电阻R(以下描述为R2.....Rm),公共电阻R9, 电容C1,施密特触发器,MCU。本实施例中,M的值为8,即包括了 8个按键以及8个电阻R。 其中,电阻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的第二输入接口(用于接收中断触发信号)。 当无按键按下时,A点电压为低,施密特触发器输出为高电平,中断信号无效。当有按键按下时,A点产生一定的电压值,斯密特触发器的输入端产生由零电压向正电压上的变化,则斯密特触发器的输出端产生一个下降沿,从而使MCU中断。本实施例中,可以根据所选的施密特触发器的不同,通过调整图1中Rl至R9的值,使得这个电压变化的值足以使得施密特触发器触发;也就是说,选择各按键对应的电阻值时要注意,各按键对应的电阻(如图1中Rl至R8)值之和与公共电阻R9对VCC的分压产生的A点电压要略高于施密特触发器的触发电压,这样才能保证每个按键按下时,都会使施密特触发器触发。 另外,上述A点还通过电容Cl接地,其目的为:一、稳定A/D的输入;二、当有小毛刺过来时,它与施密特触发器一起滤掉毛刺的干扰,保证中断的有效性。 请参阅图2,本实施例中上述键盘电路的实现方法为: 201、有按键按下时,施密特触发器的输出端产生下降沿,触发MCU产生中断。 本步骤中,若无按键被按下时,A点电压为低,施密特触发器输出为高电平,不触发MCU产生中断。 202、进入中断程序后,MCU启动A/D,并置按键标志位。按键标志位用以提示主程序当前有按键被按下,需要执行按键识别操作。 203、读取A/D值。由于不同按键被按下时,将使A点产生不同的电压,即A/D的输入为不同的电压值,因此不同按键被按下时将产生不同的Α/D值,该Α/D值即可作为后续按键识别的判断依据。 204、对所读取的Α/D值进行数据处理后获取相应的键值,从而识别出当前被按下的按键,之后执行该按键的相应操作。 205、清除按键标志。由于已实现当前被按下的按键功能,所以此时需要将按键标志清零,返回步骤201,待下一次有按键被按下时,再次产生中断及进行后续的按键识别。 综上,本专利技术采用电容与施密特触发器组合的方法,使得键盘在没有按键被按下或受到环境干扰时不产生MCU中断,当按键被按下时MCU中断才会被触发,进入中断程序后MCU根据Α/D输出值的不同进行按键识别,具有简单、高效、节省资源等优点。 以上所述仅为本专利技术的较佳实施例而已,并不用以限制本专利技术,凡在本专利技术的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本专利技术的保护范围之内。本文档来自技高网...
【技术保护点】
一种MCU键盘电路,包括MCU和M个按键S1~SM,其特征在于,还包括:与按键一一对应的M个电阻R1~RM、公共电阻、施密特触发器;其中,所述电阻R1的一端连接VCC电源,另一端与电阻R2至RM依次串联;所述电阻RM的未与电阻RM‑1连接的一端与按键SM的一端连接,按键Si的一端与电阻Ri的与Ri+1连接的连接端相连,1≤i≤M‑1;按键S1~SM的另一端通过公共电阻接地;同时,按键S1~SM的与公共电阻连接的连接端均连接于A点后,与MCU的第一输入接口和施密特触发器的输入端分别连接;所述施密特触发器的输出端连接至MCU的第二输入接口。当无按键按下时,所述施密特触发器输出为高电平,中断信号无效;当有按键按下时,所述斯密特触发器的输入端产生下降沿,触发MCU中断。
【技术特征摘要】
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的第二输入接口。 当无按键按下时,所述施密特触发器输出为高电平,中断信号无效;当有按键按下时,所述斯密特触发器的输入端产生下降沿,触发MC...
【专利技术属性】
技术研发人员:刘均,邓芳鸿,李剑锋,
申请(专利权)人:深圳市元征科技股份有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。