Hi drucker,

ich glaube, Du musst das anders anpacken.
Entweder Du nimmst einen "Pin change" als Interrupt,
Code:
'Interrupt bei jedem Flankenwechsel (0->1 und 1->0)
Config Int0 = Change
oder Du arbeitest mit dem Befehl "PULSEIN" von Bascom, der genug Auflösung für Schaltaufgaben bietet.
Hier mal ein kleines Beispielprogramm von mir für einen ATTiny13-Positionslampenblinker (für einen Helikopter), der auf Schalterstellungen der Fernsteuerung reagiert .. nicht unbedingt elegant, aber funktioniert. Wenn man beim Einschalten die Fernsteuerung auf "100%" schaltet, kann man die Blinkfrequenz programmieren, die er dann in's EEProm schreibt. Vielleicht hilft's Dir ja was. ACHTUNG: Die "PULSEIN"-Werte sind von der Taktfrequenz abhängig !
Code:
'******************************************************
'Projekt: Blinker
'
'Prozessor: ATTiny13
'Bascom-Version: 1.11.8.2
'
'Programm : Positionslichter
'
'Hardware:
'RC-Input an Port B.0
'LED an Port B.1 Positionslichter (2) rot+grün statisch  (max. 1A)
'LED an Port B.3 Flasher weiß alle 3 Zyklen  (max. 1A)
'LED an Port B.4 Positionslichter (2) rot + grün blinkend jeder Zyklus (max. 1A)
'Schaltkanal an Port B.2 statisch (max. 1A)
'Alle Ausgänge auf Schalttransistoren
'
' (c) Rainer Distler, 15.02.2006
'
'******************************************************

'======================================================
'System-Einstellungen
'======================================================
'Definition für Tiny13
$regfile "attiny13.dat"

'Angabe der Taktfrequenz (1,2 Mhz) Gegenüber 9,6 MHz weniger Stromverbrauch
$crystal = 1200000
'Hardware-Stack verkleinern
$hwstack = 16

'======================================================
'Konfigurationen
'======================================================
Config Portb.0 = Input
Config Portb.1 = Output
Config Portb.2 = Output
Config Portb.3 = Output
Config Portb.4 = Output
Config Portb.5 = Output



'======================================================
'Deklarationen
'======================================================
'
Dim Rc As Word
Dim Dummy As Byte
Dim Frequenz As Eram Word
Dim Frequenzmem As Word
Dim Timedummy As Word
Declare Sub Stufe2

'======================================================
'Initialisierungen
'======================================================
Const An = 1
Const Aus = 0
Led1 Alias Portb.1
Led3 Alias Portb.3
Led4 Alias Portb.4
Ausgang Alias Portb.2

'======================================================
'Hauptprogramm-Schleife
'======================================================
Waitms 3000
'Nach Anschluss der Versorgungsspannung 3 Sekunden warten. Wenn in dieser Zeit
'der RC-Kanal auf 100% geschalten wird, gelangt man in den Programmiermodus

Pulsein Rc , Pinb , 0 , 1
If Rc > 120 Then Goto Setfrequenz
Do

   Pulsein Rc , Pinb , 0 , 1                                'Messung Zeit zwischen 1 und 0 Pegel
   If Rc <= 100 Then
      Led1 = Aus
      Led3 = Aus
      Led4 = Aus
      Ausgang = Aus
   End If
   If Rc > 100 And Rc < 110 Then
      Led1 = An
      Ausgang = Aus
   End If
   If Rc >= 110 And Rc <= 120 Then
      Ausgang = Aus
      Stufe2
   End If
   If Rc >= 120 Then
      Ausgang = An
      Stufe2
   End If

Loop
                                                           '
'Programmende
End

Setfrequenz:
Frequenz = 80
Frequenzmem = 80
Do
   Led1 = An                                             'Blinkende LED zeigt Frequenz an
   Timedummy = Frequenz * 10
   Waitms 50
   Led1 = Aus
   Waitms Timedummy
   Pulsein Rc , Pinb , 0 , 1
   If Rc < 100 Then Frequenzmem = 80                        'Schaltkanal auf 0%
   If Rc > 100 And Rc < 110 Then Frequenzmem = 100          'Schaltkanal auf 40%
   If Rc > 110 And Rc < 120 Then Frequenzmem = 120          'Schaltkanal auf 80%
   'Verhindern, das EEProm ständig neu beschrieben wird
   If Frequenz <> Frequenzmem Then
      Frequenz = Frequenzmem
   End If
Loop

Sub Stufe2
   Led1 = An
   Incr Dummy
   If Dummy = 3 Then
      'Flasher alle 3 Zyklen
      Dummy = 0
      Led3 = An
      Waitms 50
      Led3 = Aus
   Else
      'Positionslichter doppelblinken jeden Zyklus
      Led4 = An
      Waitms 60
      Led4 = Aus
      Waitms 80
      Led4 = An
      Waitms 60
      Led4 = Aus
   End If
   Timedummy = Frequenz * 10
   Waitms Timedummy
End Sub
Gruß.
Rainer