Interfacing 7-Segment Display using lookup table

Calculation of lookup table as follows:

The lookup table contains the input pattern for the LED legs, to display the corresponding digits.

The table shows the seven segment requirement pattern to display the Hex number, with the Seven segment conversion.

For example, Let us consider the display of the number 0, where we need to switch ON all the LEDs which are there at the boundary. i.e. for a CC LED, we  should supply 5 volts to these LEDs. The 6 LEDs (‘a’ through ‘f’) should get binary 1, the dot and the (middle) hyphen segment should get 0Volts or the binary Zero. Effectively the Seven segment pattern code will be (0011 1111) 3Fh. That is what we OUT through the port pins.

For a Common Anode LED, the display pattern will be the complement of that of Common Cathode pattern.

For Common Cathode :

Common Cathode Lookup Table

For common Anode:

Common Anode Lookup Table

ASM program:

This program displays characters 0 through 9 on seven-segment display connected directly to the port 2 of the microcontroller Intel8951.

Here, the look up table is stored from the memory location 19H of the microcontroller. The first set is the pattern code for common anode followed by the common cathode.

        //Look up table for common Anode
 
org 0000
mov r0,#19h
mov @r0,#0c0fh             // Code for the digit 0
inc r0
mov @r0,#0f9h             // Code for the digit 1
inc r0
mov @r0,#0a4h             // Code for the digit 2
inc r0
mov @r0,#0b0h             // Code for the digit 3
inc r0
mov @r0,#099h             // Code for the digit 4
inc r0
mov @r0,#092h             // Code for the digit 5
inc r0
mov @r0,#082h             // Code for the digit 6
inc r0
mov @r0,#0f8h             // Code for the digit 7
inc r0
mov @r0,#0f0h             // Code for the digit 8
inc r0
mov @r0,#98h             // Code for the digit 9         
 
//Look up table for common Cathode
 
org 0000
mov r0,#19h
mov @r0,#0bfh
inc r0
mov @r0,#86h
inc r0
mov @r0,#0dbh
inc r0
mov @r0,#0cfh
inc r0
mov @r0,#0e6h
inc r0
mov @r0,#0edh
inc r0
mov @r0,#fdh
inc r0
mov @r0,#87h
inc r0
mov @r0,#0ffh
inc r0
mov @r0,#0e7h
 
again: mov a,#00h                         ; Start form zero
up:  mov r2,a
mov r0,#19h                       ; Load starting address of luck up table
add a,r0
mov r0,a
mov a,@r0                         ; Get the LED equivalent
mov p2,a                          ; Move to Port 2
 
mov r3,#255                        ; Delay
D1:    mov r1,#255
D:     djnz r1,D
djnz r3,D1
mov a,r2
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.

9 thoughts on “Interfacing 7-Segment Display using lookup table

  1. i have to make this project but i don;t how to programme ….in my project there is a one switch at input..when i press switch counter will increasde by one……….it should be happend till 0 to 9…please help me to resolvr this problem…my project name is micro controller based counter

  2. wht is difference between connecting 7447 decoder to 7 segment display
    and connecting 7 segment display directly to 8051 using ports?

  3. where should i write this code ? is there any software for this ? or will i have to write the c code .

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