mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Achtung, Newbie, LED-Ansteuerung


Autor: Jan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Leute!

Ich beschäftige mich seit vorgestern mit Mikrocontrollern, daher habt 
etwas Nachsicht :) Hab so gut wie keine Ahnung.

Habe folgende Frage:

Ich bastel mir seit einiger Zeit kleinere Schaltungen, wie Uhren etc. 
mit cmos bzw. ttl-ics. Ist ja ne feine Sache, nur etwas langweilig. Nun 
dachte ich mir, man kann das alles viel einfacher mit nem Microcontoller 
tun, spart ne Menge Bauteile.

So, hab mir Freitag das AVR STK 500 bestellt und n paar Tutorials 
gelesen. Sieht alles ganz gut aus...

D. h., ich weiß jetzt, wie man ne LED zum Leuchten bringt, hehe. Nun 
möchte ich aber ne Laufschrift auf nen alphanumerisches Display zaubern. 
Also n Display, was nicht sieben sondern 16 Segmente hat, zum Buchstaben 
darstellen eben.

Wenn ich es direkt verdrahte, kriege ich nur 2 von den Dingern 
angekorkt, da ich ja nur 32 Ports habe. Daher muß ich die wohl per 
multiplexer ansprechen.

Jetzt endlich meine Frage :):

Kann mir da einer nen Tip geben, wie ich die überhaupt angesteuert 
kriege, kann natürlich für jede LED Code schreiben, aber is lästig und 
wahrscheinlich völlig überflüssig. Und kann mir einer nen Tip geben, wie 
ich die gemultiplext anspreche? Brauche ich da noch n cmos-baustein oder 
kann der µC das alles übernehmen.

Vielen Dank für Eure Mühe :-)

Gruß

Jan

Autor: HDW (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
das mit den 32 ports ist blödsinn.
im 4.bit modus brauchst du 7 ports, um mit dem display kommunizieren zu 
können, das genügt. die software im mikrocontroller sorgt dann dafür, 
dass das display das anzeigt, was es soll.

das display kennt die ASCII-Tabelle. Da sind alle Zeichen, Zahlen etc. 
vordefiniert. alle diese zeichen kannst du am lcd darstellen.

du brauchst zunächst mal die Ansteuersoftware für das lcd.
dann musst du in der software festlegen, was du ausgeben willst. mit der 
laufschrift, das würde ich noch etwas warten lassen. du musst erstmal 
lernen, wie das prinzipiell geht, bzw. wie man text oder zahlen, oder 
sonst was ausgibt.

ich selber habe da einige Ansteuerroutinen, aber nur für 
PIC-mikrocontroller, die laufen bei dir nicht.

in der codesammlung hier im forum sollte so was für avr aber zu finden 
sein.

oder von anderen leuten hier im forum.

Autor: Jan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi!

Danke für Deine Antwort!

Ich möchte aber eine LED-Segmentanzeige ansteuern, kein LCD. Die Anzeige 
hat keine eigene Logik, sondern besteht eben nur aus 16 dummen LEDs.

Vielleicht hat noch einer ne Idee.

Danke und Gruß

Jan

Autor: Markus Kaufmann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Jan,

hab' ich das richtig verstanden: Du hast mehrere einzelne 
16-Segment-LED-Anzeigen? Was HDW beschreibt ist ein LCD mit Controller. 
Die sind viel einfacher anzusteuern.

Fertigen Code für 16-Segment-Anzeigen habe ich noch nie gesehen, aber Du 
willst ja auch was lernen. ;-)

Zum Multiplexen:
Im Prinzip kann der Microcontroller das selber, allerdings muß man den 
Strombedarf beachten. Der AVR liefert am Portpin 20/25mA, das sind bei 4 
Stellen dann durchschnittlich 5-6mA, was für die meisten Anzeigen recht 
wenig ist. Außerdem ist noch der maximale Gesamtstrom des AVRs zu 
beachten. Ist bei 7-Segment noch nicht so kritisch, bei 16-Segment 
vermutlich zu viel. Hier bei Bedarf entweder mit Einzeltransistoren oder 
mit Treibern wie dem ULN2803 nachhelfen.

Der gemeinsame Anschluß an den Anzeigen braucht natürlich die 16fache 
Menge Strom, hier muß man auf jedenfall mit Transistoren nachhelfen.

