7-Segment- und DotMatrix-Display Beispielschaltung Multiplex (z.B. für Uhren)

Ich habe mal die Eagle-Lib für die SA23-12 angehängt. Vielleicht kannst Du sie ja auch mal gebrauchen.
besten Dank.

Ich weiß nicht welche Libs ich für die Displays verwendet habe. Liegt schon einige Zeit hier rum ohne das ich dran weitergemacht habe. Das Ding war am Anfang mal als Testobjekt geplant. Also zum rumspielen und evtl späterem Einsatz. Kann sein das ich bei nem halbwegs passendem Schaltbild einfach den Bauteilnamen geändert habe.

Gruß
Dino
 
Hi Dino,

die LED´s 1-6 , welche Aufgabe haben Diese? Sind es vielleicht die Doppelpunkte zwischen den Segmenten! Wenn ja, sind es 5mm LED´s und leuchten sie ständig, weil ich es nicht so richtg aus der Schaltung lesen kann.
Ich benötige eigentlich nur 4 LED´s(5mm), 2 Stück zwichen den Stunden/Minuten und 2 Stück zwischen Minuten/Sekunden. Sie sollten ständig leuchten(wie schalte ich die).

Gruß Andreas
 
Wenn der Schaltplan aus einem der ersten Beiträge diesbezüglich noch stimmt, kannst Du die aber alle separat ansteuern. Die sind quasi als siebente Stelle verdrahtet (Stellentreiber=2, Segmente 8..3 (von den Treibern aus gesehen) - bei den Prozessorpins dann halt Portx.7 (Stellen-Port) und PortY.1..6 (Segment-Port) - Wann welche Led also leuchten soll, ist Sache des Programmes...)
 
Hi LotadaC,

danke für Deinen Antwort. Ich denke mal dann ist im Schaltplan ein kleiner Fehler. Beim Stellentreiber-Ausgang O1 müsste dann eigentlich mit den LED´s belegt sein. Oder täusche ich mich da? Geht das nicht noch einfacher?

Gruß Andreas
 
Hi Andreas,

Ich denke mal dann ist im Schaltplan ein kleiner Fehler. Beim Stellentreiber-Ausgang O1 müsste dann eigentlich mit den LED´s belegt sein. Oder täusche ich mich da?
Schaltplan ist fehlerfrei. Paßt alles.
O8 = Stunden Zehner
O7 = Stunden Einer
O6 = Minuten Zehner
O5 = Minuten Einer
O4 = Sekunden Zehner
O3 = Sekunden Einer
O2 = Doppelpunkte
O1 = unbenutzt

Der Schaltplan ist so angeordnet wie die Displays/LEDs auf dem Foto.

Geht das nicht noch einfacher?
Nein, geht es nicht. Außer du willst Unmengen von IO-Pins verbraten.

Gruß
Dino
 
...Geht das nicht noch einfacher?..
Einfacher in Bezug auf was?
Wenn Du den Strom jeder LED weitgehend begrenzt, kannst Du den 2803 einsparen - an Programm und Schaltplanaufwand ändert sich sonst nicht viel...
Wenn Du (wie bereits angedeutet) jeder LED einen eigenen Prozessorpin spendierst, fällt das Multiplexing im Programm weg (mit den entsprechenden Bitmustern müßtest Du Dich dann trotzdem weiterhin rumschlagen) - wären dann also 48 I/Os für die Siebensegmente (inkl. DP) + die 6 LEDs. Da wird die Verdrahtung dann sicher auch tricky...
Wenn Du jedem der Segmente einen BCD-7-Segment-Decoder spendierst (den 4543 oder so), vereinfacht sich das Programm in der Hinsicht erheblich, als daß das Multiplexing und die Bitmuster-kodierung der Ziffern wegfallen (es wird einfach die auszugebende Ziffer als Byte (da immer kleiner als 15 sogar nur ein Nibble) auf den Decoder gelegt, und ein Latch ausgelöst (insofern können also alle Ziffern dieselben BCD-Leitungen verwenden - aber die ICs müssen nicht ständig angesteuert werden, sie behalten den eingestellten Zustand bis zum nächsten Latch).
Es gibt auch ICs, die über SPI/TWI/sonstwie seriell angesteuert werden, und dann selbst (mehrere-viele) LEDs treiben - da kann sich dann auch irgendwann die Schaltung vereinfachen, im Programm braucht man dann das entsprechende Kommunikationsprotokoll (ggf kann der Controller das selbst mehr oder weniger unterstützen), und ein sinniges Konzept bezüglich des Bitmusters. Vom Kontroller her wird dann eben nur der entsprechende Kommunikationsbus benötigt.
 
Hallo,

Wenn Du den Strom jeder LED weitgehend begrenzt, kannst Du den 2803 einsparen - an Programm und Schaltplanaufwand ändert sich sonst nicht viel...
das wird bei der Anzahl in Reihe geschalteter LEDs der Anzeigen die er verwenden will nicht gehen. Die Spannung paßt nicht. Also entweder kleinere Anzeigen mit 1 LED pro Segment oder Treiber einsetzen.

Wenn Du (wie bereits angedeutet) jeder LED einen eigenen Prozessorpin spendierst, fällt das Multiplexing im Programm weg (mit den entsprechenden Bitmustern müßtest Du Dich dann trotzdem weiterhin rumschlagen) - wären dann also 48 I/Os für die Siebensegmente (inkl. DP) + die 6 LEDs. Da wird die Verdrahtung dann sicher auch tricky...
sehe ich auch so. Das wird ein irrer Drahtverhau.

Also im Endeffekt bekommst du bei einer anderen Schaltung entweder ein IC-Grab (min. 6 IC für die 6 Stellen) oder du bekommst bei Schieberegistern (wegen Pins sparen) noch weiteren Steuerkram ins Programm. Ist also Jacke wie Hose. Die Multiplexschaltung ist soweit am einfachsten umzusetzen.

Gruß
Dino
 

Über uns

  • Makerconnect ist ein Forum, welches wir ausschließlich für einen Gedankenaustausch und als Diskussionsplattform für Interessierte bereitstellen, welche sich privat, durch das Studium oder beruflich mit Mikrocontroller- und Kleinstrechnersystemen beschäftigen wollen oder müssen ;-)
  • Dirk
  • Du bist noch kein Mitglied in unserer freundlichen Community? Werde Teil von uns und registriere dich in unserem Forum.
  •  Registriere dich

User Menu

 Kaffeezeit

  • Wir arbeiten hart daran sicherzustellen, dass unser Forum permanent online und schnell erreichbar ist, unsere Forensoftware auf dem aktuellsten Stand ist und der Server regelmäßig gewartet wird. Auch die Themen Datensicherheit und Datenschutz sind uns wichtig und hier sind wir auch ständig aktiv. Alles in allem, sorgen wir uns darum, dass alles Drumherum stimmt :-)

    Dir gefällt das Forum und unsere Arbeit und du möchtest uns unterstützen? Unterstütze uns durch deine Premium-Mitgliedschaft!
    Wir freuen uns auch über eine Spende für unsere Kaffeekasse :-)
    Vielen Dank! :ciao:


     Spende uns! (Paypal)