TODOPIC
Microcontroladores PIC => * PROYECTOS * => Mensaje iniciado por: idroj en 08 de Junio de 2009, 07:21:53
-
Hola,
Me llamo Jordi, estoy estudiando ingenieria electronica.
He intentado de hacer un programa para que realizara un reloj digital pero no me a funcionado. Por eso posteo aki para haver si algun sabe algun programa sencillo i k funcione para un reloj digital implementando LCD.
Muchas gracias
-
pasanos tu programa y esquema y estudiamos un poco el problema si no poco podemos hacer por ti
-
Que lenguaje? lo haces con un RTC o usas un Timer? La LCD es grafica o alfanumerica?
-
Lo hago con ensamblador, i Timer.
La LCD es alfanumerica
-
Usa el buscador.
Comienza por aqui:
Alamcen del Assembler (http://www.todopic.com.ar/foros/index.php?board=3.0)
-
Hola,
Me llamo Jordi, estoy estudiando ingenieria electronica.
He intentado de hacer un programa para que realizara un reloj digital pero no me a funcionado. Por eso posteo aki para haver si algun sabe algun programa sencillo i k funcione para un reloj digital implementando LCD.
Muchas gracias
Que parte no te funciono?
-
Yo personalmente te recomendaria usar C en vez de ensamblador y mas concretamente el CCS que es muy facil de controlar, pero esa decision es tuya.
Si vas a usar el Timer0, lo que debes de hacer es buscar los parametros para que el timer0 te calcule los segundos. Ello va a depender de la frecuencia del cristal.
Por ejemplo
Si usas un cristal de 4MHz tienes un ciclo de reloj cada 0.25uS y un ciclo de instruccion cada 1uS y el timer0 desbordara cada 256uS, para generar 1 segundo el timer0 debe desbordar 3906.25 veces, por lo que el timer 0 debe desbordar 3906 veces completas y el ultimo debe ser precargado con el valor 192.
1S = 0.000256 * 3906 + 0.000001*(256 - 192)=0.999936 + 0.000064 = 1 Segundo
Esta es la teoria
Si aplicas algun prescaler puedes hacer que el numero de desbordamientos sea menor.
Si usas el prescaler 16, el timer0 desbordará cada 0.004096 por lo que tendra que desbordar 244 veces y precargar a 220.
No se si he conseguido aclarate algo o liarte aun mas, pero si no te queda claro te lo explicare con mas detalles.
Con respecto al control de la lcd alfanumerica, hay una libreria llamada flex_lcd.c que es muy buena y controla cualquier modelo de forma muy simple.
Saludos