Red de conocimiento informático - Computadora portátil - ¿Cómo se enciende la luz LED de 51 microcontroladores desde ambos lados hasta el centro, una por una, al mismo tiempo, y luego apaga las luces una por una desde el centro hacia ambos lados?

¿Cómo se enciende la luz LED de 51 microcontroladores desde ambos lados hasta el centro, una por una, al mismo tiempo, y luego apaga las luces una por una desde el centro hacia ambos lados?

Para hacerlo simple, use una tabla, calcúlela de antemano, colóquela en la ROM y compílela y genere línea por línea cuando la use.

Para ser más complicado, abra un búfer, use un programa de bucle, complete una línea a la vez de acuerdo con diferentes patrones, genere la salida y luego calcule la línea nuevamente. Esto no se recomienda a menos que la mesa sea demasiado grande.

#define len 8

char tablelist[][len] =

{

"00000000",

"10000001",

"01000010",

"00100100",

"00011000",

}

esquema( char * s )

{

int i;

for(i=0; i

{

if ( s[i] == '0' )

{

// La luz correspondiente está encendida

}

else

{

// La luz correspondiente está apagada

}

}

}

main()

{

para(;;)

{

esquema( &tablelist[i]);

retraso(..);

}

}