Es gibt im Internet viele Beispiele für gemultiplexte 
7-Semgent-Anzeigen, schau Dir das doch mal an, das Prinzip ist ja das 
gleiche.

Wenn Du weitere Fragen hast, stell sie ruhig. Mir ist jetzt nicht ganz 
klar geworden was Du über Multiplexen weist und was nicht.

bye
  Markus

Autor: Jan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Markus!

Du hast mich richtig verstanden; ich habe hier sagen wir 4 
alphanumerische Anzeigen und möchte nen Text "drüberscrollen".

Leider kann ich ja nur 2 direkt anschließen, wegen den begrenzten Port, 
daher muß ich das Ganze im Multiplexverfahren machen. Das Multiplexen 
ist per externer Hardware kein Problem, das krieg ich hin, nur wie 
steuer ich das jetzt an? Wahrscheinlich ist das aber alles noch viel zu 
schwierig für mich, da ich ja keine Ahnung habe :) Wenn ich mir also nen 
externen multiplexer bastel, habe ich bei 4 Anzeigen nur noch 20 Ports 
belegt + den Clock für den Multiplexer. Schonmal nicht schlecht, nur 
wiegesagt, ICH kann das nicht programmieren :-)

N anderen Ansatz, den ich mir überlegt habe: Ich baue mir das mit nem 
dot-matrix display auf, sprich, ich nehme mir n Displays mit ner 5x7 
Matrix, wäre wohl mächtig einfacher anszusteuern?! Würde ich 5 Stück 
drankriegen, mal abgesehen von dem Strom, aber das regel ich eh über 
Transen.
Wäre das einfacher zu realisieren?

Danke!

Gruß
Jan

