开关控制LED点亮AT89S52单片机程序讲解

2024年11月30日 04:34
有1个网友回答
网友(1):

#include"reg51.h"

#include"stdio.h"
sbit led=P1^0;//LED灯接P1.0口,低电平有效。
sbit key=P1^1;//按键接P1.1口,低电平有效。

bit key_flag=0;//给你定义一个按键标志,为后面点亮LED保持使用
void main(void)//进入主程序
{
led=1;开机的时候保持LED不亮
while(1)//进入主程序循环状态,一直在这个while循环里检测

{
if(key==0)//如果有按键被按下
{
key_flag = ~key_flag;//将这个标志取反,如果在按下前,他是1,则变为0,如果是0,则变为1.
while(!key);//按键是否松开,如果松开,上面的取反有效,否则一直不变LED的状态。
}
if(key_flag)//如果这个标志为1,则LED=0,就是点亮了。
{led=0;}//点亮
else{led=1;}//否则就是熄灭LED指示灯。
}
}

}