单片机独立按键去抖动问题
单片机独立按键去抖动问题视频讲按下时因为变低电平,有抖动,所以加上延时程序去抖动,但是松开按键直接一个while判断后直接退出了,而没有加上去抖动延时。我看书上写,松开后...
单片机独立按键去抖动问题视频讲按下时因为变低电平,有抖动,所以加上延时程序去抖动,但是松开按键直接一个while判断后直接退出了,而没有加上去抖动延时。我看书上写,松开后不需要去抖动,为什么啊?
展开
展开全部
按键按下的时候加了延时,你已经知道原因了。是为了消除抖动,你的疑问是为什么松开的时候没有再加上延时函数,原因很简单,看图片。
因为进行了两次if判断,松开按键的时候无非会出现电平的跳变,理论上松开按键之后就一直为高电平1111111111,如果出现1110101111,中间的第一个10就发生了跳变,因为cpu的运算速度非常快,当程序又到了第一个if时,此时key1为0,那么满足条件,执行延时函数,后面第二纤并个10就直接忽森竖瞎略了,后面的电平已经为1,所以这一个延时函数就同时此空起到消除按下和松开的电平抖动的作用。(如果松开按键之后的电平为低电平,那么把我上面的所有的程序和电平取反就行了,再来阅读)。
宿兴电子
2024-11-28 广告
2024-11-28 广告
联系我们一、有无震荡源 无源这里的“源”不是指电源,而是指震荡源。也就是说,有源蜂鸣器内部带震荡源,所以只要一通电就会叫。而无源内部不带震荡源,所以如果用直流信号无法令其鸣叫。 二、价格不同 有源蜂鸣器往比无源蜂鸣器贵,就是因为里面多个震荡...
点击进入详情页
本回答由宿兴电子提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询