Autor: Hans (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Jan,

ich denke, das ein 5x7 Matrix schwerer zu programmieren ist als ein 
7-Seg-Element. Warum nimmst Du nicht ein 74HC595 in Kombination mit zwei 
74LS47 (oder ähnlichen)? Der 74HC595 ist eine 8Bit Porterweiterung die 
Du per SPI ansteuern kannst. Somit kannst Du an einen 595'er und zwei 
74LS47 (BCD-zu-7 Segment) zwei 7-Seg-Elemente betreiben. Einfacher geht 
es nicht und Du benötigst nur drei Leitungen. Der Programmieraufwand 
wird auf ein minimum reduziert (ideal für Einsteiger).

Gruss... Hans

Autor: Jan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Hans,

danke für Deine Antwort.

Die Idee ist nicht schlecht, hatte mir auch überlegt, die Displays mit 
nem LED-Treiber von Maxim anzusteuern, der ebenfalls nen SPI-Interface 
hat.

Bevor ich anfange zu suchen, kannst Du mir vielleicht n Sample geben, 
wie ich das per SPI ansteuern kann?

Danke und GRuß

Jan

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

Bewertung
0 lesenswert
nicht lesenswert
Hier ist ein Beispiel was ich in der schnelle zusammen gebastelt habe.

Autor: Hans (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bei Reichelt kostet der 74HC595 0,33Euro und der 7447 1,60Euro. Das 
würde für vier Segment 7,03Euro kosten.
Ich habe hier noch ein paar V40511D (baugleich zum 7447, zeigt sogar A 
bis F an, neu ungebraucht) rumliegen für 1,00Euro pro Stück.

Autor: tobias hofer (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
hallo

wieso nehmt ihr nicht einen bcd to hex decoder?


wie den 74ls154,.. hab das datenblatt mal angehängt.

gruss tobias

Autor: Jan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi!

Das mit der Hardware ist soweit ok, die Bausteine hab ich hier 
größtenteils rumliegen. Nur wie steuer ich das Geraffel denn nu an? 
Wiegesagt, mehr als led an und aus kann ich noch nicht, hehe. Muß mich 
wohl erstmal mit Tonnen von Tutorials beschäftigen :-)

Gruß

Jan

Autor: Markus Kaufmann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Jan:
Der Multiplexer braucht keinen externen Clock.

Programmtechnisch geht das so:
Du benutzt einen Timerinterrupt (z.B. mit 200Hz), damit Du in 
regelmäßigen und gleichmäßigen Abständen zum nächsten Element umschalten 
kannst.

Die Ansteuerung geht so: Du gibst die Werte für das aktuelle Element aus 
(16 Segmente, also zwei komplette Ports des AVRs) und dann aktivierst Du 
diese Stelle, d.h. Du hast für 4 Stellen 4 Portpins und schaltest einen 
auf High und die anderen 3 auf Low. Beim nächsten Interrupt schreibst Du 
wieder die 16Segmente raus und aktivierst die nächste Stelle.

Bei 5x7 Matrizen ist das Prinzip das gleiche, Du hast aber bei 5 Stellen 
insgesamt 25 Spalten, d.h. Du hast den 25-fachen Strom auf den LEDs (Im 
Datenblatt nachschauen ob die das können). Wenn das Programm 
hängenbleibt und nicht mehr weiterschaltet, dann brennt die gerade 
aktive Spalte wohl durch. Man braucht dazu im Prinzip 7+25 Pins, kann 
das aber durch geeignete Maßnahmen (z.B. Schieberegister) aber deutlich 
reduzieren.

Du solltest Dir aber ernsthaft überlegen, ob Du nicht einfach ein LCD 
nimmst. Da gibts 1000 Beispiele dafür; das LCD im Bascom (Basic 
Programmierumgebung) zu benutzen ist eine Sache von 5 Minuten. Außerdem 
haben LCDs viel mehr Stellen, so daß man auch längere Texte darstellen 
kann.

bye
  Markus

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

Bewertung
0 lesenswert
nicht lesenswert
Im Anhang findest Du ein kleines Programm, welches ich zum testen und 
Verstehen der SPI-Schnittstelle geschrieben habe (Mega8 mit 8MHz). Du 
müsstest eigentlich nur die include-Datei ändern, es sei denn Du benutzt 
auch ein Mega8. In das Register R17 habe ich den Wert rein geschrieben, 
der ausgegeben werden soll.

Gruss... Hans

Autor: Hans (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Markus
Der Nachteil beim Multiplexing ist doch der, das man die Anzeige 
permanet refreshen muss und somit Prozessorleistung verlohren geht. Und 
zum anderen ist es für ein Anfänger doch sehr aufwändig eine solche 
Routine zu schreiben. Während bei der SPI-Variante man nur was ausgeben 
muss wenn man es wirklich benötigt. Der Bauteileaufwand ist ungefair der 
gleiche.

Gruss... Hans

Autor: Jan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Markus!

Also im Klartext korke ich jetzt die segmente alle an die beiden Ports 
und die 4 CA-Pins (gem. Anode) jeweils an den dritten Port!? Geeignete 
Widerstände und Transen mal vorausgesetzt.

So, dann gebe ich im ersten Durchlauf die Kombination des Buchstabens, 
den ich haben will, auf die "Segment-Ports" und setze gleichzeitig den 
ersten CA-Pin vom dritten Port auf High. Damit seh ich dann den 
Buchstaben auf dem ersten Display.

Beim nächsten Durchgang gebe ich den nächsten Buchstaben raus und 
aktiviere den zweiten CA-Pin.

Und das alles mit nem Timerinterrupt von 200Hz gesteuert, damits nicht 
flimmert.


War das alles soweit korrekt?

Wenn ja, wie programmier ich das, hihi...Ok, blöde Frage, ich sollte 
weiter tuts lesen..

Gruß
Jan

Autor: Jan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Hans:

Danke, werd ich mir gleich mal anschauen.

Habe Freitag n STK 500 bestellt, das kommt mit nem 8515 on-board, habe 
auch noch nen 8535 rumliegen.

Leider weiß ich jetzt noch nicht, wie ich das IC an den AVR anknote.

Ich fand die Idee von Tobias mit dem bcd to hex decoder auch 
interessant, spart auch n paar Kabels :) Aber mit SPI is eben noch 
einfacher.

Aber Ziel is eben die Ansteuerung der 16-Segment Anzeigen (oder ner 
5x7Matrix), nicht der 7 Segment anzeigen und dafür gibt eben keinen 
BCD-to-16Seg.-Decoder, hehe...

Außerdem WILL ich das nicht mit nem LCD machen, sondern mit feinen, 
selbstleuchtenden LED-Anzeigen :-)

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn Du das Multiplexen vermeiden willst, ist die Variante mit den 
74HC595 eine gute Lösung.

Für 4  16 Segmente sind das dann 8  74HC595 und 64 Vorwiderstände.


Das mit den V40511D oder 7447 vergiß mal ganz schnell, die sind doch nur 
für 7-Segment geeignet.


Peter

Autor: Jan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich schon wieder:

Habe gerade das hier gesehen:

http://s-huehn.de/elektronik/multiuhr/multiuhr.htm

Sieht richtig gut aus. Er hat die einzelnen Anzeigen mit nem 4028 
angesteuert, also nem bcd-zu-dec decoder.

Autor: Jan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@peter

Ich würde dann jeweils 2 HC595 für eine Anzeige benötigen, da er ja acht 
outputs hat. Wären wir wieder beim SPI gelandet :)

