按键点灯程序,按一下按键灯亮(一直亮),再按一下灭,51单片机。

2020-05-02 体育 231阅读
#include
typedef int u16;
typedef char u8;
sbit led1=P2^0; //D1
sbit led2=P2^1; //D2
sbit led3=P2^2; //D3
sbit led4=P2^3; //D4
sbit k1=P3^1;//定义一个独立按键
sbit k2=P3^2;//定义一个独立按键
sbit k3=P3^3;//定义一个独立按键
sbit k4=P3^4;//定义一个独立按键
//定义延时函数
void delay(u16 i)
{
while(i--);
}
void keypros()//定义独立按键控制
{
if(k1==0)//说明按下去了
{
delay(1000);//消抖
if(k1==0)
{
led1=~led1;//翻转
}
while(!k1);//按键松开
}
if(k2==0)//说明按下去了
{
delay(1000);//消抖
if(k2==0)
{
led2=~led2;//翻转
}
while(!k2);//按键松开
}
if(k3==0)//说明按下去了
{
delay(1000);//消抖
if(k3==0)
{
led3=~led3;//翻转
}
while(!k3);//按键松开
}
if(k4==0)//说明按下去了
{
delay(1000);//消抖
if(k4==0)
{
led4=~led4;//翻转
}
while(!k4);//按键松开
}
}
void main()
{
while(1)
{
keypros();
}
}
声明:你问我答网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系fangmu6661024@163.com