52单片机按下按键1流水灯运行,按下按键2流水灯停止
时间: 2023-12-06 10:44:13 浏览: 81
以下是按下按键1流水灯运行,按下按键2流水灯停止的52单片机代码:
```c
#include <reg52.h>
sbit LED=P1^0;
sbit KEY1=P3^1;
sbit KEY2=P3^0;
void delay(unsigned int count) { // 延时函数
unsigned int i,j;
for(i=0;i<count;i++) {
for(j=0;j<120;j++);
}
}
void main() {
unsigned char flag=0;
while(1) {
if(KEY1==0) { // 按下按键1
flag=1;
while(!KEY1); // 等待按键1松开
}
if(KEY2==0) { // 按下按键2
flag=0;
while(!KEY2); // 等待按键2松开
}
if(flag) { // 流水灯运行
LED=0;
delay(1000); // 延时
LED=1;
delay(1000);
} else { // 流水灯停止
LED=1;
}
}
}
```
其中,使用 `flag` 标志位来判断流水灯运行或停止。按下按键1时,标志位设为1,按下按键2时,标志位设为0。在主循环中,根据标志位来控制LED灯的亮灭和延时时间。当标志位为1时,流水灯运行;当标志位为0时,流水灯停止。
阅读全文