Wenn ich schon soweit bin, kann man es ja auch hiermit machen, oder?

http://www.maxim-ic.com/quick_view2.cfm/qv_pk/3379

Der kann gleich 4 5x7-Displays treiben.

Autor: Markus Kaufmann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Jan:
Hast Du mal geschaut, was dieser Chip von Maxim kostet?
Reichelt hat ihn nicht, Segor will 45 Euro dafür...

@Hans:
Die Rechenleistung die verlorengeht ist vernachlässigbar. Wenn man 
annimmt, daß man bei jedem Durchgang 100 Takte braucht, dann sind das 
bei 200Hz 20.000 Takte/Sekunde. Das sind bei 8MHz Prozessortakt 0,25% 
der Gesamtleistung.

Daß Multiplexing für einen Anfänger relativ kompliziert ist stimmt, aber 
Jan weis ja schon was das ist und die SPI-Schnittstelle zu aktivieren 
ist sicher genauso aufwendig wie einen Timerinterrupt zu aktivieren.

bye
  Markus

Autor: Jan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hmm, wollte mir das IC als Sample von Maxim holen, ist aber alles zu 
aufwändig.

Und 45 Euro sind mir viel zu teuer.

Für mich kommt jetzt entweder Multiplexing oder SPI in Frage.

Die Bauteile hab ich bis auf den hc595 alle da. Ich weiß aber trotzdem 
immer noch nicht, wie ich den 595 ansteuere.

Ich werd es als erstes mit Multiplexing versuchen, da ich dafür alles da 
hab (bis auf das stk 500, hehe).

@Markus: Kannst Du mir dafür n Sample proggen? Also mit Timerinterrupt 
usw.? Wär Dir sehr dankbar!

Suche schon die ganze Zeit im Web danach, aber so richtig schlau werd 
ich davon nicht. Muß mir erstmal die Bedeutung der ganzen Instructions 
reinziehen. Hab da noch 1000 Fragen, aber dazu später mehr :-)

Danke und Gruß
Jan

Autor: Jan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hier hab ich nochwas gefunden, allerdings ist kein Sample-Code dabei.

Autor: Jan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Markus Kaufmann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Jan:
Bin auch erst gerade dabei, mich in die AVRs einzuarbeiten. Mein erstes 
Beispiel (Fernbedienungsempfägner) hab' ich in Basic programmiert. Da 
braucht man sich nämlich nicht um die ganzen Registernamen kümmern.

Da geht das z.B. so
On Timer0 Ontimer0                                          ' 
Interrupt-Routine für Timer0-Overflow
Config Timer0 = Timer , Prescale = 8                        'Takt: 
Quarz/8
Enable Timer0                                               ' 
Timer0-Overflow-Interrupt einschalten
Enable Interrupts

Und die eigentliche Interruptroutine:
Ontimer0:                                                   ' 
Interrupt-Routine
   Timer0 = 210                                             ' ca. 10kHz
...
Return

Der Compiler ist Bascom, die Demoversion ist auf maximal 2KB Code 
beschränkt, was für den Anfang aber erstmal reicht. Es gibt hier 
http://www.rowalt.de/mc/ eine nette Einführung über die AVRs mit Bascom.

bye
  Markus

Autor: Jan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hmm, kann mir mal einer sagen, ob ich das ganze Geraffel jetzt in 
AVR-Studio, also Assembler oder in Bascom-avr proggen soll? Die einen 
sagen, Assembler ist das einzig Wahre, die anderen, bascom ist viel 
einfacher und genauso effizient.

