Forum: Mikrocontroller und Digitale Elektronik leds mit schieberegistern steuern


von luxx (Gast)


Lesenswert?

hallo
ich will 60 leds mit einem uC(mega8) steuern.
jetzt hab ich mal ne frage:
ich will die leds mit schieberegistern steuern.
wie funktionieren die genau?
weil die led ausgabe soll ca. 1/sec aktualiseirt werden, da dazw. noch
lcd_daten gesendet werden und so.
und es gibt doch solche, die man mit einem extra takt die daten dauernd
reinschieben muss.

luxx

von Dirk (Gast)


Lesenswert?

Hi,

schau dir mal das Datasheet zum 74HC595 an.

Gruß,
Dirk

von Andreas B (Gast)


Lesenswert?

"und es gibt doch solche, die man mit einem extra takt die daten
dauernd reinschieben muss."

rofl Was denkst du wohl warum es "Schieberegister" heißt?

Google.de und diese Seite sind deine Freunde. Suche nach
Schieberegister. Ich hab jetzt einfach keine Lust dir die Links auf dem
silbernen Tablett zu servieren.

Gruß Andreas

von johnny.m (Gast)


Lesenswert?


von luxx (Gast)


Lesenswert?

sorry leute blöde fragestellung
wie kann ich noch leds steuren da gibts doch noch was anderes als
schieberegister, aber wie heißen die teile nochmal?

luxx

von Roland (Gast)


Lesenswert?

Du könntest multiplexen.

von Andreas B (Gast)


Lesenswert?

oder nen portexpander nutzen

von Oliver (Gast)


Lesenswert?

Wieso sollens jetzt keine Schieberegister mehr sein? Ist eine sehr
schöne, simple, Ressourcen-sparende Möglichkeit. Nur ein Datenblatt
muss man für alle Möglichkeiten lesen.

evtl. 2xSAA1064
oder MAX7221

von luxx (Gast)


Lesenswert?

ja nen multiplexer meinte ich.
welcher ist da zu empfehlen?
(einfache handhabung, preis etc.)

luxx

von Roland (Gast)


Lesenswert?

Den Multiplexer musst du schon selber realisieren, am einfachsten wären
die Schieberegister.

von Andreas B (Gast)


Lesenswert?

Du bist echt hartnäckig... Hast du dir jetzt endlich mal das Datenblatt
vom 74HC595 angesehen und diese Seite durchsucht?

74HC595: 8 Bit schieberegister mit enable signal (damit es während des
Schiebens nicht schon ausgegebn wird). 8 Stück davon hintereinandern
und schon kannste 64 LEDs ansteuern.

Gruß Andreas

von mc.emi (Gast)


Lesenswert?

ich habe damals 8-FlipFlpos in einem baustein genommen, die ich parallel
beschrieb und dann den nächsten baustein usw. ist idiotensicher und in
deinem fall mit 2x8 portpins realisierbar: 74AC11373

von mc.emi (Gast)


Lesenswert?

hier noch ein bildchen:
http://www.kleiber.li/elektronik/Sprengboard_Anzeige.gif

ps: das nach den buffern kannste für deinen zweck vergessen

von Markus N. (Gast)


Lesenswert?

Guck doch hier mal auf der Seite ....
Ich hatte anfangs auch keinen Plan von Schieberegistern und mir hat man
hier auch recht gut geholfen. Das Datenblatt hat's auch getan.

Also ich erklär ma kurz wie'n Schieberegister funktioniert.
Nehmen wir einen 8 Port Schieberegister.

Somit hast du 8 Parallele Ausgänge die du praktisch über 2 Serielle
Eingänge beschaltet kannst.
Dafür brauchst du einmal die Datenleitung (LED an oder aus) und einmal
die Clock Leitung damit der Schieberegister weiß wann er die Daten
"aufnehmen" soll. Jetzt musst du hintereinander die 8 LED Zustände an
den Schieberegister senden und die LEDs leuchten. (Beachte aber die max.
 Leistung von den Registern !!!)

Das Muliplexen musst du selber machen. Also du baust dir eine Matrix
auf und steuerst die LEDs der reihe nach ganz schnell an. Somit sieht
das Auge das alle Leuchten (Vorsicht : Du hast beim Multiplexen immer
einen Helligkeitsverlust da ja nicht alle die ganze Zeit leuchten ...
was für das Auge eben als Hellighkeitsverlust wahrnehmar ist).

von mc.emi (Gast)


Lesenswert?

und das ist das schöne bei parallelen FF: keine helligkeitsverluste und
du musst nicht die ganze reihe durch-clocken; dafür brauchste mehr
portpins...
ansonsten wenn du schieberegister nehmen willst, steuer die doch mit
dem SPI an ;)

von Markus N. (Gast)


Lesenswert?

Also wie das mit SPI geht hab ich immer noch net gecheckt.
Ich mach das ganz normal mit PORTx = ....

von Andreas B (Gast)


Lesenswert?

Es geht mit Hardware-SPI genau so wie mit Software, nur dass:

- es unabhängig im Hintergrund übertragen kann
- Interrupts unterstützt werden
- du nur den Wert zum senden in ein Register schreibst. (n bissel
initialisierung vorausgesetzt)

Gruß Andreas

von Markus N. (Gast)


Lesenswert?

HI. Andreas.
Hättest du dafür mal ein Codebeispiel parrat?
Wäre super.

von Andreas B (Gast)


Angehängte Dateien:

Lesenswert?

Habs als Bild anghängt. Ist aus dem Datasheet vom Atmega16 auf Seite
139.

Gruß Andreas

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.