Ich hab' noch'n Programm zum Erzeugen von Servopulsen in Bascom, das Timer1 benutzt. Musst du eventuell'n bisschen anpassen (an deine Taktfrequenz und so).
Code:
$regfile = "2313def.dat"                                    'AT90S2313
$crystal = 8000000

Config Timer1 = Timer , Prescale = 8

'Konstanten
Const S1offset = 1024
Const S2offset = 1024

'Variablen
Dim S1pos As Byte : Dim S1zeit As Word                      'Servo S1 hängt an PB1
Dim S2pos As Byte : Dim S2zeit As Word

'Timer
Start Timer1
S1pos = 127 : S2pos = 127                                   'alle Servos in Neutralstellung

Ddrb = &H0F                                                 'Die ersten 4 Pins von PortB auf Ausgang
Portb = &H00                                                'erstmal alles auf low

S1zeit = 6 * S1pos : S1zeit = S1zeit + S1offset
S2zeit = 6 * S2pos : S2zeit = S2zeit + S2offset
Timer1 = 0 : Count = 0
Do                                                          'Servos stellen
  If Timer1 > 20000 Then
    Portb.1 = 0 : Portb.2 = 0
    S1zeit = 6 * S1pos : S1zeit = S1zeit + S1offset
    S2zeit = 6 * S2pos : S2zeit = S2zeit + S2offset
    Timer1 = 0
    End If
  If Timer1 > S1zeit Then Portb.1 = 1
  If Timer1 > S2zeit Then Portb.2 = 1
  Loop
End