Bitte um Auskunft :)

Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

Weder ASM noch BASCOM
C :-)
Ein Beispiel zum Multiplexen von 7-Segment-Anzeigen in C kannst du auf 
meiner Homepage finden
www.matwei.de -> Elektronik -> Lüfter-Drehzahlmesser


Matthias

Autor: Dirk (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

Bascom ist als Anfaenger fuer etwas groessere Sachen ganz ok. Asm ist 
besonders gut wenn man seinen Mikrocontroller richtig verstehen will. Zu 
C kann ich so nix sagen.

@Markus Kaufmann
Dein FB Empfaenger Prg ist nen bischen umstaendlich.'use byte

library for smaller code

$lib "mcsbyte.lbx"
$regfile = "8535def.dat"
$crystal = 7372800                                          ' 
Taktfrequenz
$baud = 19200
Dim Address As Byte , Command As Byte
Dim Wcount As Word
Config Rc5 = Pinc.1
Config Timer1 = Timer , Prescale = 1024

Enable Interrupts
Print "Waiting for RC5..."
Do
  Getrc5(address , Command)
  If Address = 0 Then
   Command = Command And &B01111111
    Print Address ; "  " ; Command
    End If
      wCount = Timer1   'Erst Wert sichern
  Timer1 = 0        'Sofort Timer-Reset
  wCount = wCount \ 36  '1/100 Sekunde
  Print wCount;" ";
    Loop
End

so ist es einfacher musst dich nicht mit dem timer beschaefigtigen


Mfg

Dirk

Autor: Markus Kaufmann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bascom: Schön einfach. Der Code ist meines erachtens nicht so wirklich 
effizient, aber es gibt "für alles und jedes" schon fertige Routinen. 
LCD, I2C-Bus, One-Wire-Bus, Infrarot (aber nur RC5) usw. usf.

C (gcc/WinAVR): Ist wohl effizienter als BasCom (am konkreten Vergleich 
arbeite ich noch), man muß sich die Routinen oft erst aus dem Internet 
zusammensuchen. Deutlich hardwarenaher als Bascom, d.h. man muß oft die 
Registernamen kennen usw. usf.
Der gcc ist kostenlos, d.h. wenn man mal die 2K der Demoversion 
überschreitet ist der gcc billiger

Asm (AVRStudio): Die höchste Performance und die kleinsten Programme 
bekommt man nur mit Assembler. Und den höchsten Schwierigkeitsgrad 
verbunden mit der geringsten Flexibilität. Wenn ich z.B. in Basic oder C 
merke, daß mein Wert doch nicht in eine 8Bit-Variable paßt, dann ändere 
ich den Variablentyp (Aufwand: 5 Sekunden) und gut ist. In Assembler 
fängst du an, alle Vorkommen dieser Variable zu überprüfen und 
entsprechend anzupassen. Auch gibts gewisse Dinge (z.B. 
Fließkommazahlen) in Assembler (auf Microcontrollern) einfach nicht. 
Allerdings denke ich auch, daß man Assembler auf jeden Fall können 
sollte, auch wenn man es normalerweise nicht benutzt. Nur so kann man 
seine Hardware richtig verstehen und kann bei Compiler-Problemen einfach 
mal nachschauen was da passiert oder eben nicht passiert.

Meine Empfehlung: Für den Anfang Bascom, damit bekommt man schnell 
Ergebnisse. Später dann C. Zeitkritische Sachen kann man ja trotzdem in 
Assembler machen, das schließt sich ja nicht aus.

Ich habe mein erstes Projekt in Basic gemacht, bin gerade dabei das nach 
C umzusetzen und werde es anschließend in Assembler programmieren. Dann 
habe ich einen schönen Vergleich und kenne mich mit allem aus.

bye
  Markus

Autor: Markus Kaufmann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Dirk:
Als ich die Bascom-Doku gelesen habe, da hab' ich mich voll gefreut, 
weil er RC5-Codes empfangen kann. Gleich ausprobiert, funktioniert 
leider nicht. Also kleine Routine geschrieben um die Werte vom 
IR-Empfänger (längencodiert) in ein Array zu schreiben. Ergebnis: Keine 
meiner 5 Fernbedienungen spricht RC5.

Die von meinem Videorekorder (JVC) habe ich jetzt mal näher angeschaut, 
es wohl so ein japanisches Format. Das taste ich mit 10kHz ab und 
analysiere es dann.

bye
  Markus

Autor: Dirk (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

hehe nagut ok :> Ist deine FB keine RC5 FB. Jede lernbare FB macht RC5. 
Aber ne gute idee von dir.

Mfg Dirk

Autor: Jan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Moin!

Wenn ich Bascom nehme, könnt Ihr mir da n Buch empfehlen? Habe von Claus 
Kühnel gehört, der soll eins geschrieben haben, allerdings hat das sehr 
schlechte Bewertung bekommen. Aber im Inhalt stehen interessante Dinge, 
die ich wohl brauche, wie LED-Matrix ansteuerung usw...

Jemand noch n anderes parat?

bye
Jan

Autor: Dirk (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

das Buch von Claus Kuehnel kannst Du Dir sparen, wenn du englisch 
kannst. Die Online Hilfe ist extrem gut. Der nette Herr Kuehnel hat die 
Online Hilfe genommen und ins dt. uebersetzt (zum Teil). Saug Dir 
einfach mal die Demoversion und schau es Dir an.


Mfg

Dirk

Autor: Markus Kaufmann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Jan:
Ich hab' den Kurs von www.rowalt.de/mc gelesen und parallel dazu die 
Onlinedoku, damit konnte ich bis jetzt alle anstehenden Probleme lösen.

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

Bewertung
0 lesenswert
nicht lesenswert
Hey,

habe diesen Code für Bascom gefunden. Leider hab ich mein stk 500 noch 
nicht, aber hiermit kann ich wohl ne dotmatrix ansteuern.

Leider versteh ich da gar nix, hehe. Wenn also ma jemand Lust hast, mir 
den Code kurz zu erläutern, ist nicht lang.

Danke und Gruß

Jan

Autor: Jan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich wieder.

Werde die Matrizen jetzt mit nem 4514 und nem 74hc138 ansteuern. damit 
krieg ich bei 7 outputs 3 Matrizen angekorkt, also bei 32 ports 
insgesamt 12 Displays :-) Sollte reichen.

Danke für all die Hilfe.

Gruß

Jan

PS. Werde erstmal mit Bascom arbeiten, sieht recht easy aus; im 
Simulator hab ich den ersten Text schon fertig :) Muß nur noch laufen 
lernen...

Autor: Andre (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich beschäftige mich auch zum ersten mal mit avr und deren
programmierung.

bin zwar auch noch ein newbie, kann aber evtl. etwas zu dem problem
beisteuern.

ich habe hier das elektorheft 11/2003 vor mir liegen.
darin geht es auch um eine laufschrift mit 12Stk. 5x8 Dot-Matrix LED
Anzeigen die über einen avr angesteuert werden.

Dort wurde das Multiplexen ganz einfach gelöst ! die Zeilen sind ja je
8Bit breit, belegen also einen port. Muß also nur noch immer die Spalte
gemultiplext werden. Dies machen die hardwaremäßig mit einem
schieberegister ! (avr -> 74HCT164 -> ULN 2803 -> LED Anzeige und avr
-> LED-Anzeige)

Den Quellcode kann man bei Elektor runterladen !

Autor: Carsten Broers (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo an alle LED-Matrixer. Vielleicht etwas zu uneffizient und nicht
umständlich genug, aber ich habe mit nur einem Zusatz IC ne LED-Matrix
gebaut. Der CD4017 wird vom AVR getaktet und der AVR steuert die LEDs
an. So kann ich insgesamt 10 Reihen Multiplexen, geht natürlich auch
mit 7 oder 16 Segmentanzeigen. Da ich aber mehr als nur 1 1/2
Buchstaben drauf haben wollte, habbich insgesamt 15 Reihen gebaut, und
mit entsprechenden ICs durchgetickt. Siehe Fotoanhang. Viel mir grad
ein, wo alle die wildesten Ideen zum Thema Multiplex haben.

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

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

keine Ahnung ob jemand damit was Anfangen kann, aber bei E-Lab gibts
ein kleines Schaltbild (s. Anhang).

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.