Hi,

wenn´s nur um den Taster und die Led geht, kannst Du dir mit dem Wait-Befehl helfen. Funzt aber nur, wenn der Prozessor während der Minute ausser Warten nichts anderes tun muß...

Außerdem solltest Du beachten, dass die LED´s und Eingänge üblicherweise mit einem Pullup-Widerstand betrieben werden, d.h., die LEd leuchtet, wenn der Ausgang auf logisch "0" gesetzt wird. Von daher hätte Dein Programm nicht funktioniert.

Der Grund liegt darin, dass ein Prozessor-Pin die 20mA nur gegen GND schalten kann, Der High-Pegel liefert nur ein paar mA.

Code:
$Regfile = "m8def.dat" 
$Crystal = 3686000    'Quarz: 3.6860 MHz 
DDRD = &B0001000      'Pin PD3 Ausgang, Rest Eingang 
'PORTD = &B0000100    'PullUp von Pin PD2 aktivieren
'Damit aktivierst Du keine Pullups sondern schreibst nur ein Bitmuster in das Byte von PortD...

Portd.3=1 'Portd.3 auf 5V-> LED aus...

Do 
  If PIND.2 = 0 Then  'Wenn Taster (Pin PD2) gedrückt 
    PORTD.3 = 0       'Rote LED (Pin PD3) an 
  end if
  if Pind.2=1 and Pind.3=0 then 'Wenn Taster frei und Portd.3 =0 (LED an)
    wait 60
    PORTD.3 = 1      'Rote LED aus 
  End If 
Loop 
End
Ist nicht getestet, nur runtergetippt - die Feinheiten überlasse ich Dir...

Viele Grüße

Torsten