martes, 6 de enero de 2015

Reloj, Cronometro, Alarma y Contador con interrupciones PIC16F877A (MPLABX-XC8)


Saludos amigos, a continuación les presento un proyecto que hice como trabajo en la universidad. Fue una practica para aprender a usar interrupciones del microprocesador PIC16F877A.

Como Funciona?

El circuito tiene 4 funciones principales:

Reloj:
Se utiliza un oscilador 32 Khz en los pines del Timer 1 para poder generar el clock de reloj en "tiempo real".

Alarma:
Existen dos pines para igualar el reloj y así mismo colocar una alarma. Mediante el pin RD7 se puede colocar un LED o Buzzer para que funcione como alarma.

Cronometro:
El cronometro funciona mediante el Timer 2 (hay que re-calcular el valor del timer), con los mismos botones con los que se iguala el reloj podemos:
Arrancar el Cronometro, Parar el Cronometro, Detener la Visualización, Borrar el Cronometro.

Contador:
Se puede utilizar 2 botones para hacer de contador ascendente y descendente. O también se pueden utilizar dos sensores  infrarrojos. Queda a gusto del lector.

Funcionamiento General.
Mediante el Switch se elige la función que necesitamos en el circuito RCAC.
La visualización se realiza mediante 6 displays de 7 segmentos multiplexados.

Cualquier duda por favor me la comentan, les dejo el circuito para que puedan armarlo y guiarse en el funcionamiento.

Descargar Código 
Descargar Esquema



,
                                             Esquemático del circuito
                                       Gráfica del circuito en la Baseta
                                     Circuito en Funcionamiento Reloj



9 comentarios:

  1. Como estas muy buenos días, me puedes ayudar con el esquema.

    Ya que en la imagen no se ve muy bien el esquema, estaría eternamente agradecido.

    GRACIAS

    ResponderEliminar
    Respuestas
    1. Amigo esta actualizada la entrada del blog y se puede descargar el circuito en PDF disculpe la demora.

      Eliminar
    2. amigo que gran proyecto pero solo una pregunta como puedo obtener solo el .hex para cargarlo directo es que me marca error cuando lo abro en el c compiler

      Eliminar
    3. o lo que falta en pic c compiler es agregar esa libreria xc.h a mis librerias por que me marca error amigo para que obtenga el hexadecimal

      Eliminar
  2. Respuestas
    1. oye cesar es ocilador de 32mhz o 32khz ya armaste el circuito ?

      Eliminar
  3. sabes por que no esta funcionando tu programa
    ya lo arme tal como esta el dibujo y el display 5 no enciende y tampoco puefo hacer que el reloj funcione
    me podrias ayudar estoy aprendiendo a programar y se me hizo interesante este programa que compartiste

    ResponderEliminar
  4. Hola Ricardo. Estoy interesado en armar tu proyecto para una practica. Quisiera saber si podrías compilar el archivo .hex de tu codigo para el PIC 16F887 puesto que el que usaste no lo consigo en mi ciudad. Saludos!

    ResponderEliminar