are you saying, if you change the crystal from 16MHz to 20MHz you can use it as long as it's configured properly? why do you need a 20MHz crystal?
that's what i was thinking but the timer interrupts look more promising. the only cause for pause i see is whether 128 levels of dimming may be too crude for smooth dimming but i like how easily the code scales for multiple channels