AT89C51单片机:简述在使用普通按键的时候,为什么要进行去抖动处理,怎么处理?
3个回答
展开全部
从机械按键的结构来看,在机械按键接触的瞬间,会出现接触或者是没有接触的情况。在机械按键老化的时候,或者在其他干扰的情况下都会出现按键被误触发的情况。
去除机械按键这种抖动的措施有硬件方法,还有软件方法,硬件方法就是在按键上增加电容去除干扰。在按键上串一个电阻也可以解决静电或者是其他干扰对按键造成的干扰。软件去抖动也是一种非常常见的去抖动的方法,就是对按键进行多次的检测,每次检测都被按下才认为按键被按下。
扩展资料:
单片机使用注意事项:
室外使用的单片机系统或电源线,信号线从室外架空引入室内的要考虑系统的防雷击问题,气体放电管TVS,这类元器件要和抗共模和抗差模干扰的电感配合使用以提高抗干扰效果。
典型的信号隔离是光电隔离。屏蔽则是用来隔离空间辐射的,对噪声特别大的部件,如开关电源,用金属盒罩起来。对特别怕干扰的模拟电路,如高灵敏度的弱信号放大电路可屏蔽起来。而重要的是金属屏蔽本身必须接真正的地。
参考资料来源:百度百科-单片机
展开全部
人手在按下按键的时候,由于抖动和按键触点的原因会产生多个上升沿和下降沿,导致单片机误认为按键受到了多次操作,所以要进行去抖处理,软件的处理方法一般是加延时后重复判断,硬件上可以加旁路电容保护。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不仅仅AT89C51单片机,任何按键的判定都需要做去抖处理,这是为了防止干扰信号对按键的影响,也为了去掉一些误动作对正确信号的影响。去抖处理的方法一般采用延时去抖处理:
KEYDEL:
JB KEY,KEYRET ;无键按下转KEYRET
LCALL DELAY ;有键按下延时10~30毫秒
JB KEY,KEYRET ;无键按下,证明以前是误操作或干扰
SETB C ;有键按下,设置标志返回
RET
KEYRET:
CLR C ;无键按下清楚标志返回
RET
KEYDEL:
JB KEY,KEYRET ;无键按下转KEYRET
LCALL DELAY ;有键按下延时10~30毫秒
JB KEY,KEYRET ;无键按下,证明以前是误操作或干扰
SETB C ;有键按下,设置标志返回
RET
KEYRET:
CLR C ;无键按下清楚标志返回
RET
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询