Du nutzt einen Timer, der nach einer besimmten Zeit ein Interrupt auslöst.
(In Bascom siehe Hilfe für CONFIG TIMER)
Die Zeit sollte der kleinste gemeinsame Nenner Deiner Takte sein.
In der Interruptbehandlung zählst Du für jeden Ausgang einen Zähler hoch, bis er den Multiplikator des Nenners erreich, schaltest den Ausgang und beginnst die entsprechende Zählung von vorne.
In Deinem Beispiel:
Gundfrequenz 6000HZ
Zähler für 80HZ = 75
Zähler für 100HZ = 60
Zähler für 150HZ = 40