TODOPIC
Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: vickycc en 07 de Enero de 2006, 08:04:00
-
Hola a todos. Es la primera vez que escribo en el foro, pero por favor, necesito vuestra ayuda!!
Estoy haciendo un proyecto con un PIC 16F84A y un reloj/calendario PCF8583. Pues bine, mi porblema está en programar la alarma dle reloj.. He probado todo y no consigo que funcione!! El bus i2c funciona bien pues tengo otros muchos dispositivos conectados y trabajan correctamente...
Por favor, si alguien tuviera algún ejemplo de cómo programar el reloj con cualquier tipo de alarma (diaria, semanal..) y que funcione por favor que lo ponga aquí...
Muchas gracias
-
Yo he conectado este reloj a un PIC 16F876 sin ningún problema. Pero todas las rutinas están en ASM.
Qué problema tienes? No funciona la alarma o no te funciona nada? Lees bien la hora?
-
Hola Antonio. La hora la cuenta bien, el problema está en que no salta la alarma cuando debería saltar. Necesito las rutinas en C, así que no sé si me servirán de mucho en ensamblador...
Muchas gracias por tu respuesta
-
En este circuito cuando se activa la alarma se pone a cero el pin 7 de interrupción. Este pin es a colector abierto asi que no se olvides poner una resistencia de PULLUP. Otra cosa es que creo que este pin, por defecto, se programa para que te de un pulso cada segundo. Para cambiarlo para la alarma, debes escribir en el registro "alarm control" el valor 0x90.
Antes de hacer ninguna operación con la alarma, debes activarla poniendo a 1 el bit 2 del registro "control/status".
Por lo demás si la hora funciona bien el resto debe funcionar.
-
Hola, sigo sin encontrar el problema, sin embargo me pasa algo con el rleoj y puede que el fallo se deba a eso. Te comento, el reloj cuenta bien la hora, pero las centésimas de segundo, en vez de ir incrementándose desde 0x00 hasta 0x99, van desde 0x00 hasta 0x09 y luego pasan otra vez a 0x00, así hasta 10 veces, y en ese momento de incrementa el segundo. Es algo raro la verdad y no se po qué sucede. ¿Puede que el fallo se deba a eso?
-
Estas teniendo en cuenta que los bytes están en BCD concatenados no?
La librería la has echo tu o la has copiado. Por lo que comentas tiene pinta de fallo de software.
Copia aqui el código fuente o mándamelo por mail: antyrub@hotmail.com y lo reviso