wie kann ich mit einem timer an einem ausgang nen signal mit 100us an und 100us aus herstellen?

hab das so gemacht ( sind aber keine 100us irgendwie ):
Ddrb.2 = 1
Portb.2 = 0

Xport Alias Portb.2

Dim Tcounter As Byte
Tcounter = 0

On Timer0 Ontimer0
Config Timer0 = Timer , Prescale = 8

...

Ontimer0:
Tcounter = Tcounter + 1
If Tcounter = 46 Then
If Xport = 0 Then
Xport = 1
Else
Xport = 0
end if
end if
return

mein gedankengang war dabei:
ich habe einen quarz mit 3686400hz
takt = 3686400/8 = 460800

alle 2.17us löst der Ontimer0 aus
da ich aber nur eine genauigkeit von 100us brauche das ganze * 46


gedanken fehler? rechenfehler? oder geht das so nicht ?

mfg