Ich mache das auch immer so ähnlich. Nur ohne Timer.

Code:
$regfile = "m16def.dat"                                     'eingesetzter Mikrocontroller
$crystal = 8000000                                          'eingestellte Taktfrequenz (8MHz)
$hwstack = 100                                              'Standardwert
$swstack = 100                                              'Standardwert
$framesize = 100                                            'Standardwert
$baud = 9600


Config Base = 0

Dim A As Byte

Dim Tasteralt As Byte
Dim Tasterw(8) As Byte
Tastere Alias Pina
Set Porta                                                   'Pullups


Do
   Gosub Tasten
   If Tasterw(0) = 0 Then                                   'Eingang PinA.0 auf GND gezogen
      Print "Mach was"
   End If

Loop
End


Tasten:
   For A = 0 To 7
      If Tastere.a <> Tasteralt.a Then
         Tasteralt.a = Tastere.a
         Tasterw(a) = 127
      Else
         If Tastere.a = 1 Then
            If Tasterw(a) < 254 Then
               Incr Tasterw(a)
            End If
         Else
            If Tasterw(a) > 0 Then
               Decr Tasterw(a)
            End If
         End If
      End If
   Next A
Return
Die Werte variieren von Fall zu Fall /Takt zu Takt.