Haz una pregunta
  Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos
Foros Registrarse ¿Olvidaste tu contraseña?

Temas similares

18/03/2009 #1


PIC 18F4550 con RTC y sleep mode
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
12/08/2010 #2

Avatar de ingdenis1

Respuesta: PIC 18F4550 con RTC y sleep mode
es una buena pregunta ojala alguien del foro nos pueda ayudar
12/08/2010 #3

Avatar de ByAxel

Respuesta: PIC 18F4550 con RTC y sleep mode
catjosep dijo: Ver Mensaje
1-¿En modo sleep el RTC sigue funcionando?
No; según la hoja de datos del PIC18F4550 en la página 35 del tema "POWER-MANAGED MODES", en modo Sleep... todos los relojes son des-habilitados (reloj de periféricos des-habilitado)... Seguir leyendo el DataSheet PIC18F4550

PD: Todo, absolutamente todo está en el datasheet.

Saludos
18/05/2011 #4


PIC18F4550 con RTC DS1037
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(0xD0); //Código de escritura
i2c_write(0x00); //Puntero a la primera dirección
i2c_start(); //Lectura
i2c_write(0xD1); //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();

}
13/10/2011 #5

Avatar de jucemoar

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
Respuesta
¿Tienes una mejor respuesta a este tema? ¿Quieres hacerle una pregunta a nuestra comunidad y sus expertos? Registrate

Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO ©2011, Crawlability, Inc.