按键扫描方法和低压电器的控制器技术

技术编号:16348462 阅读:132 留言:0更新日期:2017-10-03 23:12
按键扫描方法和低压电器的控制器,按键扫描方法包括以下步骤:a,判断消抖时间是否耗尽,如果耗尽,进入步骤b,否则重复步骤a;b,获取具体按键值;c,判断获取的按键值是否有效;如果扫描到按键值为有效按键值时,则进行步骤d,如果扫描到的按键值为无效按键值,则表示没有获取到按键值,扫描结束;d,扫描到的按键次数不是第一次时,对扫描到的按键次数和消抖时间进行复位操作,进入步骤e,扫描到的按键次数是第一次时,则保存当前获取的按键值,标识按键次数并设置消抖时间,进入步骤a;e,当获取的按键值与上一次获取的按键值相同时,得到扫描的按键值,如果获取的按键值与上一次获取的按键值不同,则表示获取按键值无效。

【技术实现步骤摘要】
按键扫描方法和低压电器的控制器
本专利技术涉及低压电器领域,特别涉及一种按键扫描方法和低压电器的控制器。
技术介绍
现有智能型的低压电器,包括断路器、变频器、接触器、继电器等的控制器,在矩阵键盘的扫描方式上,常见的扫描方式分为中断扫描和定时扫描方式,中断扫描以按键中断信号为扫描入口,定时扫描以定时服务为扫描入口。在现有的按键扫描中,按键消抖都是采用时间耗尽的方式进行消抖;按键值扫描时只进行单一的逐行扫描;在按键增加和删除时,都需要对软件进行修改,移植性差。另外,低压电器的矩阵式键盘由于空间限制,通常无法设置过多的按键,而且在使用时每个按键只能实现单一的功能,导致无法满足应用的需要,或者需要用户进行多次操作选择,导致用户操作过于复杂。
技术实现思路
本专利技术的目的在于克服现有技术的缺陷,提供一种按键扫描方法,通过对按键进行再一次的确认过程,实现按键消抖功能,还提供了一种低压电器的控制器。为实现上述目的,本专利技术采用了如下技术方案:一种按键扫描方法,包括以下步骤:a,判断消抖时间是否耗尽,如果耗尽,进入步骤b,否则重复步骤a;b,获取具体按键值;c,判断获取的按键值是否有效;如果扫描到按键值为有效按键值时,则进行步骤d,如果扫描到的按键值为无效按键值,则表示没有获取到按键值,扫描结束;d,对扫描到的按键次数进行判断:扫描到的按键次数不是第一次时,对扫描到的按键次数和消抖时间进行复位操作,进入步骤e,扫描到的按键次数是第一次时,则保存当前获取的按键值,标识按键次数并设置消抖时间,进入步骤a;e,对当前获取的按键值进行判断:当获取的按键值与上一次获取的按键值相同时,得到扫描的按键值,如果获取的按键值与上一次获取的按键值不同,则表示获取按键值无效。一种低压电器的控制器,包括按键电路和与按键电路连接的控制单元,所述控制单元根据预设的扫描时间定时采用上述的按键扫描方法对按键电路进行扫描获得按键值。进一步,所述按键电路在按键被按下时向控制单元发送中断信号,控制单元在收到中断信号后采用权利要求1所述的按键扫描方法对按键电路进行扫描获得按键值。进一步,所述按键电路包括中断信号电路和键盘电路,所述键盘电路包括按N行N列排列的N*N个按键的矩阵键盘,中断信号电路用于按键值的输出,所述N*N个按键的矩阵键盘的每行按键分别通过一根行扫描线连接,每列按键分别通过一根列扫描线连接,所述中断信号电路包括N个二极管组成的第一组开关二极管和另外N个二极管组成的第二组开关二极管;所述第二组开关二极管的正极分别和N列扫描线连接,第二组开关二极管的负极分别与电阻R302的一端连接,电阻R302的另一端与三极管Q301的基极连接,三极管Q301的集电极连接至第N+1个I/O端口KEY_INT,按键电路在按键被按下时通过第N+1个I/O端口KEY_INT向控制单元发送中断信号,三极管Q301的发射极接地;N列扫描线的一端与第一组开关二极管的N个二极管的正极连接,第一组开关二极管的N个二极管的负极与N行扫描线连接,N行扫描线与N个I/O端口(KEY_P1,……,KEY_Pn)连接。进一步,所述中断信号电路的每一根列扫描线通过N个电阻接地,所述第N+1个I/O端口KEY_INT通过第N+1个电阻接地。进一步,所述中断信号电路还包括电阻R301,电阻R301的一端与三极管Q301的集电极连接,另一端与3.3v电源正极连接。进一步,扫描到的按键值为无效按键值后,重新配置引脚功能,将I/O端口KEY_INT以外的I/O端口(KEY_P1,……,KEY_Pn)都配置为高电平输出状态。进一步,按键值扫描时,可以对任意一行进行扫描,或者对其中几行进行扫描,也可以对所有行进行扫描。进一步,获取按键值时,先将需要扫描的相应行的I/O端口设为输出,并配置为高电平,再将其余的I/O端口设为输入,然后检测每个I/O端口的值,再将该数值加上该行的序号值,即为相应行的值;依次获取N行的按键值,再将获取到的N行按键值组合成一个值,即为最终获取到的按键值。本专利技术按键扫描方法,通过对按键进行连续两次扫描,并进行确认,只有连续两次扫描按键值一致时,才认为按键有效,两次的扫描间隔时间大于按键抖动时间,从而实现按键消抖功能。附图说明图1是本专利技术中断扫描方式的流程框图;图2是本专利技术定时扫描方式流程框图;图3是本专利技术按键扫描方法获取按键值的流程图;图4是本专利技术另一种按键扫描方法的流程图;图5是本专利技术键盘电路的电路图;图6是本专利技术中断信号电路的电路图。具体实施方式以下结合附图1至6给出的实施例,进一步说明本专利技术的按键扫描方法和低压电器的控制器的具体实施方式。本专利技术的按键扫描方法和低压电器的控制器不限于以下实施例的描述。本专利技术的一种按键扫描方法,包括以下步骤:a,判断消抖时间是否耗尽,如果耗尽,进入步骤b,否则重复步骤a;b,获取具体按键值;c,判断获取的按键值是否有效;如果扫描到按键值为有效按键值时,则进行步骤d,如果扫描到的按键值为无效按键值,则表示没有获取到按键值,扫描结束;d,对扫描到的按键次数进行判断:扫描到的按键次数不是第一次时,对扫描到的按键次数和消抖时间进行复位操作,进入步骤e,扫描的按键次数是第一次时,则保存当前获取的按键值,标识按键次数并设置消抖时间,进入步骤a;e,对当前获取的按键值进行判断:当获取的按键值与上一次获取的按键值相同时,得到扫描的按键值,如果获取的按键值与上一次获取的按键值不同,则表示获取按键值无效。本专利技术按键扫描方法,通过对按键进行连续两次扫描,并进行确认,只有连续两次扫描的按键值一致时,才认为按键有效,两次的扫描间隔时间大于按键抖动时间,从而实现按键消抖功能。这里的按键次数是指系统内部所扫描到的按键次数,但未必是用户实际按了多次按键,因为采用的是扫描方式(每间隔一定时间扫描一次,检测是否有按键按下),故当用户单次按下按键的时间较长时(超过扫描间隔时间时)与系统实际扫描到按键次数并不相同。如图1所示,本专利技术的按键扫描方法的第一种实施例:中断扫描方式。(1)当检测到按键中断信号后,置中断标志位。(2)判断按键消抖时间是否耗尽:如果耗尽当按键消抖时间耗尽,扫描具体的按键值;否则重复步骤(2)。(3)获取具体按键值。(4)判断获取的按键值是否有效:如果扫描到的按键值为有效按键值时,则进行有效按键次数判断;如果扫描到的按键值为无效按键值,则表示没有获取到按键值,对按键次数、扫描标志、中断标志进行复位操作。(5)进行按键的次数判断:按键并不是第一次按下时,对按键次数、扫描标志、中断标志进行复位操作;如果按键为第一次按下,则保存当前获取的按键值,并将扫描标志和中断标志复位、消抖时间重置、按键次数加一,然后进行步骤(2)。(6)对当前获取的按键值进行判断:当获取的按键值与上一次获取的按键值相同时,将按键值进行缓存,以备按键处理时使用;如果获取的按键值与上一次获取的按键值不同,则表示获取按键值无效。(7)重新配置引脚功能,将中断引脚以外的引脚都配置为高电平输出状态。不管获取到按键值有效,还是无效,都需要重新配置引脚功能。(8)此时一次按键中断扫描结束。当检测到按键中断信号后,置中断标志位,刚开始时间T=0直接进行第一次按键扫描,再一次按键确认本文档来自技高网...
按键扫描方法和低压电器的控制器

