i want to run multiple 7 segment display at a time but i am getting problem in my code..please have a look on code and help me..
i am using 8051MCU,74HC138,ULN 2803 as decoder n switch...
this code is for common cathode displays..i am selecting 2 displays..
#include<reg51.h>
sbit c = P1^0;
sbit b = P1^1;
sbit a = P1^2;
sfr seven_seg = 0xA0;
sbit en = P3^3;
unsigned char list[11] = {0x00,0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};
unsigned int i,j;
unsigned char *seg;
void disp1();
void disp2();
void delay(unsigned int k)
void main()
{
while(1){
disp1();
seven_seg = *seg;
delay(20);
seg++;
disp2();
seven_seg = *seg;
delay(50);
seg++;
}//while
}//main
void disp1()
{
en = 0;
c=0;
b=0;
a=0;
}
void disp2()
{
en = 0;
c=0;
b=0;
a=1;
}
void delay(unsigned int k)
{
for( i = 0; i < k; i ++ )
for(j= 0; j < k; j ++ ) ;
}
plz help me,correct me if m using pointer wrongly n about delay
also my second qn is how we should calculate delay?( in ms,ns )
i am using 8051MCU,74HC138,ULN 2803 as decoder n switch...
this code is for common cathode displays..i am selecting 2 displays..
#include<reg51.h>
sbit c = P1^0;
sbit b = P1^1;
sbit a = P1^2;
sfr seven_seg = 0xA0;
sbit en = P3^3;
unsigned char list[11] = {0x00,0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};
unsigned int i,j;
unsigned char *seg;
void disp1();
void disp2();
void delay(unsigned int k)
void main()
{
while(1){
disp1();
seven_seg = *seg;
delay(20);
seg++;
disp2();
seven_seg = *seg;
delay(50);
seg++;
}//while
}//main
void disp1()
{
en = 0;
c=0;
b=0;
a=0;
}
void disp2()
{
en = 0;
c=0;
b=0;
a=1;
}
void delay(unsigned int k)
{
for( i = 0; i < k; i ++ )
for(j= 0; j < k; j ++ ) ;
}
plz help me,correct me if m using pointer wrongly n about delay
also my second qn is how we should calculate delay?( in ms,ns )