DS1307 com 877

Software e Hardware para uC PIC

Moderadores: andre_luis, 51, guest2003, Renie

DS1307 com 877

Mensagempor eder » 09 Set 2008 17:26

Boa noite caros colegas de fórum, já li as postagens de outros colegas sobre o DS1307, vi um tutorial que um colega tbm postou mas não há meio de funcionar um exemplo que estou tentando montar, peço os colegas que já programaram para dar uma olhada no código abaixo e me apontar o detalhe que esta faltando ou que cometi de errado.
O DS esta ligado ao pic e um lcd a hora que mando exibir as informações da hora, minuto, segundo no display ele mostra mas fica tudo travado
ex: 31:63:27
os segundos, minutos não atualizam.
Quem puder de dar uma ajuda, agradeço.
Obrigado
Segue o código abaixo:
#use i2c(Master,sda=PIN_c4,scl=PIN_c3, SLOW, RESTART_WDT, FORCE_HW)

//-------------------------------------------------------------------------------------
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
*CONFIGURAÇÕES DO MICROCONTROLADOR *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
void main()
{

char sec;
char min;
char hrs;
char day;
char date;
char month;
char yr;

set_tris_a(0b11111111);
set_tris_b(0b00000000);
set_tris_c(0b00000000);
set_tris_d(0b00000000);
set_tris_e(0b00000000);

porta=0x00;
portb=0x00;
portc=0x00;
portd=0x00;
porte=0x00;

inicializa_lcd();
relogio();

i2c_start();
i2c_write(0xD0);
i2c_write(0);
i2c_write(0x56);
i2c_write(0x34);
i2c_write(0x12);
i2c_write(0x01);
i2c_write(0x26);
i2c_write(0x01);
i2c_write(0x07);
i2c_write(0x10);
i2c_stop();
delay_ms(10);


/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
*LOOP PRINCIPAL *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
while(true)
{

RESTART_WDT();

i2c_start();
i2c_write(0xD0);
i2c_write(0);
i2c_start();
i2c_write(0xD1);
sec = i2c_read();
min = i2c_read();
hrs = i2c_read();
day = i2c_read();
date= i2c_read();
month= i2c_read();
yr= i2c_read(0);
i2c_stop(); ;


comando_lcd(0xc0);
printf(escreve_lcd, "\%i:\%02d:\%02d", hrs, min, sec);
delay_ms(1000);
}
}
eder
Bit
 
Mensagens: 5
Registrado em: 24 Dez 2006 07:57

Mensagempor tcpipchip » 09 Set 2008 23:03

voce setou o registrador de segundos do DS1307 (start do clock) ?
Avatar do usuário
tcpipchip
Dword
 
Mensagens: 6560
Registrado em: 11 Out 2006 22:32
Localização: TCPIPCHIPizinho!


Voltar para PIC

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante

x