51单片机学习之独立键盘输入


概念基础

上拉电阻

上拉电阻就是将一个不确定信号(高或低电平),通过一个电阻与电源VCC相连,固定在高电平,电阻同时起限流作用。下拉同理,也是将一个不确定信号(高或低电平),通过一个电阻与地GND相连,固定在低电平。上拉电阻和下拉电阻二者共同的作用是:

  • 避免电压的“悬浮”,否则会容易产生积累电荷,静电荷造成电路的不稳定;
  • 在引脚电平不定的时候,让后面有一个稳定的电平;
  • 提高输出引脚的驱动能力。

键盘防抖

当按一次按键时,由于按键有反应时间,以及抖动,造成机器感应到多次按键操作,而防抖就是让按键在抖动的过程中(一般是5-10ms)仅让机器感应到按键的一次操作。

软件防抖程序思路:

软件防抖程序思路

程序代码

#include<reg52.h>

sbit led0 = P1^0;
sbit k1 = P3^4;

void Delay(unsigned int ms){
    unsigned int i ,j;
    for(i = ms; i > 0; i--){
        for(j = 112; j>0; j--);
    }
}

void main(){
    P1 = 0xff;
    while(1){
        if(k1 == 0){        //判断是否有按下按键的信号
            Delay(5);        //延时5ms,防抖
            if(k1 == 0){    //再次判断是否按键按下
                while(k1 == 1);    //直到按键松开,之后后续代码
                led0 = ~led0;    //
            }
        }
    }
}

文章作者: Mahoo Huang
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Mahoo Huang !
评论
  目录