按键去抖动c语言编程,单片机实现电脑键盘去抖的编程设计

本文介绍了单片机中按键去抖的原理和重要性,主要讨论了软件去抖的方法,通过延时和多次检测来确保程序对按键闭合或断开的响应准确。详细阐述了一个用51汇编语言编写的去抖程序流程,适用于各种CPU负载和中断情况,避免了程序运行中的问题。
摘要由CSDN通过智能技术生成

当轻触开关合闭或是断掉时都有每段电平不平稳的時期,轻触开关在合闭时不容易立刻就平稳的接入,在断掉时也不容易突然之间完全断掉,只是在合闭和断掉的一瞬间随着了一个一个的电平颤动。这类颤动通常都会10ms上下。为了保证程序流程对功能键的一回合闭或是一回断掉只没有响应一回,务必开展功能键的去抖解决。当检验到功能键情况转变时,并不是马上去没有响应姿势,只是先等候合闭或断掉平稳后再开展解决。

功能键去抖方式 可分成硬件配置去抖和手机软件去抖,硬件配置去抖没有文中的探讨中,文中只探讨手机软件去抖。

通常的手机软件去抖就是说程序流程在检验到功能键合闭或断掉时启用每段廷时汇编程序(在c语言中叫涵数),程序流程再此死等10ms或更长。廷时之后再检验功能键的情况是不是与廷时前的情况相同,若相同就实行电脑键盘程序流程一部分,若不相同,则绕过实行电脑键盘程序流程。

这类方式 在程序流程劳动量并不是挺大时是沒有难题的。但在某些CPU负荷较为大的程序流程中,尤其某些程序流程运行中有较为多的在不确定性時间就会产生的终断的状况下(外界终断、串口终断、定时器中断等),这里死等,总有将会导致某一部分程序流程不可以非常好的被实行,乃至程序流程跑飞等比较严重难题。

1e5998437a989ae1bddb61d471e7ee6a.png

自己历经很多年的程序编写,小结了一整套处理这难题的方式 ,供大家参考。

单片机设计电脑键盘去抖的编程设计

程序流程是用51汇编语言写的,大伙儿若想用c语言撰写,参照这流程表改一下下就成。<

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值