我是靠谱客的博主 鲤鱼水壶,这篇文章主要介绍51单片机(二十四)—— 独立按键工作原理,现在分享给大家,希望可以做个参考。

        按键是单片机应用中必不可少的输入器件,本文我们基于51单片机来介绍独立按键的工作原理。

        在我们使用的开发板上,独立按键的电路如下图所示。

        在使用51单片机读取按键转态时,将按键连接的单片机接口赋值1(这种方式适合51单片机,但不一定适合其他单片机),如果按键按下,则端口被拉低。因此,通过读取单片机接口的电平状态就可以判断按键是否按下,如果输入时高电平,则按键没有按下;如果输入是低电平,则按键按下。

        当按下或松开按键时,由于按键的机械抖动,使信号也会存在抖动。如下图所示。

         信号的抖动会造成单片机的误判断。可能造成按下一下按键却判断成按下了多次按键。为了得到正确的结果,要对按键进行去抖。去抖分为硬件去抖和软件去抖两种。硬件去抖就是在按键的两端加上一个电容,软件去抖则不需要增加硬件成本。只需要软件处理。

       软件去抖的具体方法是:当判断有按键按下时,程序延时一段时间,跳过这个抖动区域,之后再检测按键状态。如果再次检测时输入时高电平,说明是抖动或干扰造成的。如果输入是低电平,说明确实有按键按下。

        下面的代码是对按键按下的典型判断语句,先判断KEY的值是否为0,如果为0则延时10ms,然后再次读取KEY的值,依然为0则判断为按键按下,进行按键按下的处理代码,最后等待按键松开后退出。

复制代码
1
2
3
4
5
6
7
8
9
10
if(KEY==0) //按键KEY按下 { delay1ms(10); //延时10ms去抖 if(KEY==0) //再次判断按键KEY按下 { //加入处理代码 } while(KEY==0); //等待按键松开 }

 

 

最后

以上就是鲤鱼水壶最近收集整理的关于51单片机(二十四)—— 独立按键工作原理的全部内容,更多相关51单片机(二十四)——内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(84)

评论列表共有 0 条评论

立即
投稿
返回
顶部