51单片机实现按键控制LED灯亮灭

180it 2022-03-20 PM 1183℃ 0条

用51单片机实现按键控制LED灯亮灭

#include<reg51.h>//头文件
sbit LED=P2^0;//位定义LED灯
sbit k1=P3^1;//位定义按键
void delay()//延时函数
{
    unsigned char a,b;
    for(a=0;a<200;a++)
    for(b=0;b<200;b++);
}
void key()//按键处理函数
{
    if(k1==0)//判断按键是否按下(按键按下时k=0)
    {
        delay();//如果按下按键延时消抖
        if(k1==0)//如果按键仍然按下
        {
            LED=~LED;//对LED取反,原来亮则灭,原来灭则亮
        }
        while(!k1);//等待按键松开(松开时k=1,!k=0,跳出循环,
                   //未松开时,k=0,!k=1,执行while的分号空语句,一直等待)
    }
}
void main()//主函数
{
    while(1)
    {
        key();//调用按键处理函数
    }
}

该单片机开发板按键K1接单片机P3口的1端口。
LED灯接单片机的P2口

支付宝打赏支付宝打赏 微信打赏微信打赏

如果文章或资源对您有帮助,欢迎打赏作者。一路走来,感谢有您!

标签: none

51单片机实现按键控制LED灯亮灭