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; p>
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
{ p>
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)
{ p>
uint x, y;
for(x=z;xgt;0;x--)
for(y=110;ygt;0;y- -);
}