The digits each flash at exactly 100Hz (10mS period). Each of the 4 digits is on for 2.5mS, ie 100Hz * 25% duty.
The big question, is; Each of the digits is flashing at 100Hz, and if any digit is viewed totally alone it cannot be seen to flash. But when you view the entire 4 digit display you can easily see the display flashing... Why?
For anybody that wants to play with one and see for themselves, it only needs 4 LEDs and minimal code;
Code:
// assuming 4 LEDs on PORTB 0-4
while(1)
{
PORTB = b'00000001';
Delay_us(7200);
PORTB = b'00000010';
Delay_us(7200);
PORTB = b'00000100';
Delay_us(7200);
PORTB = b'00001000';
Delay_us(7200);
}
Hmm, I just tested with 4 red LEDs spaced 7mm apart and its nowhere near as effective as with 4 green 7seg displays (5/8" tall). I had to drop the freq very low to about 35Hz or 40Hz (see code above) to try to get the same effect...
I guess the larger display activates more optic sensors than 4 tiny leds... Or maybe the green light sensors in the eye work a bit differently. I don't have the green display handy, this was a many weeks back when I was doing a project noticed the effect and I'm sure it was much higher than 35Hz freq.
Anyway my theory was that the eye can see each digit flashing (just) but more as a small ripple in the brightness than as a "flash" as it is still just under the freq where the eye sensors filter it out. Then the brain acts as a second filter to reduce the small flash ripple to get rid of noise.
So there's basically 2 systems; the eye sensors (hardware + integrator) which can still just detect the ripple, and the brain (software) that deliberately filters out the one single flashing object to make it a constant light.
But when there are 4 flashing objects in sequence, the eye sensor still detect the same very small ripple in each object, but now the brain doesn't do the second filter, or even does the opposite and pays attention to the 4 *different* flashing objects... Like the brain identifies the very small 1234 ripple as "movement!" and focuses on it. That was my theory anyway.
It could be just as likely that Diver300 was right and it might be simply because the larger display size of the 4 digits within the viewing area of the eye means that part of the display is in the field of view of the outer eye sensors that are better at detecting movement.