www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik 74HC595 Ansteuerung


Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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_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:

Bewertung
0 lesenswert
nicht lesenswert
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:

Bewertung
0 lesenswert
nicht 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!)

Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Tobi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
probieren geht über studieren - oder wie hieß das noch?

Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Dirk (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

auf der MCS HP ist ein Appnote dafuer.

Mfg
Dirk

Autor: Michael (Gast)
Datum:

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

Autor: Dirk (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Wolle (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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??

Autor: Michael (Gast)
Datum:
Angehängte Dateien:

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

Autor: AxelR. (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: helmo (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: helmo (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
anhang hat gefehlt

Autor: Falk Brunner (falk)
Datum:

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

Autor: Verwirrter (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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 ?

Autor: axelr. (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Vlad Tepesch (vlad_tepesch)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Sven Stefan (stepp64) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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 ;-)

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
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
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 bestätigst du, die Nutzungsbedingungen anzuerkennen.