轻触开关一般有四个脚,1与3和2与4脚初始状态下是导通的,当按键按下时,1与2脚导通,3与4脚导通。如下图所示:

 图1  轻触按键四脚示意图

开发板上有四个独立按键,K1,K2,K3,K4分别接RXD(P31),TXD(P30),P32,P33四个拐角,按键未按下时,按键对应的拐角输出高电平,按键按下之后,拐角接地,输出低电平。

 图2   独立按键连接原理图

按键在闭合和断开时,触点会存在抖动现象,因此需要使用以下编程思路:

 图3   独立按键编程思路图

独立按键程序代码:

实验效果:按下k1键led全亮,再次按下led全灭;

#include "reg52.h"	
#define led P2 //定义led
sbit k1=P3^1;	//定义k1为拐角P31
void delay(unsigned int i)
{
	while(i--);	
}
void main()
{	
	led=0xff;
	while(1)
	{	
		if(k1==0)		//检验按键K1是否按下
	{	
		delay(1000);   //延时消除抖动,大约10ms
		if(k1==0)	 //再次判断按键K1是否按下
		{
			led=~led;	  //led状态取反
		}
		while(!k1);	 //检验按键是否松开
	}
	}
}

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