CCS PIC: Contador de 0 a 99 con display de 7 segmentos

Saludos! Siguiendo con los ejemplos básicos con el compilador PIC C, toca el turno de hacer un contador, para este ejemplo usaremos un display de 7 segmentos de cátodo común (recordar que es recomendable usar un transistor con su debida resistencias en el pin común de cada display).

Circuito:
El circuito usado es el siguiente:


Firmware:
El código usado es el siguiente:
/*******************************************************************************
*
* CCS PIC_006: Contador de 00 a 99
*
*******************************************************************************
* FileName: main.c
* Processor: PIC16F887
* Complier: PIC C v5.025
* Author: Pedro Sánchez (MrChunckuee)
* Blog: http://mrchunckuee.blogspot.com/
* Email: mrchunckuee.psr@gmail.com
* Description: Conteo de 0 a 99 en display de 7 segmentos de catodo comun
*******************************************************************************
* Rev. Date Comment
* v1.00 22/11/2017 Creación del firmware
******************************************************************************/
//Direvtivas del microcontrolador
#include <16f887.h> //Libreria del PIC
#fuses XT, NOWDT, NOPROTECT,NOPUT //Fuses del PIC
#use delay(clock=4000000) //Especifica la velocidad de reloj
//Declaracion del microcontrolador
#use fast_io(D) //Prepara para el uso de puerto A
#use fast_io(E) //Prepara para el uso de puerto E
// Definimos constantes para el display de catodo comun
byte const display7seg[10] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
void main(){
byte unidad=0, decena=0;
set_tris_D(0x00);
set_tris_E(0x00);
output_D(0);
while(true){
for (decena=0;decena<10;decena++){ //Cuenta digito decenas
for (unidad=0;unidad<10;unidad++){
output_E(0x01); //cat_D=apagado,cat_U=encendido
output_D(display7seg[unidad]); //Cuenta digito unidades
delay_ms(50); //Para evitar parpadeos
if (decena==0) output_E(0x03); //Si decenas=0, cat_D=apagado
else output_E(0x02); //Si decenas>0, cat_D=encendido
output_D(display7seg[decena]); //Digito decenas
delay_ms(50); //Para evitar parpadeos
}
}
}
}
Descargas:
Aquí el enlace directo para DESCARGAR los archivos disponibles, también puedes revisar o descargar la información desde mi repositorio en GitHub, si no sabes como descargarlo puedes checar aquí, bueno por el momento es todo si tienes dudas, comentarios, sugerencias, inquietudes, traumas, etc. dejarlas y tratare de responder lo mas pronto posible.


Donaciones:
Si te gusta el contenido o si los recursos te son de utilidad, comparte el enlace en tus redes sociales o sitios donde creas que puede ser de interés y la otra puedes ayudarme con una donación para seguir realizando publicaciones y mejorar el contenido del sitio. También puedes hacer donaciones en especie, ya sea con componentes, tarjetas de desarrollo o herramientas. Ponte en contacto para platicar, o puedes volverte uno de nuestros sponsors.


Pido una retroalimentación avisando cada que un enlace no sirva o tenga errores al momento de abrirlo, así también si una imagen no se ve o no carga, para corregirlo en el menor tiempo posible.

Publicar un comentario

0 Comentarios