Ich habe mal meinen bisherigen Code hier gepostet. Der macht nichts anderes als nur 4 Zeichen die in einem Textstring hinterlegt sind auf 4 Dot-Matrix Led Modulen auszugeben. Diese sind leider nur schlecht abzulesen, da ich diese nur mit 5V betreibe. Ich will aber noch die Ansteuerung auf 12V umbauen so dass die Anzeige gut ablesbar ist.
Ich wäre für ein paar Ideen sehr dankbar das Ganze Interruptgesteuert über einen Timer laufen zulassen. Auch wäre es schön wenn Jemand ein Beispiel oder eine Idee hat wie man denn die Zeichen mit den seriellen Anschlüssen von einem anderen AVR an diesen übergebenkönnte, so dass diese auf der LED Dot-Matrix Anzeige erscheinen.

Da ich leider noch nicht herausgefunden habe wie man Code von Basom in einem extra Fenster postet habe ich es als Kopie an diesen Text gehängt.

Code:
' ****************************************************************************
' *                     Led Dot-Matrix Anzeige                               *
' *                              V 0.1                                       *
' * Fuse-Bit Einstellung: Interner 8MHz Oszillator mit abgeschaltetem Teiler *
' ****************************************************************************

' ****************************************************************************
' *                    Anschlussbelegung Attiny2313                          *
' *         _____                                                            *
' *         (Reset/dw) PA2 = Pin1  Pin20 = Vcc                               *
' *              (RxD) PD0 = Pin2  Pin19 = PB7 (UCSK/SCK/PCINT7)             *
' *              (TxD) PD1 = Pin3  Pin18 = PB6 (MISO/DO/PCINT6)     <7.ZL>   *
' *            (XTAL2) PA1 = Pin4  Pin17 = PB5 (MOSI/DI/SDA/PCINT5) <6.ZL>   *
' *            (XTAL1) PA0 = Pin5  Pin16 = PB4 (OC1B/PCINT4)        <5.ZL>   *
' *   (CKOUT/XCK/INT0) PD2 = Pin6  Pin15 = PB3 (OC1A/PCINT3)        <4.ZL>   *
' *             (INT1) PD3 = Pin7  Pin14 = PB2 (OC0A/PCINT2)        <3.ZL>   *
' *  <Reset>      (T0) PD4 = Pin8  Pin13 = PB1 (AIN1/PCINT1)        <2.ZL>   *
' *  <Daten> (OC0B/T1) PD5 = Pin9  Pin12 = PB0 (AIN0/PCINT0)        <1.ZL>   *
' *                    GND = Pin10 Pin11 = PD6 (ICP)                <Takt>   *
' ****************************************************************************

$regfile = "attiny2313.dat"             'ATtiny2313 Prozessor
$crystal = 8000000                      '8MHz int. Taktquelle
$baud = 9600

'$sim                                    'nach Test entfernen !!!!!!

Dim Z As Byte                           'Anzahl der Anzeigenstellen (4)
Dim X As Byte                           'Spaltenzähler pro Anzeige 5 Spalten.
Dim Zeichen As Integer                  'Zeichencode für Decoder
Dim Temp As String * 1                  'Zwischenspeicher für Stringbearbeitung
Dim Index As Integer                    'Zeichenposition für Caraktergenerator
Dim Text As String * 5                  'Testvariable (später Empfangspuffer)
Text = "ABCD"                           'Teststring

Config Portb = Output                   'Port B auf Ausgabe (Zeilen)
Config Portd.4 = Output                 'Pin D4 auf Ausgabe (Reset Schiebereg.)
Config Portd.5 = Output                 'Pin D5 auf Ausgabe (Daten Schiebereg.)
Config Portd.6 = Output                 'Pin D6 auf Ausgabe (Takt Schiebereg.)
Portd.5 = 1                             '1 für Schieberegister setzen und
Portd.4 = 0                             'Schieberegister Reset durchführen.

Anfang:

'Waitus 10
Portd.4 = 1                             'Schieberegister freigeben und alle
For X = 0 To 24                         'Ausgänge der Schieberegister auf 1
  Portd.6 = 0                           'schalten.
  'Waitus 10
  Portd.6 = 1
Next X

Portd.5 = 0                             '0 für Schieberegister ausgeben.

Portd.6 = 0                             '1mal schieben um die 0 auf dem ersten
Waitus 10                               'Ausgang auszugeben.
Portd.6 = 1
Portd.5 = 1                             '1 für Schieberegister ausgeben. Ver-
                                        'hindert weitere 0 auszugeben.
