Hi Tim,
Thanks for passing along your name and the nice bio'. I'm 55, a Vietnam era vet' (Army, electronic tech'), an Extra class Ham radio operator, a private pilot (wife Helen too), blah, blah, blah (grin). I'll send you more later via PM.
I caught up on your and Wilf's posts. He mentioned PWM brightness control and I remember you asked me about it before. It's really simple. Basically you drive the Output Enable lines on your driver chips (the MIC5821's in my designs) with an inverted PWM (pulse width modulation) signal that has the same period as your "scan" period. I use 1-msec interrupts for my column scan rate just like you so I set up the PIC PWM module with a 1-msec period. Then I simply modify the duty cycle register for 0% to 100% which becomes inverse brightness. If you think about it, a 50% PWM duty cycle pulse on the driver ICs output enable lines each scan period will allow the IC to drive the LEDs for 500-usecs of the 1000-usec interval. Does that make sense?
Later, Mike