做流水灯怎么实现循环完一次后再整体变亮再整体灭呢,是要把它写成一整个大的循环吗
#include <reg52.h>
// 用于控制灯的 8 个引脚
sbit LED1 = P1 ^ 0;
sbit LED2 = P1 ^ 1;
sbit LED3 = P1 ^ 2;
sbit LED4 = P1 ^ 3;
sbit LED5 = P1 ^ 4;
sbit LED6 = P1 ^ 5;
sbit LED7 = P1 ^ 6;
sbit LED8 = P1 ^ 7;
// 延时函数
void delay(unsigned int t)
{
while (t--);
}
void main()
{
// 循环执行 8 次
for (int i = 0; i < 8; i++)
{
// 依次点亮每个灯
switch (i)
{
case 0: LED1 = 1; break;
case 1: LED2 = 1; break;
case 2: LED3 = 1; break;
case 3: LED4 = 1; break;
case 4: LED5 = 1; break;
case 5: LED6 = 1; break;
case 6: LED7 = 1; break;
case 7: LED8 = 1; break;
}
// 延时 1 秒
delay(1000);
}
// 点亮所有灯
LED1 = LED2 = LED3 = LED4 = LED5 = LED6 = LED7 = LED8 = 1;
// 延时 1 秒
delay(1000);
// 熄灭所有灯
LED1 = LED2 = LED3 = LED4 = LED5 = LED6 = LED7 = LED8 = 0;
// 延时 1 秒
delay(1000);
}