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: