Ich würde gerne 4 7 Segment Anzeigen an einen Atmega8 anschließen. Ich habe mir schon mal den Max7219 angeschaut, aber der ist mir ein wenig zu teuer und ich möchte die Schaltung bauen, um sie zu verstehen. Jetzt habe ich an Bcd Decoder und einen Multiplexer gedacht. Weiß jemand, was für einen Multiplexer mann da nehmen könnte und wie der angeschlossen werden muss?
Alles was Du brauchst, sind die 8 Segmentvorwiderstände und 4 npn-Transistoren als Digittreiber. Dekodieren kostet etwa 10 Words im Flash, wäre also Verschwendung, dafür nen extra Dekoder-IC zu nehmen, zumal die meistens viel weniger Treiberleistung haben, als der AVR. Peter
Multiplexer ist gut, Schieberegister ist noch besser. Damit steuerst Du die Transistoren für die Anoden oder Kathoden der 4 Stellen; wenn Du genügen Portpins hast, kannst Du Dir auch das Schieberegister sparen. Die Segmente der einzelnen Stellen schließt Du direkt über Strombegrenzungswiderstände an einen Port vom ATMega, oder über einen Treiber, wie den ULN2003 (7 Treiber) oder ULN2803 (8 Treiber), falls die Segmente mehr als 20mA benötigen. Die Dekodierung der Zeichen kannst Du mittels einer Tabelle im ATMega selber machen, dann kannst Du auch noch Sonderzeichen verschlüsseln, was Dir bei einem externen BCD-Decoder nicht möglich ist. Wenn Du nur sehr wenig Portpins zur Verfügung hast, könntest Du auch eine weiteres Schieberegister nehmen, in welches Du nacheinander Deine Segmentmuster schiebst. Nun hast Du ein paar Möglichkeiten, suche Dir eine aus ;-)
Danke erstmal für die Vorschläge. Ich möchte/muss es aber mittels Multiplexer und Bcd decoder machen.
Dann nimm einen Multiplexer und einen BCD-Dekoder und schalte diese gemäß ihrer Wahrheitstabelle mit ihren Steuerleitungen an den Controller. Die Beschaltung der LEDs an den Dekoder und Multiplexer erfolgt, wie oben gesagt. Bauelemente sparst Du dadurch aber auf keinen Fall, aber wenn Du sagst, Du mußt....
Hi! Wie wär's mit einem C 4511 (CMOS BCD-to-7 Segment Latch/Decoder/Driver)? Hat alles was man braucht...einen BCD-Decoder mit Treiber bis 25mA und integriertem Latch. Das Stück kostet bei CSD z.B. nur 22ct, wenn's nicht auf's Stromsparen ankommt kann man davon 4 Stück verwenden (der Baustein verfügt über einen Enable-Eingang). Oder eben nur einen Baustein und dann mit dem ATMega die Anzeigen Multiplexen.
Eike wrote:
> Ich möchte/muss es aber mittels Multiplexer und Bcd decoder machen.
Das wird aber sehr schwer.
Ein Multiplexer kann nur aus mehreren Eingängen auswählen, wüßte nicht,
wie dammit ne Anzeige funktionieren soll.
Bestenfalls nen Demultiplexer könnte man nehmen, um die Digits
auszuwählen.
Da die Auswahl aber nicht zufällig, sondern immer der Reihe nach
erfolgt, ist natürlich ein Schieberegister viel besser und einfacher.
Peter
Ein 4051 kann 8 aus 1 oder 1 aus 8, den Com legt man auf +, an den Auswahl-Ein/Ausgängen erscheint dann das +, je nach angelegtem Code. Daran kann man npn Transen mit der Basis über Vorwiderstand anschalten und schon hat man die 4 Digits angesteuert. Eine Möglichkeit.
Ich würde gerne mal wissen, ob diese Schaltung so funktionieren würde. Ich glaube, das wäre ungefähr das was Peter meinet, nur mit nem Bcd Decoder. Ist meine erster am Pc erstellter Schaltplan, ist also wahrscheinlich, dass meherere Fehler drin sind. (die Pin belegung stimmt nicht und die Ausgänge an den Anzeigen sind an dp angeschlossen. Es gab da grade sonst keinen Anschluss.)
ich habe ein einseituges platinenlayout, bei dem für jede 7 segment anzeige ein eigene 595 schieberegister verwendet wird. ansteuerung per spi. die 595 sind smd, und sitzen hinter den 7 segment anzeigen, das board ist nur gering größer als die segmente
@Eike: Wenn der BCD-Decoder so herum funktioniert, sollte es gehen. Manche von den Dingern können nämlich die "untere Seite" besser schalten. Dazu gibt es dann noch spezielle Beschaltungen.
Hallo, wenn, wie Du schreibst, dp der "Ausgang" ist: eine Siebensegmentanzeige hat keinen Ausgang, die hat entweder eine gemeinsame Anode und die Segmente sind die Katoden oder umgekehrt. Wenn wir annahemn, Du hast Anzeigen mit gemeinsamer Katode, dann wäre die Digit-Ansteuerung mit npn gegen GND richtig, allerdings fehlen den Transistoren die Basiswiderstände! Mit H-Pegel am ATMega liegen dann 5V direkt an der Basis-Emitter-Diode und der Transistor oder der ATMega beenden schlagartig ihr Leben. In die Basisleitung also noch jeweils ca. 470 Ohm rein. Weiter: zum Typ des BCD-Decoders schreibst Du nichts, aber da ja gemeinsame Katode angenommen wird, muß er H-aktive Ausgänge haben und bei H den Segmentstron treiben können. Sowas dürfte recht selten zu finden sein. Üblicher wäre genau umgekehrt: Decoder treibt L-aktiv Anzeigen mit gemeinsamer Anode. Die Anoden bekommen H-side-Treiber mit pnp-Transistoren, E an +5V, K an Anode Digit und Basis wie gehabt über 470 Ohm an ATMega. Klappt solange, wie die Anzeigen mit 5V klarkommen. Außerdem muß der Decoder über Stromquellenausgänge für die Anzeigen verfügen, sonst müssen in die Segmentleitungen noch passende Vorwiderstände für die Strombegrenzung des Anzeigen-Segmente rein. Gruß aus Berlin Michael
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.