Arduino Projects    |   Raspberry Pi  |     Electronic Circuits   |    AVR    |    PIC    |    8051    |    Electronic Projects

How to interface seven segment display with 8051 microcontroller (AT89C51)

Summary

Developed By: 
Himanshu Choudhary

Seven Segment displays are used in a number of systems to display the numeric information. The seven segment can display one digit at a time. Thus the no. of segments used depends on the no. of digits in the number to be displayed. Interfacing seven segment with a controller or MCU is tricky. This article explains the interfacing of seven segment with MCU AT89C51. It displays the digits 0 to 9 continuously at a predefined time delay.

How to interface seven segment display with 8051 microcontroller (AT89C51)

Description

A seven segment consists of eight LEDs which are aligned in a manner so as to display digits from 0 to 9 when proper combination of LED is switched on. Seven segment uses seven LED’s to display digits from 0 to 9 and the eighth LED is used for the dot. A typical seven segment looks like as shown in the figure below.
  

Seven Segment are available in two configuration - (1) Common Anode (2) Common Cathode.
Here common anode seven segment display is used because the output current of the microcontroller is not sufficient enough to drive the LED’s, similar to the case of driving an LED. The circuit diagram shows the connections of seven segment to the controller. The pins a to g of the Seven Segment are connected to the Port P2 of the microcontroller. The common pin of the seven segment is connected to Vcc. The  ‘h’  has not been used, which is the dot pin of the controller.

 

Since the seven segment display works on negative logic, we will have to provide logic 0 to the corresponding pin to make an LED glow. Table below shows the hex values used to display the different digits.

 

DIGIT
a
b
c
d
e
f
g
HEX Value
0
0
0
0
0
0
0
1
0x40
1
1
0
0
1
1
1
1
0xF9
2
0
0
1
0
0
1
0
0x24
3
0
0
0
0
1
1
0
0x30
4
1
0
0
1
1
0
0
0x19
5
0
1
0
0
1
0
0
0x12
6
0
1
0
0
0
0
0
0x02
7
0
0
0
1
1
1
1
0xF8
8
0
0
0
0
0
0
0
0x00
9
0
0
0
1
1
0
0
0x10
 
When the values corresponding to the digits 0 to 9 are given on the output port, the digit gets displayed on the seven segment.
 

Circuit Diagram

Video

Code

This Code is only visible to Registered users. Please Login/Register

Components

LEDs | Light Emitting Diode
LED
 
Light emitting diodes (LEDs) are semiconductor light sources. The light emitted...
7 Segment Display | Seven Segment LED Display
Seven Segment Display
 
A seven segment display is the most basic electronic display device that can display digits from 0-9. They find wide application in devices that display numeric information like digital clocks, radio, microwave ovens...
AT89C51 Microcontroller, Atmel 89C51 Controller Image
AT89C51 Microcontroller

AT89C51 is an 8-bit microcontroller and belongs to Atmel's 8051 family. ATMEL 89C51 has 4KB of Flash programmable and erasable read only memory (...

You are here