Interconexión DS1307 RTC con PIC16f882

1

Estoy intentando conectar la interfaz DS1307 RTC con la MCU mencionada. Quiero hacer un temporizador de por vida que indique el tiempo que este proyecto ha funcionado en el campo, y mostrar este temporizador en una pantalla LCD.

Soy nuevo en microcontroladores, pero si utilizo las bibliotecas LCD e I2C ya integradas en el compilador MikroC pro for PIC, espero salvarme de la programación de bajo nivel.

Ahora, si entiendo correctamente, los pasos para escribir o leer algo del RTC serían:

1) I2C_Start();
2) I2C_Write(DS1307_Address);
3) I2C_Write(Register Address);
4) I2C_Write(Data to be written);
5) I2C_Stop();

y para leer:

1) I2C_Start();
2) I2C_Write(DS1307_Address);
3) I2C_Write(Register Address);
4) I2C_Repeated_Start();
5) I2C_Write(DS1307_Address);
6) I2C_Rd();
7) I2C_Stop();

Mi problema es que ¿cuál será el DS1307_Address , si es el único dispositivo en el Bus?

Mi enfoque será establecer el BIT7 de 00h o CH bit del DS1307 bajo cuando el dispositivo se esté ejecutando, y configurarlo alto justo antes de apagarse. No quiero que el RTC también cuente el tiempo fuera del proyecto. ¿Es este enfoque viable?

Mi esquema es el siguiente:

    
pregunta Mohsin

1 respuesta

1

Según la hoja de datos , página 12:

  

El byte de dirección del esclavo contiene la dirección DS1307 de 7 bits, que es 1101000, seguido del bit de dirección (R / W), que para una escritura es 0.

Por lo tanto, la dirección que está buscando es 1101000 .

    
respondido por el user59864

Lea otras preguntas en las etiquetas