1. You can now buy finished microcontroller project from us, Check out the Store for the complete list of projects.
  2. Need a custom project, Send us some details about your project. So that we can quote the price for it.

7 Segment display Interfacing with 8051 Microcontroller

Interfacing a 8051 microcontroller with a 7 segment Common Anode Display.

  1. Binu
    The 7 segment display is found in many displays such as microwaves or fancy toaster ovens and occasionally in non cooking devices. It is just 7 LEDs that have been combined into one case to make a convenient device for displaying numbers and some letters. The display is shown on the left. The pin out of the display is on the right.

    This version is a common anode version. That means that the positive leg of each LED is connected to a common point which is pin 3 in this case. Each LED has a negative leg that is connected to one of the pins of the device. To make it work you need to connect pin 3 to 5 volts. Then to make each segment light up, connect the ground pin for that led to ground. A resistor is required to limit the current. Rather than using a resistor from each LED to ground, you can just use one resistor from Vcc to pin 3 to limit the current.

    The following table shows how to form the numbers 0 to 9 and the letters A, b, C, d, E, and F. '0' means that pin is connected to ground. '1' means that pin is connected to Vcc.


    Now, we want to run the display with the AT89C51 microcontroller. We will use Port 0 to run the display. Connect the AT89C51 to the 7 segment display as follows.

    Program to display "0" on the seven segment display

    Code (Text):
    1. ; PROG2 - Second Program, Display 0 on seven segment display
    2. ;
    3. ORG 0000H        ; Execution starts here
    5. SETB P0.3        ; Turn off the g segment
    6. CLR    P0.1        ; Turn on the a segment
    7. CLR    P0.0        ; Turn on the b segment
    8. CLR    P0.6        ; Turn on the c segment
    9. CLR    P0.5        ; Turn on the d segment
    10. CLR    P0.4        ; Turn on the e segment
    11. CLR    P0.2        ; Turn on the f segment
    13. HERE:    AJMP HERE        ; Loop here forever
    14.         END
    bappa khamaru likes this.