hier mal mein code. es scheint mir als ob der AVR zu langsam wäre. ich muss jetzt etwas länger auf den tastern bleiben dass er ein signal wahrnimmt. is das normal?

Code:
$regfile = "m8def.dat"
$crystal = 1000000
$baud = 19200
$hwstack = 32
$swstack = 10
$framesize = 40



Config Lcd = 16 * 2
Config Lcdpin = Pin , Db4 = Portc.2 , Db5 = Portc.3 , Db6 = Portc.4 , Db7 = Portc.5 , E = Portc.1 , Rs = Portc.0
Config Lcdbus = 4
Cursor Off
Ddrb = &B11111111
Ddrd = &B00000000
Portd.2 = 1
Portd.3 = 1
Portd.4 = 1
Portd.5 = 1
Portd.6 = 1
Portd.7 = 1

Enable Interrupts
Config Clock = Soft
Declare Sub Stunde
Declare Sub Minute
Declare Sub Menue
Declare Sub Stundew
Declare Sub Minutew
Declare Sub Onoff
Declare Sub Licht
Declare Sub Stellenmenue

Dim Modus As Byte
Dim Stellenstunde As Byte
Dim Stellenminute As Byte
Dim Konfiguration As Byte
Dim Anaus As Byte


Cls

Time$ = "00:00:00"

Do
   Locate 1 , 1
   Lcd Time$ ; "  " ;
   Locate 1 , 12


   If Stellenstunde < 10 Then Lcd "0"
   Lcd Stellenstunde ; ":"
         If Stellenminute < 10 Then Lcd "0"
         Lcd Stellenminute


   Debounce Pind.2 , 0 , Menue , Sub
   Debounce Pind.3 , 0 , Stellenmenue , Sub


   If Konfiguration = 1 Then                                'Wecker stellen
      Debounce Pind.4 , 0 , Stundew , Sub
      Debounce Pind.5 , 0 , Minutew , Sub
   End If


   If Konfiguration = 2 Then                                'Uhr stellen
      Debounce Pind.4 , 0 , Stunde , Sub
      Debounce Pind.5 , 0 , Minute , Sub
   End If

   Debounce Pind.6 , 0 , Onoff , Sub

   If Konfiguration = 0 Then                                'Wecker an/aus
          If Anaus = 0 Then
            Locate 2 , 11
            Wait 1
            Lcd "   aus"
          End If

         If Anaus = 1 Then
            Locate 2 , 11
            Wait 1
            Lcd "    an"
         End If
   End If


   If Stellenstunde = _hour And Stellenminute = _min And Anaus = 1 Then
               Portb.5 = 1
               Else
               Portb.5 = 0
   End If


   Debounce Pind.7 , 0 , Licht , Sub

Loop



'Stellenmenü                                                'Menü zum einstellen Wecker/Uhr
Stellenmenue:
Incr Konfiguration
   If Konfiguration = 3 Then Konfiguration = 0
   Locate 2 , 11

   If Konfiguration = 0 Then
      Locate 2 , 11
   End If


   If Konfiguration = 1 Then
      Locate 2 , 11
      Wait 1
      Lcd "Wecker"
   End If



   If Konfiguration = 2 Then
      Locate 2 , 11
      Wait 1
      Lcd "   Uhr"
   End If
Return


'Menü                                                       'Menü MP3, Radio, Aux
Menue:
Incr Modus
   If Modus = 4 Then Modus = 0
   Locate 2 , 1
   If Modus = 0 Then
      Locate 2 , 1
      Wait 1
      Lcd "Aus  "
   End If


   If Modus = 1 Then
      Locate 2 , 1
      Wait 1
      Lcd "MP3  "
      Portb.0 = 1
   Else
      Portb.0 = 0
   End If



   If Modus = 2 Then
      Locate 2 , 1
      Wait 1
      Lcd "Radio"
      Portb.1 = 1
   Else
      Portb.1 = 0
   End If



   If Modus = 3 Then
      Locate 2 , 1
      Wait 1
      Lcd "AUX  "
      Portb.2 = 1
   Else
      Portb.2 = 0
   End If
Return



'Stunde                                                    'Hier wird die Stunde der Uhr hochgezählt
Stunde:
   Incr _hour
   If _hour > 23 Then
      _hour = 00
   End If
Return



'Minute                                                     'Hier wird die Minute der Uhr hochgezählt
Minute:
   Incr _min
   If _min > 59 Then
      _min = 00
   End If

Return



'MinuteW                                                    'Hier wird die Minute des Weckers hochgezählt
Minutew:
Incr Stellenminute
   If Stellenminute > 59 Then
   Stellenminute = 0
   End If
Return



'Stundew                                                    'Hier wird die Stunde des Weckers hochgezählt
Stundew:
Incr Stellenstunde
   If Stellenstunde > 23 Then
   Stellenstunde = 0
   End If
Return



'onoff                                                      'Hier wird der Wecker ein- und ausgeschaltet
Onoff:
Incr Anaus
   If Anaus = 2 Then Anaus = 0
Return




'Licht                                                      'Hier wird das Licht für 4 Sekunden eingeschaltet
Licht:

   Portc.5 = 1
   Wait 4

Return