Procedimientos experimentales para la visualización de tubos digitales de siete segmentos en experimentos con microcontroladores
//= =Área declarada= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
# include ltreg 51. h gt; //Archivo de encabezado; que define el registro 8051, P2-17~ 19.
#define SEG P0 //Define el tubo digital LED de siete segmentos que se conectará al puerto 0.
/*Declaración de matriz de señal de unidad de tubo digital LED de siete segmentos (* * *Yang)*/
Pestaña Charcode [10] = {0xc0, 0xf9, 0xa4, 0xb0, 0x99, //Números 0-4.
0x92, 0x83, 0xf8, 0x80, 0x 98}; //Números 5-9
Retraso no válido (int); //Declaración de función de retraso
//= =Programa principal= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
Main() //Se inicia el programa principal.
{Carácter sin signo I; //Declarar variable sin signo I.
Y (1) //Bucle infinito, el programa sigue ejecutándose.
for(I = 0;I lt10;I) //Mostrar 0-9, ***10 veces.
{ SEG = TAB[I]; //Mostrar números
Retraso (500); //Retraso 500×1m=0,5 segundos
}// Fin del bucle for
}//Fin del programa principal
//= =Subprograma= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
/*Función de retardo, el retraso es de aproximadamente x×1ms */
Retraso vacío (int x ) // Retrasar el inicio de la función
{ int i, j; // Declarar la variable entera I, j.
for(I = 0; I ltx; I) //Cuenta x veces, retrasa x × 1 ms.
for(j = 0; j lt160; j ); // Cuenta 120 veces, retrasa 1 ms.
}//Retraso del fin de la función