Código c++:
Ver original##include <16F876.h>
#USE DELAY (CLOCK = 4000000)
#FUSES XT,NOWDT,NOPROTECT,NOPUT
#USE fast_IO (B)
#USE fast_IO (A)
byte CONST DISPLAY [10] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
main () {
byte ud=0,dec=0
SET_TRIS_B(0x00);
SET_TRIS_A(0x00);
OUTPUT_B(0);
for ( ;; ) {
for (dec=0;dec<10;dec++) { // Cuenta diginito decenas
for (ud=0;ud<10;ud++) {
OUTPUT_A(0x02); // cat_D = apagado, cat_U = encendido
OUTPUT_B(DISPLAY[ud]); // Digito unidades
delay_ms(50); // Para evitar Parpadeos
if (dec=0) output_a(0x03); // Si decenas = 0,
// cat_D = apagado
ELSE OUTPUT_A(0x01); // Si decenas >0,
// cat_D = encendido
OUTPUT_B(DISPLAY[dec]); // Digito decenas
delay_ms(50); // Para evitar Parpadeos
}
}
}
}