mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik LEDs an Atmel Controller


Autor: martin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
ich habe 10 LEDs, die ich alle einzeln ansteuen will,jedoch muss dafuer
der Programmcode so klein wie nur möglich sein, ich habe dafür kaum
noch Speicherplatz.
Ich hatte vor das mit einem Schieberegister zu machen, aber das ist so
Codeaufwendig, lieber waere mir auf einem Port des Atmels 4 Bit zu
senden und das dann extern ausgewertet wird, was leuchten soll.
Wie baue ich so eine Schaltung am besten?

Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

Mit 4 Bit kannst du keine 10LED's unabhängig steuern. Wo soll auch die
fehlende Information herkommen? Eine C-Routine zur Ansteuerung eines
Schieberegisters (74HC164) mit zwei Pins kompiliert hier zu 24 Byte
Code. Wenn das nicht kompakt ist weiß ich auch nicht.

Matthias

Autor: martin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
4Bit muesste doch reichen, wenn man ein Treiber IC mit vor die LEDs
schaltet.
2^4 = 16, also sind doch mit 4Bit 16 verschiedene Werte möglich.
Das sollte dann ja eigentlich ausreichen. Die Frage ist nur was gibt es
für ICs die man nehmen kann.

Autor: leo9 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mit der Überlegung 2^4 = 16 kannst du genau eine von 16 Leds
einschalten. Für zehn unabhängige Leds brauchst du 10 Bit. Und wenn du
mit den 4 Bit multiplexend steuern willst brauchst du weit mehr
source-code als für die Schieberegister-Ansteuerung.

grüsse leo9

Autor: Flite (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mit 10 Leds kannst du aber weit mehr als 16 verschiedene Möglichkeiten
haben.

Es sind schon allein 10 Möglichkeiten, wenn zur gleichen Zeit nur je
eine LED leuchten soll. Sollen alle Kombinationen möglich sein, sind
das dann 2^10 Möglichkeiten -> du benötigst also 10 Bit.

Flite

Autor: Flite (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich war wohl zu langsam ;)

Autor: Manuel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Gibt es denn keinen IC, dem man z.B in einem Takt 4 Bit übergibt
(vielleicht noch einen Takt warten) und dann im nächsten Takt wieder
4Bit.
So kann man die LEDs zwar nur z.B. alle 3-Takte (3x4Bit) aktualisieren,
müsste aber doch reichen.
Serh viel Code dürfte es dann ja auch nicht sein.
   Habe aber keine Ahnung ob es sowas gibt.

mfg
 Manuel

Autor: martin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, stimmt ihr habt recht, da hatte ich einen Denkfehler.

Autor: Dieter B. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

Und wenn es den Chip nicht geben sollte, kannst du dir den ja

mit einem kleinen AVR selbst bauen.

Ist doch das schöne an den Dingern, das sie meistens das machen, was
man will.

in diesem Sinne

MFG
Dieter

Autor: Manuel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
an könnte ja auch, wenn man nicht kontinuierlich aktualisieren will,
1.Port (Bit) zum start auf 1 setzen, dann 4 Takte lang je 3Bit senden
(=12Bit) dann den 1. wieder auf 0.

mfg

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Manuel,

"So kann man die LEDs zwar nur z.B. alle 3-Takte (3x4Bit)
aktualisieren"

es ist egal, ob 3*4Bit oder 10*1bit.
Ob Du nun eine Schleife 3* oder 10* durchläufst, ändert nichts an der
Codegröße.


Peter

Autor: Manuel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es stand ja z.B.

Autor: Eddi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nicht gleich schlagen...
Aber wie wär's mit einem größeren Controller. Je nachdem welchen du
einsetzt, tut's vielleicht der nächstgrößere. Ich meine, falls das
dann kein mechanisches Platzproblem wird.

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.