Autor Tema: reloj Digital con LCD y PIC  (Leído 5177 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado carlillosgld

  • PIC10
  • *
  • Mensajes: 7
reloj Digital con LCD y PIC
« en: 15 de Abril de 2006, 21:26:58 »
Buenas, estoy realizando un reloj digital con un pic16f84a, soy novato, pero he investigado, y bueno estoy utilizando un LCD JHD162, tengo todas las instrucciones, lo he hecho funcionar y que muestre lo que quiero,
esta rutina de enviar mensajes al LCD la incorpore al programa del reloj, en el cual tengo variables para segundos, minutos y horas, estos registros se incrementan cuando ocurre un segundo.
Para lograr el segundo, utilice el TMR0 del pic, estoy usando un cristal de 4.000 MHz, un prescaler de 1:256, la interrupcion,  y un registro auxiliar checando el acarreo DC para completar los divisores de frecuencia, que segun los calculos debería de darme un segundo exacto.

El problema surge que cuando tengo el segundo y mando incrementar los registros y luego mando los datos al LCD, resulta en un retraso de aprox. 2 seg y medio, no puedo tomar exactamente este tiempo de retraso,

Este programa lo intenté ya con y sin interrupciones, y estoy frustrado. Quisiera un poco de apoyo, en sugerencias, no se si usar un cristal más rapido o un prescaler menor y hacer delays para completar el segundo y si asi fuera de cuanto tiempo serían. gracias

Desconectado Chaly29

  • Moderador Global
  • DsPIC33
  • *****
  • Mensajes: 4315
Re: reloj Digital con LCD y PIC
« Respuesta #1 en: 16 de Abril de 2006, 02:36:39 »
Hola carlillosgld, si yo e entendido bien, de la forma que usas para conseguir 1 segundo te comento que no es la correcta ya que le lleva mas de 1 seg. hacer tal procedimiento.

Yo en tu caso lo que haría seria hacer que la interrupción realice una cuenta de 50000, luego sabemos que 20 cuentas de  la interrupción son 1 segundo. Decrementando un contador que inicie en 20, al llegar a cero que salte a incrementar los seg, min, horas, refresque el display y coloque nuevamente 20 en tal contador para generar el próximo segundo.

Bueno, espero haberme explicado bien, si no entiendes algo solo pregúntalo, un saldo.

Atte. CARLOS

La teoría es cuando se sabe todo y nada funciona. La práctica es cuando todo funciona y nadie sabe por qué.

Desconectado vszener

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 2395
Re: reloj Digital con LCD y PIC
« Respuesta #2 en: 16 de Abril de 2006, 08:16:55 »
Buenass!!!aunque la teoria que te han proporcionadoe s correcta, en tu programa tambien deberas incluir una subrutina/funcion de redondeo, ya que el timer en si mismo no es exacto y para hacer relojes no tendras exactitus, puedes realizar una subrutina o simplemente ajustar la no exactitud mediante una variable, en lenguaje c, concretamente en el post de Ejemplitos en c para 16F648A hay realizado un programa para reloj digital, eso si, en 7 segmentos su representacion, peor te puede servir para usarlo con una lcd seria mas sencillo, concretamente es el programa numero 50, aqui el enlace:
http://www.todopic.com.ar/foros/index.php?topic=4530.0


Suerte!!! :wink:

· Nos vemos en los bares!!!!!
· Mi Blog: Aqueronte