Do a search for 'Slow Software PWM' or 'SSPWM' in the MeLabs archives.