A digital clock is a type of clock that displays the time digitally (i.e. in numerals or other symbols), as opposed to an analog clock, where the time is indicated by the positions of rotating hands. The clock/calendar provides seconds, minutes, hours information. The clock operates in either the 24-hour or 12-hour format with AM/PM indicator.

In this project, we will learn How to design a DS1307 Real Time Clock(RTC) based digital clock with AVR ATmega32 microcontroller and 7-Segment Displays in 12 hour format. Here, we will read time(Hour, Minute and Second) from the DS1307 RTC and we will display the hour and minute value in 4 7-segment displays. The second value from the DS1307 is used to blink the dot(.) of the middle 7-segment display. The data communication between DS1307 RTC and AVR ATmega32 microcontroller takes place using TWI(Two Wire Interface) communication protocol. But before reading the DS1307 RTC, the DS1307 RTC needs to be initialized with hour, minute and second values. The DS1307 RTC is initialized only once. We will initialize the hour, minute and second value of the DS1307 RTC with of 5, 0 and 0(Clock will start with 5 hour(PM), 0 minute and 0 second). You can change the initialization values according to your need by changing the initialization values in the DS1307 write section of the code. After initialization of DS1307 RTC, the AVR ATmega32 microcontroller will read the second, minute and hour values from the DS1307 continuously through two wire interface communication and it will display those hour and minute values in 4 7-segment displays. The microcontroller will use the second value to blink the dot (.) of the middle 7-segment display.

Steps - 4 ( 0f 9 )

Steps - 5 ( 0f 9 )

Connect the AVR USB Programmer to the PC/Laptop's USB Port directly or with the help of USB AM-AF Cable.

Steps - 6 ( 0f 9 )

Switch on the power with the help of Power Switch of AVR Trainer Board-100.

Steps - 7 ( 0f 9 )

Download DS1307 RTC based Digital Clock Designing in 12 Hour Format with ATmega32 and 7-Segment Display Hex file to AVR Trainer Board-100 with the help of SinaProg Hex downloader and AVR USB Programmer.

Steps - 8 ( 0f 9 )

Wait for some time(30 seconds) and delete or convert the code between DS1307 write section starts here and DS1307 write section ends here into comments in the C Program of the project and compile the code. After compilation, download the code.

Steps - 4 ( 0f 9 )

Steps - 5 ( 0f 9 )

Connect the AVR USB Programmer to the PC/Laptop's USB Port directly or with the help of USB AM-AF Cable.

Steps - 6 ( 0f 9 )

Switch on the power with the help of Power Switch of AVR Trainer Board-100.

Steps - 7 ( 0f 9 )

Download DS1307 RTC based Digital Clock Designing in 12 Hour Format with ATmega32 and 7-Segment Display Hex file to AVR Trainer Board-100 with the help of SinaProg Hex downloader and AVR USB Programmer.

Steps - 8 ( 0f 9 )

Wait for some time(30 seconds) and delete or convert the code between DS1307 write section starts here and DS1307 write section ends here into comments in the C Program of the project and compile the code. After compilation, download the code.