Hallo,
ich glaube ich kann tatsächlich zum erstenmal jemandem helfen

Also ich habe das selbe Projekt wie du nur mit 4 Tastern. Mein Code funktioniert auch wunderbar. Dies ist er:

Code:
      $regfile = "m8def.dat"
$framesize = 32
$swstack = 32
$hwstack = 32
$crystal = 1000000


Config Portd.5 = Output
               Config Pind.4 = Input
                Config Pinb.0 = Input
                Config Pind.7 = Input
                Config Pinc.3 = Input

                Taste1 Alias Pind.7
                Taste2 Alias Pinb.0
                Taste3 Alias Pind.4
                Taste4 Alias Pinc.3

                Portd.7 = 1
                Portb.0 = 1
                Portc.3 = 1
     Portd.4 = 1

Dim Code(4) As Byte

Do

If Taste1 = 0 Then                                          'wenn kein Widerstand vorhandem, d.h. strom fliesst
Portd.5 = 1
                       Code(1) = Code(2)
                       Code(2) = Code(3)
                       Code(3) = Code(4)
                       Code(4) = 1
While Taste1 = 0
Wend


Elseif Taste2 = 0 Then
Portd.5 = 1
                       Code(1) = Code(2)
                       Code(2) = Code(3)
                       Code(3) = Code(4)
                       Code(4) = 2

While Taste2 = 0
Wend

       Elseif Taste3 = 0 Then

       Portd.5 = 1

                       Code(1) = Code(2)
                       Code(2) = Code(3)
                       Code(3) = Code(4)
                       Code(4) = 3

While Taste3 = 0
Wend
       Elseif Taste4 = 0 Then

       Portd.5 = 1
                       Code(1) = Code(2)
                       Code(2) = Code(3)
                       Code(3) = Code(4)
                       Code(4) = 4

While Taste4 = 0
Wend

       Else
       Portd.5 = 0                                          'kein strom auf pin

     End If

If Code(1) = 1 Then
If Code(2) = 2 Then
      If Code(3) = 3 Then
            If Code(4) = 4 Then

                  Portd.5 = 1

            End If
      End If
End If
End If



  Loop

Der Code überwacht 4 Pins ob sie verbunden werden (Taster gedrückt) und schreibt die Nummer des Pins in eine Variable.
Diese wird immer weiter nach vorn verschoben, so dass wenn das Array die richtige konstelation aufweist darauf reagiert wird (in diesem fall das bewegen eines Servos, was ich aber noch ändere).

Wichtig hierbei ist nach jedem erkannten Tastendruck die Schleife die solange wartet wie die Taste gedrückt ist. Damit wird verhindert das die Zahl mehrmals in das Array geschrieben wird wenn die Taste nur einmal gedrückt wird.

Ich hoffe ich konnte helfen.

Es grüßt,
Basteltisch