PIC 18F4550 con RTC y sleep mode

#1
Hola utilizo un 18F4550 para lo que seria un datalogger, mi intención es que cada 10 minutos el micro pase del modo sleep a modo run para que empiece la adquisición y la conversión de los datos. Para el modo Run mi intención es utilizar el oscilador primario con un cristal de 4 MHz para la CPU y perifericos, y el oscilador secundario de 32.768kHz para el RTC (reloj tiempo real). Mis preguntas son las siguientes:

1-¿En modo sleep el RTC sigue funcionando?
2-Si sigue funcionando, tengo que despertar (pasar de sleep a run) cada segundo para actualizar el RTC?

Haver si alguien me puede hechar una mano. Gracias
 
#4
Hola necesito utilizar un reloj en tiempo real DS1307 quiero hacer que me de la hora pero solo muestra 45:85:85 que debo hacer? debo configurar antes una hora? porque yo creo que aunque no configure la hora debe funcionar, mi programa es el siguiente:


#include <18F4550.h>
#FUSES XT,NOWDT,NOPROTECT,NOLVP
#use delay(clock=4000000)
#use i2c(master,sda=PIN_B0,scl=PIN_B1)

#include <lcd.c>
#include <RTC_ds1307.c>

int hr,min,seg;

void main(){
lcd_init();
while(1){
delay_ms(100);
tiempo(hr,min,seg);
lcd_gotoxy(1,1);
printf(lcd_putc,"%2u:%2u:%2u",hr,min,seg);
}
}

RTC_ds1307.c
int BCDaBIN(int bcd){ //Conversión de BCD a binario
int varia;
varia = bcd;
varia >>= 1;
varia &= 0x78;
return(varia + (varia >> 2) + (bcd & 0x0f));

}

void tiempo(byte &hor, byte &min, byte &seg){
i2c_start(); //Escritura
i2c_write(0:LOL:0); //Código de escritura
i2c_write(0x00); //Puntero a la primera dirección
i2c_start(); //Lectura
i2c_write(0:LOL:1); //Código de lectura
seg = BCDaBIN(i2c_read()&0x7f); //Lectura de los 7 bits de los segundos
min = BCDaBIN(i2c_read()&0x7f); //Lectura de los 7 bits de los minutos
hor = BCDaBIN(i2c_read(0)&0x3f); //Lectura de los 6 bits de las horas
i2c_stop();

}
 
#5
hola a to2
yo quisiera saber si alguien ha hecho u reloj con el ds1307 y cualquier pic solo que muestre la hora en 4 displays de 7 seg es lo unico que necesito, si alguien me puede colaborar en decirme como lo hago o donde busco esa imformacion atte julio
 
Arriba