Discussion
This application note demonstrates how to use the DS1307 real-time clock (RTC) with a Microchip PIC16F628 microcontroller.The example code, written in assembly code, includes a routine for reading the time and date from the RTC and a routine to write time and date data to the RTC from user entries.
Operation
The program uses two general-purpose port pins on the microcontroller to communicate with the DS1307 using the I²C serial interface. The microcontroller's internal UART drives two port pins, which are connected to a DS232 line driver/receiver. User inputs and data outputs from the program are passed through the RS-232 interface from a terminal emulator program on a PC to the microcontroller. The RS-232 DTR input line controls the microcontroller's reset input.The microcontroller in this example is a PIC16F628. For information on the microcontroller used in this application note, including available programming tools, visit the Microchip web site.
The software is shown in Figure 1. A schematic of the circuit is shown in Figure 2.
![Figure 1. Program Listing](/img/20200523/200942195041915.gif)
Download (TXT, 10kB)
Figure 1. Program Listing
![Figure 2. Schematic drawing of the DS1307 circuit used with a PIC microcontroller.](/img/20200523/200942195041389.gif)
More detailed image (PDF, 126kB)
Figure 2. Schematic drawing of the DS1307 circuit used with a PIC microcontroller.