Red de conocimiento informático - Conocimiento sistemático - Buscamos asesoramiento de expertos sobre cómo programar 8 lámparas de agua en lenguaje C

Buscamos asesoramiento de expertos sobre cómo programar 8 lámparas de agua en lenguaje C

Los 8 tubos luminosos fluyen de arriba a abajo a intervalos de 1 segundo, cada tubo se enciende durante 500 ms y se apaga durante 500 ms, y esto se repite para siempre

#includelt;reg52. hgt;

#include lt;intrins.hgt;

#define uint unsigned int

#define uchar unsigned char

uchar temp ,num,num1;

retraso nulo(uint);

void main()

{

temp=0xfe;

while (1)

{

for(num1=0;num1lt;3;num1) //Los ocho diodos emisores de luz se encienden tres veces desde arriba hacia abajo

{

for(num=0; numlt; 8; num ) //Ocho diodos emisores de luz se encienden en secuencia

{

P1= temp; //Enciende un diodo emisor de luz

delay(100); //Retraso

temp=_crol_(temp, 1); /Variable shift

P1=0xff; //Apaga todos los LED

delay(100); //Retraso

}

}

for(num1=0;num1lt;3;num1) //Los ocho diodos emisores de luz se encienden tres veces de abajo hacia arriba

{

for(num=0 ;numlt;8;num )

{

P1=temp;

retraso(100);

temp=_cror_(temp ,1);

P1=0xff;

retraso(100);

}

}

while(1);

}

}

retraso nulo(uint z)

{

uint x, y;

for(x=z;xgt;0;x--)

for(y=110;ygt;0;y- -);

}