Forum: Mikrocontroller und Digitale Elektronik Bascomprogrammierung+MAX 7219


von Tim (Gast)


Lesenswert?

Hallo,
ich hoffe mir kann jemand weiter helfen,
ich will ca. 10 cascadierte Max 7219(Dot-Matrix Treiber)
betreiben.Ansteuerung uber SPI zur Initzialisierung
der SFR ist kein Problem, nur die automatische Datenweitergabe.
Hat jemand schon erfahrungen damit ??

MFG Tim

von Axel (Gast)


Lesenswert?

Hallo Tim
Der MAX7219 hat kein SPI! Bin ich auch schon drüber gestolpert.
Der MAX7221 hat SPI.
Ich habe schon mal berichtet:
6 x 7219 kaskadiert - d.h. nicht wirklich kaskadiert, sondern parallel
über Portb.0 bis Portb.5 angesteuert, die Bits 6+7 habe ich für CLK und
EN verwendet.
Ich schicke Dir die Routinen gern mal mit, wenn meine iste zu Hause
wieder läuft.(Umzug)Ist aber nicht in Bascom, sonder in ASM...

Die automatische Datenweitergabe? was meinst'n damit?

Gruß
Axel

von BlackMike (Gast)


Lesenswert?

Hallöchen,-

Also den MAX7219CNG hab ich schon in 4 facher Ausführung kaskadiert  am
SPI eines 89C51RC2 in saubere Funktion gebracht.

Gehen tut das auf jeden Fall,- obwohl wie oben schon genannt, der 7219
nicht 100% SPI konform ist...

greetz,- Mike

von Axel (Gast)


Lesenswert?

hätt' ich ja auch mal probieren können.. statt dessen habe ich das Rad
nun 2x erfunden
Axel

von Tim (Gast)


Lesenswert?

Hi BlackMike,
also danke mal für eure schnellen Antworten !
Ja aber was heißt nicht 100% SPI Kompatibel
laut Datenblatt von Maxim schon.
Kannst du mir dein Programm malschicken ??

MFG Tim

von Axel (Gast)


Lesenswert?

auf der Maxim-Seite (ohne jetzt ins Datenblatt zu sehen) steht:

<Zitat>
Notes and Comments
True 3-wire serial interface, easy to use (MAX7219)
Slew-rate limited segment drivers for lower EMI, SPI, QSPI, microwire
serial interface (MAX7221)
</Zitat>

also hat doch der 7219 ein dreileiter-Bus und der 7221 einen SPI-Bus?
oder ist True 3-wire automatisch auch SPI, nur eben mit steilen
EMI-Flanken, die der 7221 nicht hat (Slew-Rate limited)?
Axel

von Tim (Gast)


Lesenswert?

Na ja hast vielleicht doch recht, aber theoretisch seh
ich da kein großen Unterschied.Lediglich das Verhalten
des CS bzw. Load einganges ist etwas anders.
In welcher Programmiersprache hast du dein Programm geschrieben ??
Ich habe probleme bei der autom. Datenweitergabe (DOUT vom 1.Baustein
ist mit DIN des 2.verbunden und so weiter),wenn ich zum Bsp. in einer
Schleife die Daten für den einen Buchstaben ausgebe läuft dieser auf
der 1. DOT-Matrix Anzeige genau so wie ich will, aber leider kommt
16,5 takte später (so gut wie gleichzeitig also) der Buchstabe schon
auf Baustein zwei ich will aber eine Laufschrift.

MFG Tim

von Axel (Gast)


Lesenswert?

ah, daher weht der Wind...

hmm, ich habe ja, wie gesagt, die Dnger quasi parallel betrieben, da
gabs son trödel nicht.
Ich kann mich aber errinnern, das die Teile einen NULL.Befehl kennen.
Du solltest vielleicht die Daten immer komplett für alle 10(?) MAX7219
ausgeben. wenn Du den ersten ändern willst, musst du die "alten "
werte der anderen NEUN setzen und danach den "neuen" Wert für den
Ersten Baustein.
Anders:
Du must NEUN mal NULL.Befehl schicken und einmal neue Daten. Dann steht
die neue Zahl/Buchstabe im ersten Zeichen, die anderen machen nichts.
Dort bleiben die alten Daten stehen - Kann ich nich erklären, sorry
Aber so ähnlich

Axel

von BlackMike (Gast)


Lesenswert?

Wenn du alle 10 in Reihe Kaskadiert hast...

mußt natürlich auch immer alle 10 Stück beschreiben. Entweder gibtst du
alle daten nochmal aus,- oder aber  an die 7219er, wo sich nix ändert,
sendest das berühmte "NULL" Komnando

greetz,- Black

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.