If there is space in the pic driving the display this may be useful for 10 steps of intencity 10% to 100% the routine needs to be called about 4000/second for upto 8 digits wrap the display routine in a counter 1) Decriment the counter every time the code is called. 2) When the counter reaches 'n' the dimming level (9 low - 0 high) switch of the display driver (blank the displayed segment) 3) When the count reaches zero reset the counter to 10 call the display routine 4) Return to other functions the number of dimming levels can be increased or decreased depending upon the display requirements and the number of free instructions per second of the processor. for more steps call the routine more often and increase the count range ie call the display routine 8000/second and use a counter range of 20 for 20 steps (5%/step). hope this is usefull