Hola mmm no se mucho de este foro pero espero puedan ayudarme eh estado leyendo alguno de los temas pero algunas cosas no las entiendo, talvez porque están programadas en C cosa que yo alguna vez hice pero ahora ya no lo recuerdo aparte de que solo programaba para la computadora no para los pics, últimamente eh estado programando en MpLab y he hecho varios proyectos muy interesantes el ultimo que si nos costo trabajo pero salio fue una matraca de leds la cual están conectados 56 leds en una PCB y esta gira mostrando en el giro una figura, letras, imagen, etc. comento esto por si alguien mas le interesa un proyecto así.
Ahora ya que estoy de ocioso me puse a diseñar un reloj despertador tengo la parte del reloj hecha esta sincronizada y tengo un retraso muy leve en cada segundo el problema es que lo estoy haciendo con subrutinas de tiempo cosa que creo es algo impractico dado que necesito hacer otras varias funciones mientras se cuenta el tiempo, entonces pensé en usar el Timer0 y una interrupción para cambiar el tiempo, la situación es la siguiente:
-Con el Timer0 el tiempo se me hace menos preciso que con las subrutinas (cosa que provoca que se atrase mi reloj o adelante y tenga un error considerable)
-Ahora si lo dejara como esta con subrutinas de tiempo como podria hacerle para poder poner mmm un teclado matricial para cambiar la hora y la alarma o si no unos 2 a 4 push botoms y que al mismo tiempo mi subrutina de tiempo no se me descompense y se me atrase mientras ajusto la alarma, ya que en la hora es facil se para el conteo y se inicia desde la hora que se indique.
-Para aplicar el despertador pensaba talvez poner una bocina al pic y que este me de una frecuencia de sonido para que de esta manera suene a un tono en especial, el tono es indiferente, pero esto también generara retraso de tiempo en mi programa.
-Uso un LCD de 16X2 para mostrar la hora, este al ser las 12 hace los cambios de AM a PM o viceversa, este tiempo de muestra en el LCD ya esta contemplado en mi tiempo de conteo de segundo.
-Por cierto uso un PIC16F877A algo rustico pero muy útil y me he adaptado muy bien a el de igual manera si recomiendan otro pic para este proyecto lo tomare en cuenta y lo buscare y aprenderé a usar.
Creo que son todos los puntos que tengo hasta ahora en mi programa y dudas, talvez se me fue algo pero con esto mientras quisiera saber algunas recomendaciones de como poder mejorar esto sin tener retrasos del tiempo muy notorios, o algunas experiencias al crear este tipo de relojes.
Gracias de antemano por su tiempo.