Hallo,
ich habe 7x595 hintereinander geschalten immer SH_CP und ST_CP in Reihe
und an einen Port dann vom ersten den DS an einen Port und dann von Q7'
an den nächsten DS vom 2. 595. GND und OE sind auf GND und MR auf VCC.
Datenblatt:
http://www.semiconductors.philips.com/acrobat_download/datasheets/74HC_HCT595_4.pdf
Nun möchte ich das ich nacheinander an den Ausgängen immer ein LOW
haben der Rest HIGH!
Wofür brauche ich das:
Ich habe eine LED-Matrix mit 50 Spalten die ich auch Spaltenweise
Multiplex und dafür brauch ich nacheinender immer ein LOW an jeder
Spalte und der Rest eben HIGH.
Kann mir da jemand mit dem Code in Bascom helfen?
MfG
Michael
Wie groß sind deine Kenntnisse in Digitaltechnik ?
Eigentlich erklärt Fig.5 auf Seite 5 alles.
Tip : CP => ClockPuls; MR => MasterReset; DS => DatenStrom (übersetzt!)
Also ich habe mir das schon so gedacht das ich eine For Schleife mache
in der ich immer von 1 bis 50 zähl und dann immer am anfang ds kurz auf
LOW geh dann shcp high low und stcp high low dann müsste es ja
eigentlich die 0 immer weiter geschoben werden.
Hi,
du schreibst leider nicht ob du den HW SPI nutzt oder normale I/O's.
Hier im Wiki ist sonst ein C Beispiel. Der Bascom Code laesst sich easy
splitten auf die minimal benoetigten Teile.
Eine dumme andere Frage .... hast du auch ein Treiberbaustein hinter
deinem 595?
Mfg
Dirk
Das einfachste ist doch eine sereielle Ausgabe von 55 "einsen" und
einer "0". Das sind 56 Bit, weil 7 Käferlein mal 8 Bit...
Davon brauchst du zwar nur 50, aber der Rest kann ja ignoriert werden.
Du gibst also in einer Schleife diese 56 Bits an den seriellen Eingang
und läßt das Ganze mit dem Systemtakt rennen.
Den Clockimpuls generierst du mit einem weiteren Ausgang des µC.
Im nächsten Schritt, wenn obiges funktioniert, gibst du eine "0" aus
und dann 49 mal "1", dann MasterReset.
Wieder eine "0" und diesmal nur 48 "1"er.
Wieder eine "0" und diesmal nur 47 "1"er.
.....
Eine "0" und dann von vorne.
Das probierst du erstmal mit einer Reihe LEDs.
Wenn das läuft, kommt die nächste Verfeinerung.
Du hast Dich also für die ungünstigste aller Möglichkeiten entschieden
(1/50 Tastung -> wahnsinns hohe Impulsströme -> 50 Treiberstufen
nötig).
Nun gut, ob sich andere was dabei denken, wenn sie davon abraten, ist
allein Deine Sache. Mach bloß keinen verantwortlich, wenn Du damit
baden gehst.
Zur Frage mit dem Schieberegister:
Die Latchfunktion des 595 ist dafür völlig überflüssig, ein 164 hätte
voll gereicht. Naja, einfach den Latchclock mit dem Schiebeclock
parallel und dann geht auch der 595. Nur in der Software
berücksichtigen, das dann alles einen Takt verzögert ist.
Ansonsten ist es schon richtig, alle 50 Takte eine 0 reinschieben,
sonst eine 1.
Peter
P.S.:
Warum hast Du einen neuen Thread aufgemacht ?
Es ist immer besser, weitere Fragen zum Thema im gleichen Thread zu
stellen, sonst wissen spätere Leser nicht mehr, worum es geht und die
Chance auf passende Antworten sinkt.
Hallo
@peter dannegger
was wäre den eine günstigere Möglichkeit??
ALso ich habe vor die Zeilen ein ULN2003 und danach Widerstände und an
den Splaten einfach die Ausgänge der Schieberegister. Ist das so nicht
realisierbar??
Hi,
bin ich gerade dazugestossen,
Scheint ja hardwaremäßig genau anders herum zu sein, derULN2003 bekommt
eine rollende EINS angeboten, wenn der weiterschaltet(vorher) bekommen
alle 595 die Spalteninformationen für alle spalten. Somit ist immer nur
eine LEDpro 595er Ausgang aktiv, jetzt macht dann auch der Einsatz der
595er sinn, da hier die Latchfunktion benötigt wird.
Liege ich da richtig?
Gruß
Axel
Hier ist mein code für nen Mega 16 der Probleme macht. Es wird eine
Pause von über 10 us nach ändern des Datums verlangt, dass das Register
das datum korrekt bei steigender Taktflanke übernimmt.
>Peter>>>P.S.:>Warum hast Du einen neuen Thread aufgemacht ?>>Es ist immer besser, weitere Fragen zum Thema im gleichen Thread zu>stellen, sonst wissen spätere Leser nicht mehr, worum es geht und die>Chance auf passende Antworten sinkt.>Falk>>Und warum muss man dazu einen 5 Jahre alten Thread ausgraben? Neue>Threads kosten kein Geld.
Na was jetzt ?
Mahlzeit
Da der Thread ja nun wieder oben ist,
wird nun längst oder quer angesteuert?
Ich würde erst die komplette obere Zeile in die 595 reinschieben, und
danach den ULN2003 aktivieren, um diese darzustellen. Nach einigen
uSekunden die Zeile dunkeltasten, die Zeileninformation der nächsten
(darunterliegenden) Zeile durch die 595 schieben und mit Hilfe des ULN
2003 diese dann darstellen. usw..
Gruß
Axelr.
Verwirrter schrieb:
>>Falk>>>>Und warum muss man dazu einen 5 Jahre alten Thread ausgraben? Neue>>Threads kosten kein Geld.>>> Na was jetzt ?
Was du nicht sehen kannst ist, das am 9.11.2009 von einem gewissen
Bergie ein Eintrag geschrieben wurde, der mitlerweile wieder gelöscht
wurde.
das laden der nächsten Zeile kannst du schon machen während die erste
angezeigt wird, dazu sind schließlich die latches da.
Allerdings glaub ich nicht dass so ein Schieberegister die 8x20mA lange
aushält
und auch der ULN ist mit 50x20mA überfordert.
Wobei hier es eventuell noch geht, da der Ausgang immer nur kurz
belastet ist.
Michael schrieb:
> Hier mal ein Schaltbild nach dessem Prinzip ich meine Schaltung> aufgebaut habe.> Noch als Zusatz eine LED braucht 2mA
Wer lesen kann ist klar im Vorteil ;-)
Eine eigene Frage?
Dieser Thread ist über 21 Jahre alt.
Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.