轻触开关一般有四个脚,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); //检验按键是否松开
}
}
}