Interfacing 7-segment Display
...................................................................................................................................

#include <at89x52.h>
void display_digit(unsigned char);
void delay();

#define dis_a P0_1        /*a segment*/
#define dis_b P0_0        /*b segment*/
#define dis_c P0_6        /*c segment*/
#define dis_d P0_5        /*d segment*/
#define dis_e P0_4        /*e segment*/
#define dis_f P0_2        /*f segment*/
#define dis_g P0_3        /*g segment*/

void main(void)
{
unsigned char i;
while(1){                   /*Repeat fowever*/
for(i=0;i<10;i++)
{
display_digit(i);        /*Display 0-9*/
delay();                        /*delay*/
}
}
}

/*---------------------------------------------------
Display the data passed to this function
----------------------------------------------------*/
void display_digit(unsigned char digg)
{
if (digg==0x00)                /*Display 0*/
{
dis_a=0;
dis_b=0;
dis_c=0;
dis_d=0;
dis_e=0;
dis_f=0;
dis_g=1;
}
else if (digg==1)
{
dis_a=1;
dis_b=0;
dis_c=0;
dis_d=1;
dis_e=1;
dis_f=1;
dis_g=1;
}
else if (digg==2)
{
dis_a=0;
dis_b=0;
dis_c=1;
dis_d=0;
dis_e=0;
dis_f=1;
dis_g=0;
}
else if (digg==3)
{
dis_a=0;
dis_b=0;
dis_c=0;
dis_d=0;
dis_e=1;
dis_f=1;
dis_g=0;
}
else if (digg==4)
{
dis_a=1;
dis_b=0;
dis_c=0;
dis_d=1;
dis_e=1;
dis_f=0;
dis_g=0;
}
else if (digg==5)
{
dis_a=0;
dis_b=1;
dis_c=0;
dis_d=0;
dis_e=1;
dis_f=0;
dis_g=0;
}
else if (digg==6)
{
dis_a=0;
dis_b=1;
dis_c=0;
dis_d=0;
dis_e=0;
dis_f=0;
dis_g=0;
}
else if (digg==7)
{
dis_a=0;
dis_b=0;
dis_c=0;
dis_d=1;
dis_e=1;
dis_f=1;
dis_g=1;
}
else if (digg==8)
{
dis_a=0;
dis_b=0;
dis_c=0;
dis_d=0;
dis_e=0;
dis_f=0;
dis_g=0;
}
else if (digg==9)
{
dis_a=0;
dis_b=0;
dis_c=0;
dis_d=0;
dis_e=1;
dis_f=0;
dis_g=0;
}
}
/*---------------------------------------------------
Delay Program
----------------------------------------------------*/
void delay()
{
TMOD=0x01;                /*Timer 0, mode 1*/
TL0=0xFE;
TH0=0xFE;
TR0=1;
while(TF0==0);
TR0=0;
TF0=0;
}
Click here to Know about the seven segment display

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.
Click here to Download the Program...
· Home
· 8051 Forum
· Active Topics
· 8051 Free Projects
· Blog
· Top 10
· Datasheets
· Electronic Tutorials
· Electronic Projects
· 8051 Tutorials
· 8051 Course
· 8051 Code Library
· Visual Basic for mC
· 8051 Programmer
· Assembler/IDE
· Products
· Ebooks
· Supporting Tools
· Tag Cloud
· Guest Book
· Contact Me
· Privacy policy

8051 Microcontroller Projects, free ebooks, project codes, AVR Projects, 8051 tutorials, electronic projects, ECE CSE BE final year projects, Embedded systems, AVR codes, embedded technology, LCD Interfacing tutorial,final year project ideas project downloads, engineering projects, Examples projects, 8051 Libraries, 8052, Microcontroller, Microprocessor, 8085, 8051 codes, PCB designing, Project Kits, kit