在机械按键内部都会有弹簧,当我们按下时会发生抖动,这可能导致我们系统对电信号的判断有误。所以可以用状态机进行消抖,我的理解就是在只要按键保持的时间没有达到一定的数值,在这个中间的抖动对归为一种状态。设计START,F1,DOWN,F2这四种状态,只有当计数器记满20ms才会发生相应跳变。
先设计计数模块
对输入的单bit信号进行同步处理
最后用case语句写出4种状
在机械按键内部都会有弹簧,当我们按下时会发生抖动,这可能导致我们系统对电信号的判断有误。所以可以用状态机进行消抖,我的理解就是在只要按键保持的时间没有达到一定的数值,在这个中间的抖动对归为一种状态。设计START,F1,DOWN,F2这四种状态,只有当计数器记满20ms才会发生相应跳变。
先设计计数模块
对输入的单bit信号进行同步处理
最后用case语句写出4种状