Hallo
Habe gesucht, aber nix vernünftiges gefunden 
Bei ein paar passte der Code nicht..
Werde mir den wohl selber machen.
@bluesmash
Habe den Code jetzt so:
Code:
'--------Drehlicht-----V1.12---------------
' 8MHz RC Intern
$regfile = "m8def.dat"
$crystal = 8000000
$hwstack = 200
$swstack = 200
$framesize = 200
'---Config Port's -----------------
Config Portb = Output 'Leds
Portb = 255
Config Portd = Input
Portd = 255
'---config Int0------
Config Int0 = Falling
Enable Int0
On Int0 Kontakt
'--- Config Timer1 ----
Config Timer1 = Timer , Prescale = 8
Enable Timer1
'--- Config Timer0 ------
Config Timer0 = Timer , Prescale = 8
Enable Timer0
On Timer0 Spalten
Enable Interrupts
Load Timer0 , 255
Dim Drehzeit As Long
Dim Spaltenzeit As Word
Dim B1 As Byte
Dim Spalte(350) As Byte
Dim Array_zaehler As Word
Dim A As Word
Dim B As Word
Dim C As Byte
'Saetze
Dim Satz As String * 45
Dim Zeichen As String * 1
Dim Asc_zeichen As Byte
Dim Satzlaenge As Word
Dim X As Word 'Spaltenzaehler für Zeichen auftragen
Timer1 = 0
Array_zaehler = 0
C = 254
X = 0
'--------------------Hauptprogramm--------------------------
For X = 1 To 350 'Array Löschen
Spalte(x) = 255
Next X
X = 0
'--------------------------------------------------
Do
Satz = "A A ABH AA AAAA AA A A AAA A"
Gosub Auswerten
Waitms 5
For X = 1 To 350 'Array Löschen
Spalte(x) = 255
Next X
Waitms 5
Satz = "HHHHBBBAA A AA B"
Gosub Auswerten
Waitms 5
For X = 1 To 350 'Array Löschen
Spalte(x) = 255
Next X
Waitms 10
Loop
End
'==============================Unterprogramme===================================
'--------------ISR von Int0--------------------
Kontakt:
Drehzeit = Timer1
Timer1 = 0
Spaltenzeit = Drehzeit / 510
Array_zaehler = 0
Return
'------------ISR von Timer0 --------------------
Spalten:
Load Timer0 , Spaltenzeit
Portb = 255 'Lösche Spalte
If Array_zaehler < 350 Then
Incr Array_zaehler
Portb = Spalte(array_zaehler) 'Werte auf Rotor auftragen
End If
Return
'--------------------Zeichen Auswerten ----------------------
Auswerten:
X = 0 'Spaltenzaehler auf Null
Satzlaenge = Len(satz) 'Ermittle die länge der Satzlänge
For A = 1 To Satzlaenge 'Eine Schleife für jedes Zeichen der Satzlänge
Zeichen = Mid(satz , A , 1) 'Zeichen pro Zeichen auswerten
If Zeichen = " " Then 'für Leerzeichen
Incr X : Spalte(x) = 255
Restore Leerzeichen
For B = 1 To 3
Incr X
Read Spalte(x)
Next B
Incr X : Spalte(x) = 255
End If
If Zeichen = "A" Then 'grosses A
Incr X : Spalte(x) = 255
Restore Gross_a
For B = 1 To 5
Incr X
Read Spalte(x)
Next B
Incr X : Spalte(x) = 255
End If
If Zeichen = "B" Then 'grosses B
Incr X : Spalte(x) = 255
Restore Gross_b
For B = 1 To 5
Incr X
Read Spalte(x)
Next B
Incr X : Spalte(x) = 255
End If
If Zeichen = "H" Then 'grosses H
Incr X : Spalte(x) = 255
Restore Gross_h
For B = 1 To 5
Incr X
Read Spalte(x)
Next B
Incr X : Spalte(x) = 255
End If
Next A
Return
'----------Zeichensatz--------------------
Leerzeichen:
Data &B11111111
Data &B11111111
Data &B11111111
Gross_a:
Data &B11000000
Data &B10110111
Data &B01110111
Data &B10110111
Data &B11000000
Gross_b:
Data &B00000000
Data &B01101110
Data &B01101110
Data &B01101110
Data &B10010001
Gross_c:
Data &B10000001
Data &B01111110
Data &B01111110
Data &B01111110
Data &B10111101
Gross_d:
Data &B00000000
Data &B01111110
Data &B01111110
Data &B01111110
Data &B10000001
Gross_e:
Data &B11111111
Data &B11111111
Data &B11111111
Data &B11111111
Data &B11111111
Gross_f:
Data &B11111111
Data &B11111111
Data &B11111111
Data &B11111111
Data &B11111111
Gross_g:
Data &B11111111
Data &B11111111
Data &B11111111
Data &B11111111
Data &B11111111
Gross_h:
Data &B00000000
Data &B11101111
Data &B11101111
Data &B11101111
Data &B00000000
Hatte das zuerst auch so wie du gemacht, zwischen den Spalten, jeweils die X um eins hochzählen.
Bin aber wieder davon abgekommen.
Mit Schleifen kann man dann leichter einen neuen Zeichensatz hinzufügen
Lesezeichen