TODOPIC

Microcontroladores PIC => Todo en microcontroladores PIC => Mensaje iniciado por: cesar gomez en 08 de Julio de 2007, 00:22:31

Título: como hacer un reloj digital?
Publicado por: cesar gomez en 08 de Julio de 2007, 00:22:31
hola a todos intento hacer un reloj digital con pic 18f452 en assembler pero he tenido problemas con la visualizacion en el LCD no se si alguien me puede dar una idea de como hacer el reloj digital...
mi idea fue esta:
configurar el timer0 para que temporizara un segundo, cada que temporizaba un segundo se incrementa una variable llamada segundos y decrementa otra que cargue con 60 para que caundo llegue a cero salte e incremente otra variable llamada minuto, y asi hice con para la hora el problema fue para visualizarlo me salen valores erroneos y la unica que visualiza bien son los segundos y eso que hasta 10 en pocas palabras estoy mal... si alguien tiene una mejor idea se las agradeceria... :-/
Título: Re: como hacer un reloj digital?
Publicado por: Leon Pic en 08 de Julio de 2007, 00:28:06
Hola. ¿Fuiste al buscador?

Saludos  :-/ :-/
Título: Re: como hacer un reloj digital?
Publicado por: cesar gomez en 09 de Julio de 2007, 13:56:26
hola, si ya fui pero no encontre mucho.... estuve observando algo que encontre en c pero este lenguaje no lo entiendo muy bien ya que busco en assembler, pero mas o menos me dio una idea, intentarlo con interrupcion de desbordamiento del timer0 a un segundo, lo que no entiendo como hacer es a la hora de visualizar por la LCD la parte de como mantener los ceros en horas y en minutos mientras que los segundos van incrementando.... bueno en fin te agradesco la sugerencia.... :-/
Título: Re: como hacer un reloj digital?
Publicado por: PalitroqueZ en 09 de Julio de 2007, 14:03:12
partiendo de la base de tiempo de 1 segundo (sin incluir el tema de tener 1 segundo exacto por x razones) puedes hacer varias cosas en ese segundo.

por ejemplo ya que usaras interrupción por desbordamiento, puedes enviar datos a la pantalla lcd mientras está la cuenta, el truco está en que para mantener los tiempos controlados debes usar una o varias banderas dependiendo de los tiempos a controlar de cada proceso.

Entonces en cada corrida dentro del bucle eterno (el bucle principal) siempres preguntas por el estado de esas banderas.
Título: Re: como hacer un reloj digital?
Publicado por: Leon Pic en 09 de Julio de 2007, 21:07:27
Hola. Cuando trabajas con un LCD este trae su propio microcontrolador que maneja a los LCD. Lo único que tenes que hacer es mandar la información al LCD y este micro se encarga del refresco de la pantalla. Solo tendras que mandar una nueva información cuando alla cambiado los segundos, de paso ajustas los minutos y la hora si corresponde. Cada vez que mandes la info al LCD tendras que mandar toda la hora.

En la página de Pablin (http://www.pablin.com.ar) hay un reloj con dysplay de cátodo común pero te va a servir para hacer el programa.

Los datos adjuntados me parece que los bajé de Todorobot (http://www.todorobot.com.ar)

Si encuentro mas información del tema te lo paso.

Saludos  :-/ :-/
Título: Re: como hacer un reloj digital?
Publicado por: PalitroqueZ en 10 de Julio de 2007, 13:59:33
otro link (http://www.todopic.com.ar/foros/index.php?topic=8427.msg54971#msg54971)

es sin usar interrupciones, y con displays 7-seg, tal vez te pueda guiar.