用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口
版权声明:本文为CSDN博主「小标电子生」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_51950774/article/details/116718008
暂无评论