概念基础

上拉电阻

上拉电阻就是将一个不确定信号(高或低电平),通过一个电阻与电源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;	//
			}
		}
	}
}