Forum: Mikrocontroller und Digitale Elektronik 7-Segent / LED- und Tastenmatrix Schaltungslösung


von Dennis S. (whiterussian)


Angehängte Dateien:

Lesenswert?

Hallo zusammen,

ich finde diese Lösung irgendwie recht "umständlich" und frage mich 
warum man das wohl so gemacht hat.

Ich hätte mir die Dekoder (alle) wohl gespart, drei kleine Transistoren 
mehr investiert und versucht die Tastenmatrix mit in die LED Matrix zu 
integrieren anstatt sie dort so dran zu basteln - oder was sagt eure 
Erfahrung?

Mir ist klar, dass es heute viele Schaltkreise gibt die das so abbacken, 
aber selbst mit damaligen Mitteln wäre es doch wesentlich einfacher 
gegangen, oder was meint Ihr?

Gruß

: Bearbeitet durch User
von Nemopuk (nemopuk)


Lesenswert?

Dennis S. schrieb:
> drei kleine Transistoren mehr investiert

Wenn du 6 statt 3 Anzeigen multiplexst, sind sie deutlich dunkler. 
Bedenke, daß LEDs nicht immer so hell waren, wie heute.

Die Dekoder waren vielleicht nötig, weil eine Dekodierung per Software 
zu viele CPU Takte gebraucht hätte. Bedenke, dass wir mal bei ca. 1 MHZ 
Taktfrequenz waren.

von Michael B. (laberkopp)


Lesenswert?

Dennis S. schrieb:
> Ich hätte mir die Dekoder (alle) wohl gespart, drei kleine Transistoren
> mehr investiert

Dann hättest du statt 1:6 Multiplex gleich 1:9 Multiplex und es wird 
dunkler.

Aber die Tasten hätte man ohne P20-P22/T1 mit P10-P17 als Eingängen 
decodieren können.

Vielleicht war die Software schon fertig

von Rainer W. (rawi)


Lesenswert?

Michael B. schrieb:
> Vielleicht war die Software schon fertig

Genau - und dann bastelt man noch mal eben ein Keyboard mit dran.

Die Schaltung stammt wohl eher aus der Zeit, als Software noch deutlich 
flexibler war als die Hardware.

von Dennis S. (whiterussian)


Lesenswert?

...ich habe mich wirklich gefragt, wie das vom Programmablauf her wohl 
überhaupt funktioniert, dass man kein LED-Ghosting hat, während man die 
entsprechende "Spalte" für das Muxing mit dem Zähler anwählt, aber das 
ist wirklich ganz geschickt gelöst:

Im 47247 sind BCD 1111b alle Segmente aus und die LED-Matrix unten links 
ist so aufgebaut das ein 11111111b auf dem 8-Bit Bus des Controllers 
ebenfalls dazu führt das keine LED leuchten kann - sehr geschickt 
angeordnet...so kann man die entsprechende Spalte auswählen ohne dass 
bereits etwas leuchtet...

Ablauf wäre also rein dafür für einen Mux-Zyklus:
8-Bit Bus auf 1111 1111b (alles aus)
Zähler zur gewünschten Spalte bringen
BCD Werte für beide 74247 oder LED Code für die Matrix anlegen

Ich würde es wahrscheinlich so machen, dass ich zudem in jedem Mux 
Zyklus eben schnell eine Zeile Tasten abchecke bevor ich die nächste 
High-Side der "Spalte" aktiviere...augenscheinlich ist es wohl so 
geplant dass man ein Bit auf dem 8-Bit Bus durchlaufen lässt und dann 
jeweils bei Pin 13 (T1) schaut ob die Taste gedrückt ist...

: Bearbeitet durch User
von Dennis S. (whiterussian)


Lesenswert?

sehe gerade, zu der LED Matrix unten links ist ja noch ein ULN 
dazwischen, der "invertiert" ja noch mal. Dann weiß ich nicht wie man 
das hinbekommen kann, beim Umschalten am Zähler D4 zu D5 - also von der 
letzetn Digit Spalte zur ersten LED-Matrix Spalte - umzuschalten, ohne 
etwas zu aktivieren weil man gleichzeitig den 8-Bit Bus von 1111 1111b 
auf 0000 0000b umschalten müsste...

: Bearbeitet durch User
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
Noch kein Account? Hier anmelden.