Interfacing 7-segment display using 8051 Microcontroller

The Light Emitting Diode (LED), finds its place in many applications in this modern electronic fields. One of them is the Seven Segment Display. Seven-segment displays contains the arrangement of the LEDs in “Eight” (8) passion, and a Dot (.) with a common electrode, lead (Anode or Cathode). The purpose of arranging it in that passion is that we can make any number out of that by switching ON and OFF the particular LED’s. Here is the block diagram of the Seven Segment LED arrangement.

Pin configuration of a seven segment display:
7 segment pin configuration

LED’s are basically of two types:

  1. Common Cathode (CC)
    All the 8 anode legs uses only one cathode, which is common.
  2. Common Anode (CA)
    The common leg for all the cathode is of Anode type.

For the discussion purpose, we use CC LED, where by just reversing the logical voltages we can implement the same for CA LED also.

In a CC LED, all the 8 legs (‘a’ through ‘h’) are of anode type and the common cathode will be connected to the GND of the supply. By energizing any of the legs with +5 Volts will lead to switch the correspondent segment ON. In the microprocessor binary system, 0Volts will be considered as Binary 0, and 5Volts will be considered as Binary1. Considering these two condition, we can make an arrangement as the microcontroller gives OUT the 0s and 1s through its ports, which is connected to the 8 legs of the LED. Of course, we can control the Port Output; implicitly we can Switch-ON required legs of the display.

There 2 methods of interfacing LED with the Microcontroller Intel 8051/8951.

  1. Using lookup table. This uses 7 output pins of microcontroller
  2. Using 7447 decoder. This method uses 4 output pins of microcontroller

The difference between the two main methods is simple and clear. In both the cases, microcontroller communicates with external world through its ports. But, in the 1st case, we connect all the 8 pins of the port directly to the LED and control the voltage through the ports manually to display the desired number. But, in the second case, we send the BCD of the number that we wanted to display to a middleware IC 7447, the BCD to LED code converter, which by itself gives out the correspondent 7 segment codes to the LED.

Here we explain using lookup table. Click here for the method “using 7447 decoder”

Using 7447 decoder:

The IC7447 is a BCD to 7-segment pattern converter. This setup is the advanced form of the <previous> setup where we entered the patterns manually to display the desired character. Here in this case, the IC7447 takes the Binary Coded Decimal (BCD) as the input and outputs the relevant 7 segment code. We connect first four pins of the microcontroller Port 2  to the 7447 and the Output 8 pins of 7447 to the 8 legs of the LED as shown in the figure. Te circuit diagrams are shown below, the first figure is interfacing the CA LED where as the second is of CC LED. The number required to display is sent as the lower nibble of the Port 2 of the Microcontroller. The 7447 converts the four input bits (BCD) to their corresponding 7-segment codes. The outputs of the 7447 are connected to the 7-segment display.

Circuit diagram for interfacing Common Anode 7-Segment Display
Circuit diagram for interfacing Common Anode 7-Segment Display
Circuit diagram for Common Cathode 7-Segment Display
Circuit diagram for Common Cathode 7-Segment Display

Program:

This program displays characters 0 through 9 on seven-segment display using IC 7447 as the middle wear.

again: mov a,#00h ; Start form zero
       up: mov p2, a ; Move to Port 2 
       mov r3,#255 ; Delay 
D1:    mov r1,#255 
D:     djnz r1,D 
       djnz r3,D1 
       inc a 
       cjne a,#0ah,up 
       sjmp again
Editorial Team
Editorial Team

We are a group of young techies trying to provide the best study material for all Electronic and Computer science students. We are publishing Microcontroller projects, Basic Electronics, Digital Electronics, Computer projects and also c/c++, java programs.

51 thoughts on “Interfacing 7-segment display using 8051 Microcontroller

  1. if i use two 7447 ic’s having 2 common cathode and also apply 3 simple switches functions of switches are up,down and on/off …. then what’s the procedure of coding ? i want interface it with parallel port ….

    i need it in urgent , do help me !!

  2. Hai,
    Whether it works with out using controller, I jut want it to
    work by simply supplying power through driver. wht to do?

  3. Can 7447 drive Common Cathode display also as shown above.
    I think 7448 is used.Please clarify.

  4. in case of common cathode display only difference being that coommn cathode terminal is connected to ground through 330 ohms bleeder and remaining circuit remains the same…

  5. why we use 8951 micro controller if we are using only one segment of
    display.we can easily give 1 or 0 to input of Binary to seven segment decoder ic
    7447.it can also given by switches which toggle from 0 to 1 or 1 to 0.
    simple why we make circuit complicated .Engineers means design the best circuit
    in cheapest price and user friendly.

    if you know anything else contact me my email
    id is sujeetsingh02@yahoo.in.
    i am from HRIT ghaziabad uttar pradesh India

  6. why we use 8951 micro controller if we are using only one segment of
    display.we can easily give 1 or 0 to input of Binary to seven segment decoder ic
    7447.it can also given by switches which toggle from 0 to 1 or 1 to 0.
    and i think we can use ic 7448….pls clarify
    my id is snehamoharir123@gmail.com

  7. if i were to use an external gate to make some changes in the display,where should i put it???is it on the input??or output???

  8. hello,
    Im new to this 7-segment display i want to ask some questions..
    how to interface a micro-controller to a multiple seven segment display?
    say 10 7-segment display? do i have to use latches and decoder/multiplexer
    for this? hoping for your king reply…

  9. Please kindly give me the circuit diagram of the Digital substitution board with LCD display of two digit on one side or two sided for a football substitution.

  10. Please kindly give me the circuit diagram of the Digital substitution board with LCD display of two digit on one side or two sided for a football substitution OR direct me where to get the design and construction of this substitution board.

  11. hi…
    i m new here..can anyone tell me how to design a decoder to display binary numbers using 7-segment display

  12. That’s wonderful. Could please send a circuit for 2 x 7 segment LEDs or two digit display with 7447 and 74148? Thanks

  13. kindly check the circuits b4 putting them online!!! pls do not give wrong info in the excitement of posting something!! the second circuit is such a blunder…. it doesnt work at all!!

  14. i want’s to give input to 7447 from the basic gates. is it possible to get bcd equivalent on 7 segment display.
    2) required 7 segment display is common cathod or common anode

  15. is ic7447 works with common cathode circuit please help me…..!
    my email id is ::kingsekar91.n@gmail.com

  16. Hi guys, could u guys plz tell me which IC is appropriate for 7-segmet decoder to be used in a housing estate company which deals with sustainable building issues?

Leave a Reply

Your email address will not be published. Required fields are marked *

Get the latest updates on your inbox

Be the first to receive the latest updates from Codesdoc by signing up to our email subscription.

    StudentProjects.in