00 to 99 Display in Quad 7-Segment Display with ATmega16
Things gets a little bit more complicated when we want to have more than one 7-segment display and each one will show a different number. Normally, we would need 8 pins for each one (7 for seven segments and one for DP), so a total of 16 pins are required for two 7-segment display, right? No, because in that way, if we wanted to have 6 digits (for a frequency meter for example) we would need 48 pins! Instead, we will make a trick, a trick with the eye. The catch is that the human eye does not operate non-stop all the time. Instead, it takes 10 ‘photos’ each second. Between those photos, the brain will keep the last photo taken active, something like a ‘latch’. We will take advantage of this characteristic of human eye in this project. This trick or technology is called time sharing. Using this technology, we need only 10 pins of the microcontroller to display from 00 to 99 in two 7-segment display.
In this project, we will learn How to display from 00 to 99 in two common anode 7-segment displays with AVR ATmega16 microcontroller. The two 7-segments are connected to the AVR ATmega16 microcontroller using multiplexing technology to save six I/O pins of AVR ATmega16 microcontroller. For detail see the circuit diagram. The microcontroller selects one 7-segment at a time to display one digit of the two digit number. But, the speed at which the microcontroller selects the 7-segment to display the digits is very fast. At this speed, the human eye cannot detect that; at any instant of time only one 7-segment is displaying one digit of the number and the other 7-segment is not displaying anything. The microcontroller displays the numbers from 00 to 99 in the two 7-segment displays and the microcontroller uses its compare match interrupt of Timer Counter feature to give a time delay between two consecutive numbers (delay functions cannot be used to give time delay between two consecutive numbers). When the display reaches 99, it will restart the display from 00 and the above process continues forever.
|AVR Trainer Board-100 with ATmega16||1pc|
|AVR USB Programmer||1pc|
|12V, 1A DC SMPS Adaptor||1pc|
|Quad 7-Segment Display Board||1pc|
|1 to 1 Connector-Female to Female||2pc|
|10 to 10 FRC Female to Female Connector||2pc|
The step-by-step connection guide for 00 to 99 Display in Quad 7-Segment Display with ATmega16 is as follows
Steps - 1 ( 0f 7 )
Insert the DC Pin of 12V, 1A DC Adapter to the DC Socket of AVR Trainer Board-100.
Steps - 2 ( 0f 7 )
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 7 )
Connect the DIS1 and DIS2 pins of Display Select header of Quad 7-Segment Display with PD0 and PD1 pins of PortD header respectively of AVR Trainer Board-100 with 1 to 1 Connectors.
Steps - 4 ( 0f 7 )
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 7 )
Connect the AVR USB Programmer to the PC/Laptop's USB Port directly or with the help of USB AM-FM Cable.
Steps - 6 ( 0f 7 )
Switch on the power with the help of Power Switch of AVR Trainer Board-100.
Steps - 7 ( 0f 7 )
Download the 00 to 99 Display in Quad 7-Segment Display with ATmega16 Hex file to AVR Trainer Board-100 with the help of SinaProg Hex downloader and AVR USB Programmer.