实现最简单的流水灯
因为刚开始学,这次实现的逻辑比较简单,我只会挨个控制。这次实现了灯的三种亮法
杜邦线接法:
TXD——P30
RXD——P31
5V——5V
GND——GND
#include<reg52.h>
sbit led1=P2^0;
sbit led2=P2^1;
sbit led3=P2^2;
sbit led4=P2^3;
sbit led5=P2^4;
sbit led6=P2^5;
sbit led7=P2^6;
sbit led8=P2^7;
unsigned int i;
void delay(unsigned int n)
{
for(i=0;i<=n;i++);
}
void main()
{
while(1)
{
//让一个灯跑动
led1=1;
led1=0;
delay(30000);
led1=1;
led2=1;
led2=0;
delay(30000);
led2=1;
led3=1;
led3=0;
delay(30000);
led3=1;
led4=1;
led4=0;
delay(30000);
led4=1;
led5=1;
led5=0;
delay(30000);
led5=1;
led6=1;
led6=0;
delay(30000);
led6=1;
led7=1;
led7=0;
delay(30000);
led7=1;
led8=1;
led8=0;
delay(30000);
led8=1;
//两个灯一起跑动
led1=1;
led1=0;
delay(30000);
led2=1;
led2=0;
delay(30000);
led1=1;//关闭灯1,开灯3
led3=1;
led3=0;
delay(30000);
led2=1;//关灯2,开灯4
led4=1;
led4=0;
delay(30000);
led3=1;//关灯3,开灯5
led5=1;
led5=0;
delay(30000);
led4=1;//关灯4,开灯6
led6=1;
led6=0;
delay(30000);
led5=1;//关灯5,开灯7
led7=1;
led7=0;
delay(30000);
led6=1;//关灯6,开灯8
led8=1;
led8=0;
delay(30000);
led8=1;
led7=1;
//三个灯一起跑
led1=1;
led1=0;
led2=0;
led3=0;
delay(30000);
led1=1;
led4=0;
delay(30000);
led2=1;
led5=0;
delay(30000);
led3=1;
led6=0;
delay(30000);
led4=1;
led7=0;
delay(30000);
led5=1;
led8=0;
delay(30000);
led6=1;
led7=1;
led8=1;
}
}
刚刚接触,若有错误,请大佬指教