4. Contador de 0 a 99 con display 7 segmentos anodo comun (PIC C Compiler)

Diagrama del circuito
Diseño PCB
Vista 3D
Circuito montado en Protoboard
Código
Código C - PIC16F628A
// Contador 0-99 con display 7 segmentos ánodo común
// http://habacucelectronics.blogspot.com/
// Autor: Samuel Ramsbott
// Versión: PIC C Compiler 5.025

#include <16F628A.h>
#fuses HS,NOWDT,PUT,NOPROTECT
#use delay(crystal=8000000)
#use standard_io(b)  // Configuración del puerto B

// Patrones para display ánodo común (0=segmento encendido, 1=apagado)
const int DIGITOS[10] = {
    0b11000000,  // 0
    0b11110011,  // 1
    0b10100100,  // 2
    0b10100001,  // 3
    0b10010011,  // 4
    0b10001001,  // 5
    0b10001000,  // 6
    0b11100011,  // 7
    0b10000000,  // 8
    0b10000011   // 9
};

void main() {
    int16 contador, unidades, decenas;
    
    set_tris_b(0x00);    // Puerto B como salida
    output_b(0xFF);      // Apagar todos los segmentos
    
    while(true) {
        for(contador = 0; contador <= 99; contador++) {
            // Separar dígitos
            unidades = contador % 10;
            decenas = (contador / 10) % 10;
            
            // Mostrar unidades
            output_a(0b00000001);  // Habilitar display unidades
            output_b(DIGITOS[unidades]);
            delay_ms(50);
            
            // Mostrar decenas
            output_a(0b00000010);  // Habilitar display decenas
            output_b(DIGITOS[decenas]);
            delay_ms(50);
        }
    }
}

Para obtener el código y la simulación en Proteus haz click en descargar

Compartir en Google Plus

About habacuc.electronics

This is a short description in the author block about the author. You edit it by entering text in the "Biographical Info" field in the user admin panel.
    Comentario Blogger
    Comentario Facebook