hmm, ich würde es so machen:

Code:
'hier davor noch das übliche geschribsel. statt den buchstaben x,y,p und q,
'die gleich noch kommen musst du dir eben die entsprechenden 
'Portnamen bzw die pinnummern eingeben


PINx.y = Input   'Pin y von Port x als Eingang
PORTx.y = 1      'Pullup von dem pin an
Taster Alias PINx.y   'Pin y von port x heißt jetzt "Taster"

Portp.q = Output 'Pin q von Port p ist dein output, wird nach 3 sec taster=0 getoggelt
Ausgang Alias Portp.q 'jetzt heißt der pin q von port p "Ausgang

dim Zähler as byte   'Variable "Zähler" deklariert


'Hauptschleife kommt jetzt:

Do

  Zähler = 0            'das setzt den Zähler wieder zurück, wenn die While-schleife 
                             'unterbrochen wurde. wird auch gebraucht, damit "Zähler"
                             'einen bestimmten Wert hat, wenn die While-Schleife beginnt

  while Taster = 0    'der Taster an Pin y von Port x muss nach GND gehen,
                             'darum ist logisch 1 hier low, also 0. wenn Taster = 1, 
                             'dann hört die while-schleife auf, wird über die Do-Loop-Schleife
                             'aber immer wieder aufgerufen. dadurch wird nach jeder 
                             'Tasterunterbrechung neu angefangen zu zählen
    Zähler = Zähler + 1 'Die Variable "Zähler wird um 1 erhöht
    if Zähler = 30 Then   'wenn Zähler 30 mal um eins erhöht wurde,
                                   'was aufgrund der waitms-funktion nur 10mal pro sec passiert,
                                   'dann

       toggle Ausgang      'wird der ausgang getoggelt
       Zähler = 0             'der zähler wieder rückgesetzt
       endif                     'und neu angefangen

    waitms 100              'das ist die waitms- funktion. wenn du genauere ergebnisse haben willst,
                                 'setze sie auf 10 und bei der if- anweisung "if Zähler = 300" 
                                 'dann könnte nur das byte nicht mehr ausreichen,
                                 'als dass die Variable "Zähler " definiert ist.

    Wend

loop
Ich habs jetzt mal für nen Mega8515 ausprobiert und port-/pinnamen eingegeben:
Code:
$regfile = "m8515.dat" 
 $framesize = 32 
 $swstack = 32 
 $hwstack = 32 
 $crystal = 8000000 




Config Pina.0 = Input                                       'Pin y von Port x als Eingang 
Porta.0 = 1                                                 'Pullup von dem pin an 
Taster Alias Pina.0                                         'Pin y von port x heißt jetzt "Taster" (kann sein, dass es "Taster Alias PORTx.y" heißen muss) 

Config Porta.1 = Output                                     'Pin q von Port p ist dein output, wird nach 3 sec taster=0 getoggelt 
Ausgang Alias Porta.1                                       'jetzt Heißt Der Pin Q Von Port P "Ausgang" 

Dim Zaehler As Byte                                         'Variable "Zähler deklariert" 


'Hauptschleife kommt jetzt: 

Do 

  Zaehler = 0 

  While Taster = 0             'der Taster an Pin y von Port x muss nach GND gehen, 
                            ' darum ist logisch 1 hier low, also 0. wenn Taster = 1, 
                            ' dann hört die while-schleife auf 
    Zaehler = Zaehler + 1                                   'die Variable "Zähler wird um 1 erhöht" 

    If Zaehler = 30 Then                                    'wenn Zähler 30 mal um eins erhöht wurde, 
                                   'was aufgrund der waitms-funktion nur 10mal pro sec passiert, dann 

       Toggle Ausgang                                       'wird der ausgang getoggelt 
       Zaehler = 0                                          'der zähler wieder rückgesetzt 
       End If                                               'und neu angefangen 

    Waitms 100                   'das ist die waitms- funktion. wenn du genauere ergebnisse haben willst, 
                                 'setze sie auf 10 und bei der if- anweisung "if Zähler = 300" 
                                  'dann könnte nur das byte nicht mehr ausreichen, 
                                  'als welches die Variable "Zähler " definiert ist. 

   Wend            

Loop
EDIT: fehler behoben, funktioniert!