Autor Tema: Reloj-alarma en CCS  (Leído 2313 veces)

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

Desconectado enigmatico

  • PIC10
  • *
  • Mensajes: 2
Reloj-alarma en CCS
« en: 15 de Agosto de 2013, 11:43:01 »
Soy nuevo en el foro, y pues tengo la siguiente inquietud con un programa que hice en ccs:
Hice un programa que consiste en un reloj-alarma hecho con un pic 16f877, una lcd para el registro del tiempo y una alrma que se ativa de acuerdo a la hora programada. El reloj esta hecho a punta de condicionales, es decir no implemente ningun timer para el funcionamiento del reloj. A parentemente funciona muy bien ya que lo implementé en una vaquela universal y registra la hora como un reloj normal y pues se activa a la hora programada sonando la alarma. Pero que sucede?, pues bien ya que al tenerlo en funcionamiento por un tiempo prolongado (al ededor de 10 horas), el reloj se atrasa una hora, entonces puede estar sucediendo lo siguiente, que el programa se congele por una hora y posteriormente vuelva a funcionar, lo digo por que en ocasiones, voy a mirar la hora y esta permanece congelada sin más remedio que desconectar la betería para reiniciarlo, configurar nuevamente la hora y así poder volver a funcionar. Entonces tengo dos hipótesis, a este problema, la primera  es que posiblemente se satura la pila del microcontrolador y pues llega un momento en donde ya no vuelve a funcionar el bucle de conteo, lo que se traduce en una incapacidad para seguir operando, la segunda hipótesis que planteo es que el problema se halle en el hardware, más especificamente en el cristal de cuarzo donde posiblemente este fallando su frecuencia de oscilación lo que podría provocarme esos retrasos de tiempo. No obstante voy a probar con otro pic para descartar que pueda ser el microcontrolador.
Si alguno de ustedes sabe cual puede ser el problema me vendría muy bien. Cualquier aporte es válido.

Desconectado Diego E.

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1086
Re: Reloj-alarma en CCS
« Respuesta #1 en: 15 de Agosto de 2013, 11:54:55 »
Amigo, sin conocer la lógica que utilizaste para desarrollar el programa me parece muy difícil ayudarte, lo único que te puede decir es que crear un programa para un reloj sin utilizar timer es demasiado inexacto ya que es muy difícil conocer todos los tiempos de las instrucciones, te sugiero crees una constante de tiempo con un temporizador y una interrupción.

En estos casos yo siempre opto por utilizar mejor un IC de tiempo real como puede ser el DS1307, así no tienes que preocuparte con el factor tiempo sólo debes leerlo y ya, además te ofrece fecha.

Saludos.

Desconectado enigmatico

  • PIC10
  • *
  • Mensajes: 2
Re: Reloj-alarma en CCS
« Respuesta #2 en: 15 de Agosto de 2013, 13:17:13 »
Si yo lo entiendo, pero mi reto es sacarlo por este método que planteo, ya que me ahorro hardware, seguiré intentanto descartar posibilidades y además trataré de optimizar el código, si veo que no puedo por este lado. Optaré por hacerlo a la forma tradicional, con el DS1307. Si logro solucionarlo postearé los resultados.

Desconectado MGLSOFT

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 7912
Re: Reloj-alarma en CCS
« Respuesta #3 en: 15 de Agosto de 2013, 14:14:04 »
Al 877 puedes ponerle un cristal de 32,768 khz que es el que se usa en los relojes de cuarzo, y sacar una temporizacion perfecta, de hecho hay notas de aplicacion de microchip de este tipo de reloj...
Todos los dias aprendo algo nuevo, el ultimo día de mi vida aprenderé a morir....
Mi Abuelo.

Desconectado thegame

  • PIC18
  • ****
  • Mensajes: 439
    • Mcu Tronics
Re: Reloj-alarma en CCS
« Respuesta #4 en: 15 de Agosto de 2013, 15:10:18 »
O como le dijo el compañero Diego E, usando interrupciones del timer, aunque a mi igual me ha pasado que se atrasa poco a poco, yo prefiero mas el RTC
Nunca se deja de aprender


 

anything