Hi Mike,
Fantastic work!
Could you please post:
LED Part number,
Gamma correction routine?
Please, Please, Pretty Please?
I've learned a lot from this thread and want to say Thank You, to ALL who have contributed.
73,
Terry K9HA
Hi Mike,
Fantastic work!
Could you please post:
LED Part number,
Gamma correction routine?
Please, Please, Pretty Please?
I've learned a lot from this thread and want to say Thank You, to ALL who have contributed.
73,
Terry K9HA
Hi Terry, K9HA,
Attached is assembler source with "gamma" table. I also slowed down LED "0" fade loop time considerably to look for "stair stepping" effect since I was only using 64 "gamma" steps but the fading is remarkably smooth.
I'm using Fairchild MV57164 Bar/Dot displays but almost any LED should work fine.
A couple observations;
(1) I'm very surprised at the light produced from LED "10" which is set to a duty cycle of 1 (1-usec -> 1/1280th or 0.078125% duty cycle).
(2) Mirrored BAM doesn't seem to be necessary to correct the 127-128 duty cycle transition visual artifact when using a multiplexed display (with gaps between LED updates).
Regards and "very 73", Mike, K8LH
Last edited by Mike, K8LH; - 9th March 2010 at 16:02.
Mike,
Thank you for the part data AND the assembly code.
It will be fun experimenting with this!
73
Terry
K9HA
I'm geeked!
Just added a 256-step BAM driver to an old project which had a 4-digit 7-segment display (direct I/O drive) and using it for brightness control works great (488-Hz refresh rate @ 4-MHz INTOSC).
I've got a few of these old three or four digit 'pnp' (practically no parts) type projects around and I had always wanted to implement a form of PWM brightness control on them but nothing worked as well or was as 'clean' as this K8LH BAM driver method.
Only "down side" so far is that I haven't figured out a way to implement "cycle accurate" delays in BoostC which means I'm stuck writing in assembler which no one can understand (lol).
Regards, Mike, K8LH
Last edited by Mike, K8LH; - 10th March 2010 at 16:45.
Bookmarks