want to display 1,2,3,4 on four seven segemnt display connected to 8051 in such way that the display reads as "1234", but I am not able to write delay routine which refreshes the displays fast enough that our eyes is not able to catch it, kindly guide. using 12Mhz crystal.
exactly what problems are u getting... to know which problems micro has
Erik
exactly what problems are u getting... plss elaborate
125Hz sounds a bit low to me, considering that many people complain of flicker from standard fluorescent lamps - which is 100Hz over here. I once had a bunch of people looking at a 24*132 LED sign. all saw flicker at 75Hz some saw flicker at 100HZ none saw flicker at 120Hz
No, I started with 1ms and no dark time. As you say there was ghosting. So I switched to 750/250, there was no ghosting and no recognizable loss of brightness. So I stuck with it. It was a demo application on a tight schedule, only to be used once. No reason to do it perfect. The pain threshold for usable heartbeats would have been somewhere between 5 and 10µs (I use 5µs for flash writing). So switching to something like 950/50 wouldn't have been an issue.
There's a picture: sourceforge.net/.../rollout.jpg
Without the dark time, you might get "ghosting" from one digit to the next.
A 250µs gap with 750µs illumination sounds a bit large - but I guess that was down to your timer granularity?
Some people are more sensitive to flicker than others.
125Hz sounds a bit low to me, considering that many people complain of flicker from standard fluorescent lamps - which is 100Hz over here.
Erik has much experience in this area...
Personally, I find that I see the flicker in lots of the LED exterior lamps used on cars mowadays. It's not so much when I look directly at them, but when they cross my field of view...
I've done something along those lines.
I illuminated a digit for 750µs, followed by 250µs of dark time. Then I'd switch to the next digit. 8 digits overall, meaning every digit was updated every 8ms, that's a 125Hz refresh rate. No flickering.
I used plain old timer 0 to generate a 250µs heartbeat. Nothing fancy, really.
Never use a delay for a realtime application. The very concept is flawed. You want to control the interval at which your code is executed, not the time it is _not_ executed.
Why are you "not able"?
What have you tried?
Where, exactly, are you stuck?
www.8052.com/.../149030
View all questions in Keil forum