【技术保护点】
一种按键扫描方法,包括以下步骤:a,判断消抖时间是否耗尽,如果耗尽,进入步骤b,否则重复步骤a;b,获取具体按键值;c,判断获取的按键值是否有效;如果扫描到按键值为有效按键值时,则进行步骤d,如果扫描到的按键值为无效按键值,则表示没有获取到按键值,扫描结束;d,对扫描到的按键次数进行判断:扫描到的按键次数不是第一次时,对扫描到的按键次数和消抖时间进行复位操作,进入步骤e,扫描到的按键次数是第一次时,则保存当前获取的按键值,标识按键次数并设置消抖时间,进入步骤a;e,对当前获取的按键值进行判断:当获取的按键值与上一次获取的按键值相同时,得到扫描的按键值,如果获取的按键值与上一次获取的按键值不同,则表示获取按键值无效。

【技术特征摘要】
1.一种按键扫描方法,包括以下步骤:a,判断消抖时间是否耗尽,如果耗尽,进入步骤b,否则重复步骤a;b,获取具体按键值;c,判断获取的按键值是否有效;如果扫描到按键值为有效按键值时,则进行步骤d,如果扫描到的按键值为无效按键值,则表示没有获取到按键值,扫描结束;d,对扫描到的按键次数进行判断:扫描到的按键次数不是第一次时,对扫描到的按键次数和消抖时间进行复位操作,进入步骤e,扫描到的按键次数是第一次时,则保存当前获取的按键值,标识按键次数并设置消抖时间,进入步骤a;e,对当前获取的按键值进行判断:当获取的按键值与上一次获取的按键值相同时,得到扫描的按键值,如果获取的按键值与上一次获取的按键值不同,则表示获取按键值无效。2.一种低压电器的控制器,其特征在于:包括按键电路和与按键电路连接的控制单元,所述控制单元根据预设的扫描时间定时采用权利要求1所述的按键扫描方法对按键电路进行扫描获得按键值。3.根据权利要求2所述的低压电器的控制器,其特征在于:所述按键电路在按键被按下时向控制单元发送中断信号,控制单元在收到中断信号后采用权利要求1所述的按键扫描方法对按键电路进行扫描获得按键值。4.根据权利要求3所述的低压电器的控制器,其特征在于:所述按键电路包括中断信号电路和键盘电路,所述键盘电路包括按N行N列排列的N*N个按键的矩阵键盘,中断信号电路用于按键值的输出,所述N*N个按键的矩阵键盘的每行按键分别通过一根行扫描线连接,每列按键分别通过一根列扫描线连接,所述中断信号电路包括N个二极管组成的第一组开关二极管和另外N个二极管组成的第二组开关二极管;所述第二组开关二极管的正极分别和N列扫描线连接,第二组开关二极管的负极分...

【专利技术属性】
技术研发人员:陈爱华陈超井声波阮冬华
申请(专利权)人:浙江正泰电器股份有限公司上海电科电器科技有限公司
类型:发明
国别省市:浙江,33

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

1