单片机实现独立按键操控灯
#include"reg52.h"
sbit k1=P3^1;
sbit k2=P3^0;
sbit k3=P3^2;
sbit k4=P3^3;
sbit led1=P2^0;
sbit led2=P2^1;
sbit led3=P2^2;
sbit led4=P2^3;
void delay(int i)
{
while(i--);
}
void keypro(){
// 处理按键k1
if(k1==0){
delay(1000);//消除抖动
if(k1==0)
led1=~led1;
while(!k1); //如果key=0,执行死循环,如何松开,变成高电平key=1,跳出循环
}
//处理按键k2
if(k2==0){
delay(1000);//消除抖动
if(k2==0)
led2=~led2;
while(!k2); //如果key=0,执行死循环,如何松开,变成高电平key=1,跳出循环
}
//处理按键k3
if(k3==0){
delay(1000);//消除抖动
if(k3==0)
led3=~led3;
while(!k3); //如果key=0,执行死循环,如何松开,变成高电平key=1,跳出循环
}
//处理按键k4
if(k4==0){
delay(1000);//消除抖动
if(k4==0)
led4=~led4;
while(!k4); //如果key=0,执行死循环,如何松开,变成高电平key=1,跳出循环
}
}
void main(){
led1=1;
led2=1;
led3=1;
led4=1;
while(1){
keypro();
}
}