hi can anyone help me out to solve the issue in multiplexing 7 seg led using pic 16f83....
its a 10min timer counts from 0 00 to 9 59
i got output but the numbers are fluctuating...
i attached code and proteus design file....
as far as i can see there is issue with delay
The visual cortex of human eye holds onto one image for about one-fifteenth of a second
the numbers are fluctuating because multiplexing delay is more than 1/15th of sec
try and reduce the delay and you will be fine
sometimes it might be possible that proteus will not show you the real time simulation ......
it might work perfectly on actual hardware
coding wise i don't see any issue
in my view try 3.2 ms refresh....to avoid the flicker... As if you look at tft it has refresh rate of 60Hz i.e. 16.66 millisecond per frame ....But when it comes to emissive display like Seven Segment it is required have less refresh time than that of traditional TFT bcz of mainly two reasons - one is area of the pixel is much more less for TFT as compare to Seven Segment display... Second is TFT is shutter display mostly tuned with gray level difference of +/- 1% where as in case of Seven segment it can be in the order of 2.5% or more....
....
for(l=0;l<66;l++) // 66 for appr 1 sec/count
{
PORTA = 0b111; // switch off all digits
PORTB=bcdto7[k]; // update segment values
PORTA = 0b110; // switch on the rightmost digit
Delay_ms(5); // time to see it
PORTA = 0b111;
PORTB=bcdto7[j];
PORTA = 0b101;
Delay_ms(5);
PORTA = 0b111;
PORTB=bcdto7[i];
PORTA = 0b011;
Delay_ms(5);
}
....
And play with the animation options to decrease flickering:
ISIS menu System > Set Animation Options > "Frames per Second" and "Timestep per Frame"