ablab

Hello Readers, welcome to my Blog - A Blog For Bloggers By A Blogger. I'm Arun, an entrepreneur Blogger from India.

DS1307 RTC based Digital Clock Designing in 12 Hour Format with ATmega16 and 7-Segment Display

4465
3
Mark as Favourite

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 ATmega16 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 ATmega16 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 ATmega16 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.

Softwares Required

Hardwares Required

Name Quantity
AVR Trainer Board-100 with ATmega16 1pc
AVR USB Programmer 1pc
12V, 1A DC SMPS Adaptor 1pc
EEPROM & RTC Board with AT24C02 1pc
Quad 7-Segment Display Board 1pc
1 to 1 Connector-Female to Female 4pc
10 to 10 FRC Female to Female Connector 3pc

Circuit Diagram

Video

Connection Guide

The step-by-step connection guide for DS1307 RTC based Digital Clock Designing in 12 Hour Format with ATmega16 and 7-Segment Display is as follows

  • Steps - 1 ( 0f 9 )

    Insert the DC Pin of 12V, 1A DC Adapter to the DC Socket of AVR Trainer Board-100.

  • Steps - 2 ( 0f 9 )

    Connect PortB header of AVR Trainer Board-100 with 7 Segment header of Quad 7-Segment Display with a 10 to 10 FRC Female Connector.

  • Steps - 3 ( 0f 9 )

    Connect the DIS1, DIS2, DIS3 and DIS4 pins of Display Select header of Quad 7-Segment Display with PD0, PD1, PD2 and PD3 pins of PortD header respectively of AVR Trainer Board-100 with 1 to 1 Connectors.

  • Steps - 4 ( 0f 9 )

    Connect the EEPROM & RTC header of EEPROM & RTC with PortC header of AVR Trainer Board-100 with a 10 to 10 FRC Female Connector.

  • Steps - 5 ( 0f 9 )

    Connect the ISP header of AVR Trainer Board-100 with AVR USB Programmer header of AVR USB Programmer with a 10 to 10 FRC Female Connector.

  • Steps - 6 ( 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 - 7 ( 0f 9 )

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

  • Steps - 8 ( 0f 9 )

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

  • Steps - 9 ( 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.

  • Insert the DC Pin of 12V, 1A DC Adapter to the DC Socket of AVR Trainer Board-100.

    Steps - 1 ( 0f 9 )

  • Connect PortB header of AVR Trainer Board-100 with 7 Segment header of Quad 7-Segment Display with a 10 to 10 FRC Female Connector.

    Steps - 2 ( 0f 9 )

  • Connect the DIS1, DIS2, DIS3 and DIS4 pins of Display Select header of Quad 7-Segment Display with PD0, PD1, PD2 and PD3 pins of PortD header respectively of AVR Trainer Board-100 with 1 to 1 Connectors.

    Steps - 3 ( 0f 9 )

  • Connect the EEPROM & RTC header of EEPROM & RTC with PortC header of AVR Trainer Board-100 with a 10 to 10 FRC Female Connector.

    Steps - 4 ( 0f 9 )

  • Connect the ISP header of AVR Trainer Board-100 with AVR USB Programmer header of AVR USB Programmer with a 10 to 10 FRC Female Connector.

    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 ATmega16 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 - 9 ( 0f 9 )

Post a Comment

    • GautamKumar
      please share its code
      2017-08-11 23:17:33
      Reply
    • MaheshSuthar
      i did not find the c code anywhere here in this post. Kindly give me the c code to my email maheshsuthar051196@gmail.com
      2017-08-30 21:22:18
      Reply
    • Loknath
      Please send me code and circuit diagram singhloknath125@gmail.com
      2019-09-18 22:40:51
      Reply