Ich hab früher mit 1nem Timer 2 PWMs für Motoren erzeugt. den selben Trick könntest du auch machen...

Der Trick: Der Timer hat nen Überlauf von ~100us. das wären bei den 2ms immerhin 20x. du hast 3 countervariablen.

Timer-Überlauf:
decreasen aller counter und schaun on einer 0 wird. (DECFSZ)

counter_all:
beim 20. Mal werden alle PWM-Ausgänge auf 1 und alle counter auf ihren start(/soll)wert gestellt. (Ausnahme: ein Ausgang ist deaktiviert, dann bleibt er 0)

counter_1:
wenn der counter auf 0 kommt, Ausgang 1 auf 0 setzen

counter_2:
wenn der counter auf 0 kommt, Ausgang 2 auf 0 setzen

Hoffe ich konnte helfen.