用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口
如果文章或资源对您有帮助,欢迎打赏作者。一路走来,感谢有您!
txttool.com 说一段 esp56物联 查询128 IP查询