Erst mal Danke Albundy!

Ich habe deine Codes mal in dieses Programm eingefügt. Zum Ausprobieren nochmal vereinfacht. PD5 soll nach 5s eingeschaltet werden, nachdem das Startsignal gegeben wurde.
Allerdings geht das Programm nicht.
Was ist daran falsch?

Code:
$regfile = "m32def.dat"
$crystal = 3686400

Config Timer1 = Timer , Prescale = 64
Const Startwert = 7936                                      'zählt bis 65535
Load Timer1 , Startwert

Dim Zaehler As Byte , Startsignal As Bit
Config Pind.5 = Output

Do
If Startsignal = 1 Then Zaehler = 0                         'den Zaehler starten
If Zaehler = 5 Then Portd.5 = 1                             'nach 5s PD5 einschalten
Loop

Irq_timer1:
Load Timer1 , Startwert                                     'Startwert wieder neu laden
Incr Zaehler                                                'Zaehler wird jede Sekunde erhöht
Return

End
Warum wird eigentlich der Zähler gestartet, wenn er auf 0 gesetzt wird?

MfG, Dane