LED Ansteuerungsroutine

Gast #79607
Lesenswert?

Hallo!
Hat schon mal jemand eine Routine geschriben, um LED Anzeigen
anzusteuern? Ich meine in der Art, dass z.B. alle Segmente über
Port B und die Anoden oder Kathoden über Transistoren von Port D.

Das wäre doch immer mal gut zu gebrauchen für Uhren, Thermometer etc.
Da es das in Bascom für LCD gibt, dachte ich, dass das auch für LED
scön wäre

MfG Paul
Gast #79610
Lesenswert?

Hi!
Selber bauen oder meine fertigen Printplatten benutzen ?
Besteht aus 512 Led (ausbaufähig).4 Module je 128 Led +
4 Treibermodule + Prozessorkarte + Netzteil.
Alles auf Eurokarten.Layouts noch vorhanden,Printe müßte
ich neu ätzen.Bohren:Ich oder Du?
Wohne im Westerwald,wegen evtl. Besichtigung.
Soll später die Infos von WINAMP anzeigen und über serielle
Schnittstelle versorgt werden.
Zur Zeit kommen die Schriften aus dem internen Speicher.
Leider noch unflexibel.Kannst ja weiterentwickeln.

Das Programm ist Jahre alt und ich habs schon fast vergessen.
Betrachte es mal und grübel nicht zu sehr,sind noch Anfängerfehler
drin.
Funktionsprinzip:die Led sind pro Modul in 8 Reihen (horizontal)
und 16 Spalten (vertikal) angeordnet.Das ist ein Array oder Modul.
Ein Port für Spaltenadressierung,einer für Datenbytes der Reihen.
Auf jedem Modul ist ein 1 aus 16 Mux 74154,der die Spalten
selektiert.
Die Spalten werden durch Transistoren mit + verbunden,wie ein
Lauflicht,von links nach rechts (Anode der Led)."PlusSchalter".
Dabei wird synchron das entsprechende Byte über Transistoren
an die Katoden der Leds gelegt (Masse)."Minusschalter".
Folge:Manche Led,nämlich die,die + und - "sehen" leuchten,
die anderen nicht.
So gehts weiter:
+ an Spalte,- an Reihe (Byte),nächste Spalte,Datenbyte,
nächste Spalte,Datenbyte...schnell genug --> stehendes Bild
wie beim Fernseher oder Film.
Fast jede Ledanzeige funktioniert gemultiplexed,denn man
spart massenhaft Leitungen,je größer ein Array wird.
Dafür sind pro "Zeitscheibe" maximal 8 Leds an und das Teil
zieht echt wenig Strom.
Dabei folgendes Problem:Je länger das Array wird (z.B.1024 Spalten),
desto kürzer die Zeit,die pro Spalte übrig bleibt.
Damit es nicht flackert,muß das Lauflicht mit etwa 60Hz laufen.
Je kürzer die Zeit pro Spalte,desto höher der Strom bei gleicher
Helligkeit pro Led.Das geht nicht lange gut.
Deshalb ein Zwischenspeicher pro Modul,so daß nur ein maximales
Puls-Pausen Verhältnis von 1:15 nötig ist (Schonung der Leds).
Klingt kompliziert,leider gibts keinen Schaltplan,entwickle meine
Teile ohne Schaltplan mit Layoutrouter und einem Haufen Papier...
War eben nicht als Bauanleitung gedacht.
Mail mir direkt: bukongahelas0815@netscape.net
damit ich merke daß du etwas möchtest.
Auch der Chat wär nett,müßten uns verabreden.
Besser:telefon. Nummer von mir per email direkt wenn du mailst.

Würde den Prototypen auch zum Materialpreis abgeben (512 led!).
Dann brauchst du nur noch programmieren.
Besser:Erst selbst bauen und dann programmieren.
Vielleicht willst du aber "ultrasofort" Laufschriften sehen...

Uli
Angehängte Dateien:
Gast #79611
Lesenswert?

Hallo Uli!

Das ist alles gut gemeint und auch gemacht, aber so kann ich es
für meine Zwecke nicht benutzen.Ich habe mittlerweile eine Routine
in BASCOM geschrieben. (Kann nicht mit Assembler umgehen :-(((
Trotzdem danke ich Dir für Deine Mühe.

MfG Paul
Gast #79615
Lesenswert?

so habe mir das programm gerade erst mal angeschaut
Port B ist zur ansteuerung der dioden Vertikal also 8 Stück
die horizontale ausgabe erfolgt über port d mit einen Takt um eine
stelle nach rechts zu schieben und einen reset zum schieben in
horizontale richtung habe ich einen 4017 verbaut mehrere hintereinander
geschaltet.

mfg uli
Gast #79618
Lesenswert?

Hi
Ich möchte für die schule als jahresarbeit ein lauflicht mit 128 leds
machen, und jedes led möcht ich mit einem 8052 einzel ansteuern können.
Wie muss ich die platine aufbauen ?

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren