单片机按键计数防抖的问题 50
用单片机做按键扫描的时候要处理防抖,一般教材使用延时防抖,这样程序停在一个地方,很不科学,效率很低。那么就用计数来防抖,原理是按键处理的程序放在主循环或者定时器中运行,程...
用单片机做按键扫描的时候要处理防抖,一般教材使用延时防抖,这样程序停在一个地方,很不科学,效率很低。那么就用计数来防抖,原理是按键处理的程序放在主循环或者定时器中运行,程序中对循环进行计数,计数值大于某一个数值的时候就认为抖动已经过去了,可以判断为正常按键。现在的问题是,不仅仅是按键扫描在主循环中运行,还有一个1602的显示刷新程序,还有1602显示的菜单按键处理程序等等,每一次主循环都要运行这些程序。现在问题是,菜单按键处理,显示刷新等程序每次运行怎么样保证每次都进入上次循环运行到的地方去,要不然比如按下功能键,每次都重新进去相关函数。这样要在相关函数中设置很多的静态变量,而且不同的功能函数要设定不同的变量,很麻烦。有没有通用的思路清晰的办法来解决呢?网上说的时间片算法是不是这个意思呢?
展开
2个回答
2014-12-02
展开全部
只要把时间设置合理,在检测完成前就可以吧
追问
我的意思是怎么样通用地保护每个程序的现场,下次执行从上次执行的断点开始。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询