www.mikrocontroller.net

Forum: Mikrocontroller und Elektronik 74HC595 Ansteuerung

Autor: Michael (Gast)
Datum:

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_down...


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
Autor: Michael (Gast)
Datum:

Mir würde auch schon ein kleiner Tip reichen wie ich die eingänge
steuern soll helfen muss nicht kleich ein code sein
Autor: Wolle (Gast)
Datum:

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

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.
Autor: Tobi (Gast)
Datum:

probieren geht über studieren - oder wie hieß das noch?
Autor: Michael (Gast)
Datum:

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
Autor: Dirk (Gast)
Datum:

Hi,

auf der MCS HP ist ein Appnote dafuer.

Mfg
Dirk
Autor: Michael (Gast)
Datum:

hab ich schon gesehn aber des muss doch auch einfach gehn des is ja
übelst der code
Autor: Dirk (Gast)
Datum:

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
Autor: Wolle (Gast)
Datum:

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.
Autor: Michael (Gast)
Datum:

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
Autor: peter dannegger (Gast)
Datum:

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.
Autor: Michael (Gast)
Datum:

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??
Autor: Michael (Gast)
Datum:
Angehängte Dateien:

Hier mal ein Schaltbild nach dessem Prinzip ich meine Schaltung
aufgebaut habe.
Noch als Zusatz eine LED braucht 2mA
Autor: AxelR. (Gast)
Datum:

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
Autor: helmo (Gast)
Datum:

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.
Autor: helmo (Gast)
Datum:
Angehängte Dateien:

anhang hat gefehlt
Autor: Falk Brunner (falk)
Datum:

Und warum muss man dazu einen 5 Jahre alten Thread ausgraben? Neue
Threads kosten kein Geld.
Autor: Verwirrter (Gast)
Datum:

>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 ?
Autor: axelr. (Gast)
Datum:

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.
Autor: Karl Heinz Buchegger (kbuchegg) (Moderator)
Datum:

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.
Autor: Vlad Tepesch (vlad_tepesch)
Datum:

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.
Autor: Sven Stefan (stepp64) Benutzerseite
Datum:

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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel




Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder GIF-Format hochladen.
Siehe Bildformate
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken erkennst du die Nutzungsbedingungen an.

webmaster@mikrocontroller.netImpressumNutzungsbedingungenWerbung auf Mikrocontroller.net