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.
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
Download (TXT, 10kB)
Figure 1. Program Listing
More detailed image (PDF, 126kB)
Figure 2. Schematic drawing of the DS1307 circuit used with a PIC microcontroller.