51单片机,用按键实现外部中断,软件如何去抖?51单片机汇编如何用外部中断实现暂停?
51单片机,用按键实现外部中断,软件如何去抖?
定时中断里设置一个记录按下时间的static变量t 按下按键则将t++(注意不要加到溢出) 松开按键,检测t t<t1,为抖动,忽略 t1<t<t2,按键,置相应的标志位交由主程序处理. t2<t<t3,长按键,置相应的标志位交由主程序处理. 清零t t1,t2,t3由中断的间隔和去抖的要求设置常数
51单片机汇编如何用外部中断实现暂停?
问题是:一个程序暂停,还有其它程序在执行吗?
主循环程序也暂停吗?
那就设置一个标志位,中断后,标志为1,再次中断,又恢复为0。
回主循环程序,如果标志位为1,就进入一个循环中,循环中只查这个标志位,为1就始终循环,相当于暂停一个程序。不为1,即为0就跳出循环,进入正常的程序,即继续那个程序。 当再次中断,标志位为0,主程序就继续了。
来源:文章来源于网络,如有侵权请联系我们删除。本文由五金加工编辑,欢迎分享本文,转载请保留出处和链接!