Z = 1                                   'Beginn 1.Anzeige
X = 1                                   'Beginn 1.Spalte

Do

  Temp = Mid(text , Z , 1)              'Zeichen aus String lesen und in
  Zeichen = Asc(temp)                   'Zeichencode dez. umwandeln.
  Z = Z + 1                             'Durchlaufzähler erhöhen und dann im
                                        'Zeichendecoder Zeichen decodieren.
  Index = Lookdown(zeichen , Zeichendecoder , 22)
  Index = Index - 1                     'gefundene Position um 1 korrigieren und
  Index = Index * 5                     'Anfang im Caraktergenerator berechnen.

  For X = 0 To 4                        'Pro Zeichen 5 Spalten ausgeben. Dazu
    Portb = Lookup(index , Zeichensatz) 'Code holen und Zähler erhöhen. Dann
    Incr Index                          'Ausgeben und warten (Lesbarkeit der
    Waitus 900                          'Anzeige). Dann Anzeige abschalten und
    Portb = 0                           'per Schieberegister die nächste Spalte
    Portd.6 = 0                         'auswählen.
    Waitus 10
    Portd.6 = 1                         'solange wiederholen, bis 5 Spalten aus-
    Portd.5 = 1                         'gegeben worden sind.
    'Waitms 500                         'Dann nächstes Zeichen holen und eben-
    'Portb = 0                          'falls wie oben beschrieben ausgeben.
  Next X



Loop Until Z > 4                        'Alle 4 Anzeigenstellen bearbeitet? Dann
                                        'Schieberegister reset und von vorne
Portd.4 = 0                             'beginnen.

Goto Anfang

' ****************************************
' *      Zeichenmapping - Tabelle        *
' ****************************************

Zeichendecoder:

Data $32 , $48 , $49 , $50 , $51 , $52 , $53 , $54 , $55 , $56 , $57
Data $65 , $66 , $67 , $68 , $69 , $70 , $71 , $72 , $73 , $74 , $75

' ****************************************
' *    Zeichentabelle für Dot-Matrix     *
' ****************************************

Zeichensatz:

Data &B00000000 , &B00000000 , &B00000000 , &B00000000 , &B00000000       '  32
Data &B00111110 , &B01010001 , &B01001001 , &B01000101 , &B00111110       '0 48
Data &B00000000 , &B01000010 , &B01111111 , &B01000000 , &B00000000       '1 49
Data &B01000010 , &B01100001 , &B01010001 , &B01001001 , &B01000110       '2 50
Data &B00100001 , &B01000001 , &B01000101 , &B01001011 , &B00110001       '3 51
Data &B00011000 , &B00010100 , &B00010010 , &B01111111 , &B00010000       '4 52
Data &B00100111 , &B01000101 , &B01000101 , &B01000101 , &B00111001       '5 53
Data &B00111100 , &B01001010 , &B01001001 , &B01001001 , &B00110000       '6 54
Data &B00000001 , &B01110001 , &B00001001 , &B00000101 , &B00000011       '7 55
Data &B00110110 , &B01001001 , &B01001001 , &B01001001 , &B00110110       '8 56
Data &B00000110 , &B01001001 , &B01001001 , &B00101001 , &B00011110       '9 57
Data &B01111110 , &B00010001 , &B00010001 , &B00010001 , &B01111110       'A 65
Data &B01111111 , &B01001001 , &B01001001 , &B01001001 , &B00110110       'B 66
Data &B00111110 , &B01000001 , &B01000001 , &B01000001 , &B00100010       'C 67
Data &B01111111 , &B01000001 , &B01000001 , &B00100010 , &B00011100       'D 68
Data &B01111111 , &B01001001 , &B01001001 , &B01001001 , &B01000001       'E 69
Data &B01111111 , &B00001001 , &B00001001 , &B00001001 , &B00000001       'F 70
Data &B00111110 , &B01000001 , &B01001001 , &B01001001 , &B01111010       'G 71
Data &B01111111 , &B00001000 , &B00001000 , &B00001000 , &B01111111       'H 72
Data &B00000000 , &B01000001 , &B01111111 , &B01000001 , &B00000000       'I 73
Data &B00100000 , &B01000000 , &B01000001 , &B00111111 , &B00000001       'J 74
Data &B01111111 , &B00001000 , &B00010100 , &B00100010 , &B01000001       'K 75
Data &B01111111 , &B01000000 , &B01000000 , &B01000000 , &B01000000       'L 76

Das geht mit "CODE-Tags" PicNick