Ich dachte an sowas:
Code:
Dim Count As Byte                       'oder word, falls nötig
Dim Next_led As Byte                    'oder word, falls nötig
Dim Led_flag As Byte
Dim W1 As Byte , W2 As Byte , W3 As Byte
Dim Zeile As Byte , Position As Byte    'position evtl as word, falls die tabelle größer wird
On Timer0 Timer0_isr
Do
   If Led_flag = 1 Then
      Reset Led_flag
      Incr Zeile
      If Zeile = 14 Then Zeile = 0      'Annahme: wenn die 14 Zeilen durch sind geht's von vorne los
      Position = Zeile * 3
      W1 = Lookup(position , Tabelle)   'Dies liest die Werte 0,3,6,9 .. aus der Tabelle
      Incr Position
      W2 = Lookup(position , Tabelle)   'Dies liest die Werte 1,4,7,10 .. aus der Tabelle
      Incr Position
      W3 = Lookup(position , Tabelle)   'Dies liest die Werte 2,5,8,11 .. aus der Tabelle
   End If

Loop

Timer0_isr:
   Incr Count
   If Count = Next_led Then             'dies so einstellen, dass alle 2 Sekunden das flag gesetzt wird
      Set Led_flag
      Count = 0
   End If
Return

Tabelle:
'      W1 , W2  , W3  , W4  , W5  , W6
  Data 0 , 120 , 255
  Data 20 , 140 , 240
  Data 40 , 160 , 220
  Data 60 , 180 , 200
  Data 80 , 200 , 180
  Data 100 , 220 , 160
  Data 120 , 240 , 140
  Data 140 , 255 , 120
  Data 160 , 0 , 100
  Data 180 , 20 , 80
  Data 200 , 40 , 60
  Data 220 , 60 , 40
  Data 240 , 80 , 20
  Data 255 , 100 , 0
Kompiliert ok, aber ist nicht getestet.

Gruß

Rolf