So, ich poste mal doppelt,
jetzt eine Idee für kontroller- programmgerüst:
Der Einfachheit halber 8 bit/ 1byte für die 7 Zeilen, ein bit bleibt ungenutzt,
auf einem Port ausgeben, die info, ob led an oder aus, liegt in einem 24stelligem Array.
Tipp: Um das "durchrollen" der anzeige zu minimieren, erst alle 5 ersten spalten ansteuern, dann alle zweiten usw.; ist im Programm etwas unübersichtlicher, macht die anzeige aber "Augenfreundlich".
Achtung: auch die Hardware muss so verdrahtet sein.
für die 25 Spalten brauchen wir einen 1 aus 25 dekoder- entweder einen kontroller verwenden, der min. 33 E/A-Pins hat, oder einen mit 14 E/As,
und den Dekoder aus zwei 74xx154 extern realisieren ( braucht 5 bit ).
das Programm muss einen Pin auswerten ( Anzeige1 oder Anzeige2 )
( oder halt über timer umschalten ),
ein Byte "Zeileninfo" auf 7 Pins ausgeben, gleichzeitig -direkt oder über dekoder- den entsprechenden Spaltentreiber aktivieren, evtl. eine kurze zeit warten, dann das nächste byte aus dem array ausgeben und den nächsten Spaltentreiber aktivieren...
die Treiber und den Bytewert musst du an deine Anzeige anpassen ( Es gibt ja Anoden an Spalte oder Katoden an Spalte ).
ja, das sollte es gewesen sein...
MfG Lutz

[Edit] hoppla, ich war von 5 stellen ausgegangen, du brauchst ja 9...
ob das multiplexen von 45 Spalten noch funktioniert, glaub ich nicht, gleichzeitig erhöht sich die anzahl der kontrollerpins...
Hmm, da wird wohl eine Lösung mit externem zwischenspeicher nötig werden...
Vlt. reicht ja meine Idee als Ansatz -oder jemand hat was besseres-
LG

[und noch n' Edit]
So wie im ersten teil Stellen 1- 5 ansteuern, Stellen 6-10 Spaltenmässig parallel, aber Zeilen an einen -nun zusätzlichen 8-bit-port- anschliessen und das Array und das Prog anpassen.