一种基于复合按键的冰箱控制方法与流程

专利2022-06-29  53


本发明属于冰箱技术领域,特别是涉及一种基于复合按键的冰箱控制方法。



背景技术:

现冰箱所用的按键检测方法,通常是采用传统方式,即一个按键对应一个io口,进行高低电平检测。可是随着冰箱功能的丰富化,导致单片机io口紧缺,若更换具备更多io口的单片机,势必会增加成本,所以在io口紧缺的情况下,需要一个有效的解决方案。



技术实现要素:

本发明的目的在于提供一种基于复合按键的冰箱控制方法,通过一个ad口和若干个电阻组成按键检测电路,按下不同按键时,通过电阻分压得到不同的电压值,通过ad转换过程得到不同的ad采样值,实现多个按键的输入检测;同时通过计时按键按下时间,区分短/长按键;在io口紧缺的情况下,仅需要一个单独的io口,就可以实现多个按键的输入检测,节约生产成本。

为解决上述技术问题,本发明是通过以下技术方案实现的:

本发明为一种基于复合按键的冰箱控制方法,包括如下步骤:

步骤一:按键扫描:

s01、ad转换通道选择及初始化;

s02、采样频次n累加;

s03、判断ad转换是否结束,若是,执行s04,否则,等待;

s04、取ad转换结果,求和;

s05、采样频次n是否大于第一预设值n1,若是,执行s06,否则返回s02;

s06、求n1次的平均值key;

s07、判断平均值是否在区间[key1,key2],若是,返回键值key_value=1,否则,执行s08;

s08、判断平均值是否在区间[key2,key3],若是,返回键值key_value=2,否则,执行s09;

s09、判断平均值是否在区间[key3,key4],若是,返回键值key_value=3,否则,返回键值key_value=0;

s10、判断键值key_value是否和上一时刻的键值相同,若是,执行s11,否则,执行s12;

s11、判断是否有键按下,若是,置按键标志位keyflag,计数变量key_count累加,执行s13;

s12、清计数变量key_count,清按键标志keyflag,清按下时间变量key_config;

s13、判断计数变量key_count是否大于第二预设值n2,若是,置按键按下标志;

步骤二:长/短按键检测:

ss01、判断按键标志keyflag是否等于1,若是,执行ss02,否则执行ss04;

ss02、判断按下时间key_config是否大于第三预设值t1,若是,执行ss03;

ss03、按下有效,执行长按键下操作;

ss04、抬起有效,执行短按键下操作。

优选地,所述复合按键包括按键k1、按键k2和按键k3;所述按键k1、按键k2和按键k3的1脚并联接入ad输入口;所述按键k1、按键k2和按键k3的2脚均接地;

所述按键k1、按键k2和按键k3的并联分支上还分别串联有电阻r19、电阻r25和电阻r26;所述ad输入口上还连接有一电压源;所述电压源与ad输入口之间还连接有一接地电容c4。

本发明具有以下有益效果:

本发明通过一个ad口和若干个电阻组成按键检测电路,按下不同按键时,通过电阻分压得到不同的电压值,通过ad转换过程得到不同的ad采样值,实现多个按键的输入检测;同时通过计时按键按下时间,区分短/长按键;在io口紧缺的情况下,仅需要一个单独的io口,就可以实现多个按键的输入检测,节约生产成本。

当然,实施本发明的任一产品并不一定需要同时达到以上所述的所有优点。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明中的复合按键的电路图;

图2为键值检测流程图;

图3为按键生效流程图;

图4为长/短按键检测流程图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。

请参阅图1-4所示,本发明为一种基于复合按键的冰箱控制方法,包括如下步骤:

步骤一:按键扫描:

s01、ad转换通道选择及初始化;

s02、采样频次n累加;

s03、判断ad转换是否结束,若是,执行s04,否则,等待;

s04、取ad转换结果,求和;

s05、采样频次n是否大于第一预设值n1,若是,执行s06,否则返回s02;

s06、求n1次的平均值key;

s07、判断平均值是否在区间[key1,key2],若是,返回键值key_value=1,否则,执行s08;

s08、判断平均值是否在区间[key2,key3],若是,返回键值key_value=2,否则,执行s09;

s09、判断平均值是否在区间[key3,key4],若是,返回键值key_value=3,否则,返回键值key_value=0;

s10、判断键值key_value是否和上一时刻的键值相同,若是,执行s11,否则,执行s12;

