Spread the love

7 segment  interfacing with PIC18F458

 

____________________________________________________________________________________________________

  • What is 7-SEGMENT DISPLAY (SSD)? – A seven-segment display is a form of electronic display device for displaying decimal numbers (and some alphabets too). SSD may use a liquid crystal display (LCD), a light-emitting diode (LED) for each segment, or other light-generating or controlling techniques such as cold cathode gas discharge, vacuum fluorescent, incandescent filaments, and other.

Seven_segment_02_Pengo

  •  Types of SSD– There are mainly two types of SSD available. In a simple LED package, typically all of the cathodes (negative terminals) or all of the anodes (positive terminals) of the segment LEDs are connected and brought out to a common pin; this is referred to as a “common cathode” or “common anode” device. Besides this, there is also a SSD multiplexer is used called 2 digit, 3 digit and so on as you can see on photos.

Incandescent_light_seven-segment_display_prPNr°17

7segment1

  • Operation – In a simple LED package common cathode SSD, there has 10 pin out of which 2 is ground and rest is LED segments . Particular LED segment is glow(ON) by giving logic ‘1’ to it and rests at logic ‘0’.

So we need to program this 8 pin to display our number on SSD. In following table, we convert this 8 pin’s 8 bit binary data into hex code and shows the hex code of displaying digits below.

Digit Hex code A B C D E F G
0 0x3F 1 1 1 1 1 1 0
1 0x06 0 1 1 0 0 0 0
2 0x5B 1 1 0 1 1 0 1
3 0x4F 1 1 1 1 0 0 1
4 0x66 0 1 1 0 0 1 1
5 0x6D 1 0 1 1 0 1 1
6 0x7D 1 0 1 1 1 1 1
7 0x07 1 1 1 0 0 0 0
8 0x7F 1 1 1 1 1 1 1
9 0x6F 1 1 1 1 0 1 1

PR-3ColourVacuumSwitch

  • Applications-  SSD is widely use in digital clocks, pricing menu at petrol pump, in metros and electronics meters as shown above.

1.Circuit Diagram of COMMON CATHOD  7  SEGMENT   Interfacing With PIC18F458

7 segment  interfacing with PIC18F458

1. Program of 0 To 9 counter on CATHODE  7  SEGMENT INTERFACING With PIC18F458 

/******************************************************
www.firmcodes.com
DEVELOPED BY:- FIRMWARE DEVELOPER
WHAT PROGRAM DO:- BLINK LEDs ON PORT2
******************************************************/

/* header file used in this program is already included in software microC pro for pic*/

void delay();    // for delay

 void main()      // start of main function
   {
       TRISC=0X00;
       while(1)       // undefined loop
         {
              PORTC= 0x3f;
               delay();       //calling of delay function
              PORTC=0x06;
               delay();       //calling of delay function
              PORTC=0x5b;
               delay();      //calling of delay function
              PORTC=0x4f;
               delay();     //calling of delay function
              PORTC=0x66;
               delay();      //calling of delay function
              PORTC=0x6d;
               delay();      //calling of delay function
              PORTC=0x7d;
               delay();       //calling of delay function
              PORTC=0x07;
               delay();       //calling of delay function
              PORTC=0x7f;
               delay();       //calling of delay function
              PORTC=0x6f;
              delay();        //calling of delay function
        }
   }

void delay()    // for delay
  {
     unsigned int i,j;
     for(i=0;i<100;i++)
     for(j=0;j<1000;j++);
   }

PROTEUS File for SIMULATION(Password Of RAR file is :-firmcodes.com)

download (1)

_____________________________________________________________________________________________________

2. Program of 000 To 999 counter on CATHODE  7  SEGMENT INTERFACING With PIC18F458 

/******************************************************
www.firmcodes.com
DEVELOPED BY:- FIRMWARE DEVELOPER
WHAT PROGRAM DO:- 3 SEVEN SEGMENT ARE USED TO COUNT FROM 000 TO 999 USING ATMEGA16
******************************************************/

/* header file used in this program is already included in software microC pro for pic*/

#define c PORTB  //access portc as a variable name led
#define b PORTC  //access portc as a variable name led
#define a PORTD  //access portc as a variable name led

void delay();     // delay

void main() 
   {
       int ar[]={ 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f }; // data of common cathode
       unsigned int i,j,k;   // initilize as a variable
       TRISB=TRISC=TRISD=0X00;  // make b,c,d port as output
       while(1)
         {
             for(i=0;i<10;i++)
               {
                   a=ar[i];        // data of ar[i] goes to port P1
                   for(j=0;j<10;j++)
                     {
                         b=ar[j];    // data of ar[i] goes to port P2
                         for(k=0;k<10;k++)
                            {
                                c=ar[k];  // data of ar[i] goes to port P3
                                delay();
                             }
                      }
                }
         }
    }

void delay()     // delay
{
  int m,n;
  for(m=0;m<500;m++)
  for(n=0;n<153;n++);
}

PROTEUS File for SIMULATION(Password Of RAR file is :-firmcodes.com)

download (1)

Content for the tab VIDEO