The DS1307 Real Time Clock is an I2C device which provides all the timekeeping functions of a calendar and clock. Used with a backup battery it can keep track of date and time even when the main circuit power is removed.
The DS1307 Real Time Clock and other I2C devices (I2C EEPROM) connect to the PICAXE using a two-wire I2C bus and can be controlled with a range of I2C specific commands.
I2C Real Time Clock (DS1307)
Schematic
PCB
Set and read a DS1307 real time clock
Example of how to use DS1307 Time Clock (i2c device) Note the data is sent/received in BCD format.
- Code Example:
-
symbol seconds = b0 symbol mins = b1 symbol hour = b2 symbol day = b3 symbol date = b4 symbol month = b5 symbol year = b6 symbol control = b7 ; set DS1307 slave address i2cslave %11010000, i2cslow, i2cbyte ; Initialise the clock - "Thu 2003-12-25 11:59:00" let day = $03 ; 03 Note all BCD format let year = $03 ; 03 Note all BCD format let month = $12 ; 12 Note all BCD format let date = $25 ; 25 Note all BCD format let hour = $11 ; 11 Note all BCD format let mins = $59 ; 59 Note all BCD format let seconds = $00 ; 00 Note all BCD format let control = %00010000 ; Enable output at 1Hz writei2c 0,(seconds,mins,hour,day,date,month,year,control) main: ; Read the clock time readi2c 0,(seconds,mins,hour,day,date,month,year) ; Report time read debug pause 500 goto main
Copy Code Submit an Example
Create Module
A DS1307 I2C real-time clock can be connected using two generic terminal block create modules to carry the SDA and SCL signals of the I2C bus.
Bill of Materials
Description | Code | Qty | |
---|---|---|---|
DS1307 i2c realtime clock | MIC055 | 1 | Buy Now |
8-pin 0.3" DIP IC Socket | ICH008 | 1 | Buy Now |
32.768kHz watch crystal (12pF) | RES038 | 1 | Buy Now |
4k7 resistor (pack 100) | RES4K7 | 1 | Buy Now |
100nF miniature polysester capacitor | CAP001 | 1 | Buy Now |
3.0 V Lithium button cell CR2032. | BAT004 | 1 | Buy Now |
3.0 V Lithium button cell CR2032 holder | BAT004H | 1 | Buy Now |
Simulation
Submit Your Own Code!
You must be logged in to submit code examples. Login now.
Share