s11、判断是否有键按下,若是,置按键标志位keyflag,计数变量key_count累加,执行s13;

s12、清计数变量key_count,清按键标志keyflag,清按下时间变量key_config;

s13、判断计数变量key_count是否大于第二预设值n2,若是,置按键按下标志;

步骤二:长/短按键检测:

ss01、判断按键标志keyflag是否等于1,若是,执行ss02,否则执行ss04;

ss02、判断按下时间key_config是否大于第三预设值t1,若是,执行ss03;

ss03、按下有效,执行长按键下操作;

ss04、抬起有效,执行短按键下操作。

其中如图1所示,复合按键包括按键k1、按键k2和按键k3;按键k1、按键k2和按键k3的1脚并联接入ad输入口;按键k1、按键k2和按键k3的2脚均接地;

按键k1、按键k2和按键k3的并联分支上还分别串联有电阻r19、电阻r25和电阻r26;ad输入口上还连接有一电压源;电压源与ad输入口之间还连接有一接地电容c4。

值得注意的是,上述系统实施例中,所包括的各个单元只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。

另外,本领域普通技术人员可以理解实现上述各实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,相应的程序可以存储于一计算机可读取存储介质中,所述的存储介质,如rom/ram、磁盘或光盘等。

以上公开的本发明优选实施例只是用于帮助阐述本发明。优选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本发明的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本发明。本发明仅受权利要求书及其全部范围和等效物的限制。


技术特征:

1.一种基于复合按键的冰箱控制方法,其特征在于,包括如下步骤:

步骤一:按键扫描:

s01、ad转换通道选择及初始化;

s02、采样频次n累加;

s03、判断ad转换是否结束,若是,执行s04,否则,等待;

s04、取ad转换结果,求和;

s05、采样频次n是否大于第一预设值n1,若是,执行s06,否则返回s02;

s06、求n1次的平均值key;

s07、判断平均值是否在区间[key1,key2],若是,返回键值key_value=1,否则,执行s08;

s08、判断平均值是否在区间[key2,key3],若是,返回键值key_value=2,否则,执行s09;

s09、判断平均值是否在区间[key3,key4],若是,返回键值key_value=3,否则,返回键值key_value=0;

s10、判断键值key_value是否和上一时刻的键值相同,若是,执行s11,否则,执行s12;

s11、判断是否有键按下,若是,置按键标志位keyflag,计数变量key_count累加,执行s13;

s12、清计数变量key_count,清按键标志keyflag,清按下时间变量key_config;

s13、判断计数变量key_count是否大于第二预设值n2,若是,置按键按下标志;

步骤二:长/短按键检测:

ss01、判断按键标志keyflag是否等于1,若是,执行ss02,否则执行ss04;

ss02、判断按下时间key_config是否大于第三预设值t1,若是,执行ss03;

ss03、按下有效,执行长按键下操作;

ss04、抬起有效,执行短按键下操作。

2.根据权利要求1所述的一种基于复合按键的冰箱控制方法,其特征在于,所述复合按键包括按键k1、按键k2和按键k3;所述按键k1、按键k2和按键k3的1脚并联接入ad输入口;所述按键k1、按键k2和按键k3的2脚均接地;

所述按键k1、按键k2和按键k3的并联分支上还分别串联有电阻r19、电阻r25和电阻r26;所述ad输入口上还连接有一电压源;所述电压源与ad输入口之间还连接有一接地电容c4。

技术总结
本发明公开了一种基于复合按键的冰箱控制方法。本发明中:由一个AD口和若干个电阻组成按键检测电路,按下不同按键时,通过电阻分压得到不同的电压值,通过AD转换过程得到不同的AD采样值,实现多个按键的输入检测以及长/短按键检测。本发明通过按下不同按键时,通过电阻分压得到不同的电压值,通过AD转换过程得到不同的AD采样值,实现多个按键的输入检测;同时通过计时按键按下时间,区分短/长按键;在IO口紧缺的情况下,仅需要一个单独的IO口,就可以实现多个按键的输入检测,节约生产成本。

技术研发人员:左秋杰;汪良树;彭孟杰;胡国攀
受保护的技术使用者:长虹美菱股份有限公司
技术研发日:2020.01.16
技术公布日:2020.06.05

转载请注明原文地址: https://bbs.8miu.com/read-51703.html

最新回复(0)