[发明专利]多路输入开关消抖的方法、装置、存储介质及单片机设备有效
申请号: | 201910973861.0 | 申请日: | 2019-10-14 |
公开(公告)号: | CN110888833B | 公开(公告)日: | 2023-07-21 |
发明(设计)人: | 李虎;陈伟 | 申请(专利权)人: | 深圳市德明利技术股份有限公司 |
主分类号: | G06F15/78 | 分类号: | G06F15/78;G06F13/40 |
代理公司: | 深圳市道勤知酷知识产权代理事务所(普通合伙) 44439 | 代理人: | 何兵;饶盛添 |
地址: | 518000 广东省深圳市福田区梅林街道梅都社*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 输入 开关 方法 装置 存储 介质 单片机 设备 | ||
1.一种多路输入开关消抖的方法,其特征在于,所述方法应用于单片机,包括:
在预设时间段内,读取预设数量次数的多路输入开关的所有GPIO接口的电平状态,生成预设数量的样本值,根据所述预设数量的所述样本值,生成样本列表,预设时间段指单片机所在电路刚通电的时间段,其中,读取一次多路输入开关的所有GPIO接口的电平状态,生成一样本值;
设置用于判断所述多路输入开关的各所述GPIO接口电平状态的阈值, 数值“1”代表其GPIO的接口为高电平状态,数值“0”代表其GPIO接口为低电平状态,判断单片机获取各GPIO接口的高电平状态出现次数是否符合阈值,若符合,则判定各GPIO接口的最终电平状态为“1”;若不符合,则判定第一GPIO接口的最终电平状态为“0”;
根据所述多路输入开关的各所述GPIO接口对应的预设数量的电平状态以及所述阈值,分别判断各所述GPIO接口最终电平状态;
根据所述多路输入开关的的各所述GPIO接口最终电平状态,生成所述多路输入开关的状态值。
2.根据权利要求1所述的多路输入开关消抖的方法,其特征在于,所述设置用于判断所述多路输入开关的各所述GPIO接口电平状态的阈值的步骤包括:
将所述阈值对应的次数设置成占所述预设数量次数的70%。
3.根据权利要求1所述的多路输入开关消抖的方法,其特征在于,所述预设数量次数具有对应的取值范围,所述读取预设数量次数的多路输入开关的所有GPIO接口的电平状态的步骤,包括:
从所述取值范围中取任一值作为所述预设数量次数,并读取所述预设数量次数的多路输入开关的所有GPIO接口的电平状态。
4.一种多路输入开关消抖的装置,其特征在于,包括:
第一执行模块,用于在预设时间段内,读取预设数量次数的多路输入开关的所有GPIO接口的电平状态,生成预设数量的样本值,预设时间段指单片机所在电路刚通电的时间段;根据所述预设数量的所述样本值,生成样本列表,其中,读取一次多路输入开关的所有GPIO接口的电平状态,生成一样本值;
阈值设置模块,用于设置用于判断所述多路输入开关的各所述GPIO接口电平状态的阈值;数值“1”代表其GPIO的接口为高电平状态,数值“0”代表其GPIO接口为低电平状态,判断单片机获取各GPIO接口的高电平状态出现次数是否符合阈值,若符合,则判定各GPIO接口的最终电平状态为“1”;若不符合,则判定第一GPIO接口的最终电平状态为“0”;
判断模块,用于根据所述多路输入开关的各所述GPIO接口对应的预设数量的电平状态以及所述阈值,分别判断各所述GPIO接口最终电平状态;
第二执行模块,用于根据所述多路输入开关的的各所述GPIO接口最终电平状态,生成所述多路输入开关的状态值。
5.根据权利要求4所述的一种多路输入开关消抖的装置,其特征在于,所述阈值设置模块包括:
设置子模块,用于将所述阈值对应的次数设置成占所述预设数量次数的70%。
6.根据权利要求4所述的多路输入开关消抖的装置,其特征在于,所述第一执行模块包括:
取值子模块,用于从所述取值范围中取任一值作为所述预设数量次数,并读取预设数量次数的多路输入开关的所有GPIO接口的电平状态。
7.一种存储介质,其特征在于,其为单片机可读的存储介质,其上存储有单片机程序,所述单片机程序被执行时实现如权利要求1~3任一项所述的多路输入开关消抖的方法。
8.一种单片机设备,其特征在于,用于执行权利要求1~3任一项所述的多路输入开关消抖的方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳市德明利技术股份有限公司,未经深圳市德明利技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910973861.0/1.html,转载请声明来源钻瓜专利网。