Forum: Mikrocontroller und Digitale Elektronik 74HC595 Ansteuerung


von Michael (Gast)


Lesenswert?

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

von Michael (Gast)


Lesenswert?

Mir würde auch schon ein kleiner Tip reichen wie ich die eingänge
steuern soll helfen muss nicht kleich ein code sein

von Wolle (Gast)


Lesenswert?

Wie groß sind deine Kenntnisse in Digitaltechnik ?
Eigentlich erklärt Fig.5 auf Seite 5 alles.
Tip : CP => ClockPuls; MR => MasterReset; DS => DatenStrom (übersetzt!)

von Michael (Gast)


Lesenswert?

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.

von Tobi (Gast)


Lesenswert?

probieren geht über studieren - oder wie hieß das noch?

von Michael (Gast)


Lesenswert?

ja schon hab ich ja auch aber irgendwie will des net klappen sonst hätte
ich net gefragt wenn ich es net schon versucht hätte

von Dirk (Gast)


Lesenswert?

Hi,

auf der MCS HP ist ein Appnote dafuer.

Mfg
Dirk

von Michael (Gast)


Lesenswert?

hab ich schon gesehn aber des muss doch auch einfach gehn des is ja
übelst der code

von Dirk (Gast)


Lesenswert?

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

von Wolle (Gast)


Lesenswert?

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.

von Michael (Gast)


Lesenswert?

Ich möchte über die normalen I/O Pins ansteuern.
Ja ich hab einen Treiberbaustein allerdings nicht hinter den 595
sondern an den pins für die zeilen

von Peter D. (peda)


Lesenswert?

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.

von Michael (Gast)


Lesenswert?

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??

von Michael (Gast)


Angehängte Dateien:

Lesenswert?

Hier mal ein Schaltbild nach dessem Prinzip ich meine Schaltung
aufgebaut habe.
Noch als Zusatz eine LED braucht 2mA

von AxelR. (Gast)


Lesenswert?

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

von helmo (Gast)


Lesenswert?

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.

von helmo (Gast)


Angehängte Dateien:

Lesenswert?

anhang hat gefehlt

von Falk B. (falk)


Lesenswert?

Und warum muss man dazu einen 5 Jahre alten Thread ausgraben? Neue 
Threads kosten kein Geld.

von Verwirrter (Gast)


Lesenswert?

>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 ?

von axelr. (Gast)


Lesenswert?

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.

von Karl H. (kbuchegg)


Lesenswert?

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.

von Vlad T. (vlad_tepesch)


Lesenswert?

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.

von Sven S. (stepp64) Benutzerseite


Lesenswert?

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 ;-)

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.