@vogon: ich hab mich jetzt noch ein bisschen informiert und es gibt keine mehrdimensionale arrays unter bascom... leider...
ich habe mich jetzt für folgende variante entschieden umd die Zeichen des strings ind die anzuzeigenden spalten zu bekommen:
Code:$regfile = "m8def.dat" $crystal = 8000000 $framesize = 512 $swstack = 512 $hwstack = 512 Config Portb = Output Dim Umdrehung As Word Dim Spaltenzeit As Byte Dim A As Byte Dim X As Byte Dim I As Byte Dim Anzeige As String * 30 Dim Zeichen As String * 1 Dim Spalte(150) As Byte Dim Laenge As Byte Dim Spalten As Byte Config Int0 = Falling On Int0 Int0isr Enable Int0 Config Timer0 = Timer , Prescale = 64 On Timer0 Timer0isr Enable Timer0 Config Timer1 = Timer , Prescale = 8 On Timer1 Timer1isr Enable Timer1 Enable Interrupts Start Timer0 Anzeige = "ABCDEFGHIJKLO" Do If I = Laenge Then I = 0 X = 0 End If Incr I Zeichen = Mid(anzeige , I , 1) Laenge = Len(anzeige) Spalten = Laenge * 6 If Zeichen = "A" Then Incr X Spalte(x) = &B10000001 Incr X Spalte(x) = &B01101111 Incr X Spalte(x) = &B01101111 Incr X Spalte(x) = &B01101111 Incr X Spalte(x) = &B10000001 Incr X Spalte(x) = &B11111111 End If If Zeichen = "B" Then Incr X Spalte(x) = &B00000001 Incr X Spalte(x) = &B01101101 Incr X Spalte(x) = &B01101101 Incr X Spalte(x) = &B01101101 Incr X Spalte(x) = &B10010011 Incr X Spalte(x) = &B11111111 End If If Zeichen = "C" Then Incr X Spalte(x) = &B11000111 Incr X Spalte(x) = &B10111011 Incr X Spalte(x) = &B01111101 Incr X Spalte(x) = &B01111101 Incr X Spalte(x) = &B01111101 Incr X Spalte(x) = &B11111111 End If If Zeichen = "D" Then Incr X Spalte(x) = &B00000001 Incr X Spalte(x) = &B01111101 Incr X Spalte(x) = &B01111101 Incr X Spalte(x) = &B10111011 Incr X Spalte(x) = &B11000111 Incr X Spalte(x) = &B11111111 End If If Zeichen = "E" Then Incr X Spalte(x) = &B00000001 Incr X Spalte(x) = &B01101101 Incr X Spalte(x) = &B01101101 Incr X Spalte(x) = &B01111101 Incr X Spalte(x) = &B01111101 Incr X Spalte(x) = &B11111111 End If If Zeichen = "F" Then Incr X Spalte(x) = &B00000001 Incr X Spalte(x) = &B01101111 Incr X Spalte(x) = &B01101111 Incr X Spalte(x) = &B01111111 Incr X Spalte(x) = &B01111111 Incr X Spalte(x) = &B11111111 End If If Zeichen = "G" Then Incr X Spalte(x) = &B10000011 Incr X Spalte(x) = &B01111101 Incr X Spalte(x) = &B01101101 Incr X Spalte(x) = &B01101101 Incr X Spalte(x) = &B01100011 Incr X Spalte(x) = &B11111111 End If If Zeichen = "H" Then Incr X Spalte(x) = &B00000001 Incr X Spalte(x) = &B11101111 Incr X Spalte(x) = &B11101111 Incr X Spalte(x) = &B11101111 Incr X Spalte(x) = &B00000001 Incr X Spalte(x) = &B11111111 End If If Zeichen = "I" Then Incr X Spalte(x) = &B11111111 Incr X Spalte(x) = &B01111101 Incr X Spalte(x) = &B00000001 Incr X Spalte(x) = &B01111101 Incr X Spalte(x) = &B11111111 Incr X Spalte(x) = &B11111111 End If If Zeichen = "J" Then Incr X Spalte(x) = &B11111011 Incr X Spalte(x) = &B01111101 Incr X Spalte(x) = &B00000001 Incr X Spalte(x) = &B01111111 Incr X Spalte(x) = &B11111111 Incr X Spalte(x) = &B11111111 End If If Zeichen = "K" Then Incr X Spalte(x) = &B00000001 Incr X Spalte(x) = &B11101111 Incr X Spalte(x) = &B11010111 Incr X Spalte(x) = &B10111011 Incr X Spalte(x) = &B01111101 Incr X Spalte(x) = &B11111111 End If If Zeichen = "L" Then Incr X Spalte(x) = &B00000001 Incr X Spalte(x) = &B11111101 Incr X Spalte(x) = &B11111101 Incr X Spalte(x) = &B11111101 Incr X Spalte(x) = &B11111101 Incr X Spalte(x) = &B11111111 End If If Zeichen = "O" Then Incr X Spalte(x) = &B10000011 Incr X Spalte(x) = &B01111101 Incr X Spalte(x) = &B01111101 Incr X Spalte(x) = &B01111101 Incr X Spalte(x) = &B10000011 Incr X Spalte(x) = &B11111111 End If Loop Int0isr: Umdrehung = Timer1 Umdrehung = Umdrehung / 1200 Spaltenzeit = Umdrehung Timer1 = 0 A = 0 Return Timer0isr: Load Timer0 , Spaltenzeit Incr A If A > Spalten Then Portb = 255 Else Portb = Spalte(a) End If Return Timer1isr: I = 0 X = 0 Return







Zitieren

Lesezeichen