INTERFACING SEVEN SEGMENT DISPLAY WITH 89c51
Seven segment displays are important display units in Electronics and widely used to display numbers from 0 to 9. It can also display some character alphabets like A,B,C,H,F,E etc.It just consists 8 LEDs, each LED used to illuminate one segment of unit and the 8th LED used to illuminate DOT in 7 segment display.
There are two types of 7 segment displays: Common Anode and Common Cathode:
Common Anode: In this all the Negative terminals (cathode) of all the 8 LEDs are connected together (see diagram below), named as COM. And all the positive terminals are left alone.
Common Cathode: In this all the positive terminals (Anodes) of all the 8 LEDs are connected together, named as COM. And all the negative thermals are left alone.
For constructing the truth table , listing the 7 display input signals, decimal number and corresponding 4 digit binary numbers.The truth table for the decoder design depends on the type of 7-segment display. Here we consider a common cathode seven-segment display, the output of decoder or segment driver must be active high in order to glow the segment.
Program 1: Displaying 0-9 in seven segment display
Code:
#include<reg51.h> void delay(int); void main() { while(1) { P3=0XFC; delay(500); P3=0X60; delay(500); P3=0XDA; delay(500); P3=0XF2; delay(500); P3=0X66; delay(500); P3=0XB6; delay(500); P3=0XBE; delay(500); P3=0XE0; delay(500); P3=0XFF; delay(500); P3=0XF6; delay(500); } } void delay(int n) { int i,j; for(i=0;i<n;i++) for(j=0;j<100;j++); }
simulation:
Download code Here
Program 2:Displaying 0-99 in seven segment display
Code:
#include<reg51.h>
void delay(int);
void main()
{
int a[10]={0XFC,0X60,0XDA,0XF2,0X66,0XB6,0XBE,0XE0,0XFE,0XF6},k,l,m;
while(1)
{
for(k=0;k<10;k++)
{
for(l=0;l<10;l++)
{
for(m=0;m<20;m++)
{
P2=0X80;
P3=a[k];
delay(5);
P2=0X40;
P3=a[l];
delay(200);
}
}
}
}
}
void delay(int n)
{
int i,j;
for(i=0;i<n;i++)
for(j=0;j<10;j++);
}
simulation:
Download code Here
Comments
Post a Comment