Also das Prinzip habe ich soweit verstanden und muss sagen gute idee ^^
Aber wie bekomst du die genaue Zeit hin ?
ich glaube mit W
Waitms 1.2
is das nicht getan ^^
Oder hast du noch einene 2. Timer laufen der dir das berechnet ?

Ich dachte mir vll wäre es ja möglich eine timer zu machen der alle 20ms ein interupt auslöst.
Gleichzeitig läuft ein wesentlich schnellerer Timer der einfach nur drin hat
also
Dim a as word
Interup_timer2_
load timer2 xxx
a = a + 1
return

Der andere Timer hingegen hat
interupt_timer_der 20ms_hat:
load ....
porta.0 = 1
..
..
porta.7 = 1
a = 0
do
If a >= 100 then porta.0 = 0
...
...
If a >= 180 then porta.7 = 0

loop until a = 500 'das sollen dann halt 2ms sein
Return

In der Hauptschleife steht halt drin was für ein Wert der jeweilige servo hat

Ich probier das ma aus ;P