Der Generator erstellt eientlich schon ein Program das die nötigen Funktionen enhält.

Mit dem Zähler war einfach ein Byte im RAM gemeint.
Dieses decrementierst du in jedem Timerinterupt. Ist es 0 kannst du deine
Funktion ausführen.

Sieht dann etwa so aus:
Code:
; Autor    : unknown
; Projekt  : Test
; Datum    : Thu Oct 27 2005 18:17:29 GMT+0200 (CEST)
; Quarz    : 40.000 MHz
; Assembler: ASEM-51
; Generator: CodeGen Stable Version 1.1, Erik Buchmann '04
;---------------------------------------------------------------
$NOLIST
$NOMOD51
$INCLUDE (89c1051.mcu)
USING 0
$LIST

; Konstanten-, Speicher- und Portbelegung
;---------------------------------------------------------------
timer0_ext24    DATA 08h

TL0PRE          EQU 219
TH0PRE          EQU 11
TX0PRE          EQU 16

; Programmbeginn
;---------------------------------------------------------------
 ORG 0h
        jmp start

; Interruptroutinen
;---------------------------------------------------------------

 ORG 0Bh
        jmp timer0_int

; Funktionen
;---------------------------------------------------------------

; Interruptbehandlungsroutine Timer 0
timer0_int:
        mov TL0, #TL0PRE
        mov TH0, #TH0PRE
        djnz timer0_ext24,timer0_int_label
        mov timer0_ext24,#TX0PRE
        acall timer0_int_label

;wird alle 3s ausgeführt
       cpl   ausgansbit


        ret
timer0_int_label:
        reti
;- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

; Initialisierung
;---------------------------------------------------------------
start:

; Timer 0 aktivieren
;  Intervall: 300.0 ms
;  Software-Kontrolle
        mov TL0, #TL0PRE
        mov TH0, #TH0PRE
        mov timer0_ext24,#TX0PRE

; die SFR's initialisieren
        mov SP,  #20h
        mov TMOD,#1
        mov TCON,#16
        mov IE,  #130

; Hauptprogramm
;---------------------------------------------------------------
main:
;       [...]

; Programmende
;---------------------------------------------------------------
ende:
        jmp ende
END
Enstellung des Codegenerators:
Frequenz 40MHz
Timer0 aktiviert
Intervalldauer: 300.0 ms