7-Segment-Anzeige Tabelle?

4 Antworten

Die idee an dem ganzen ist, dass ein Decoder Baustein selbst aus TTL Gattern entwickelt werden soll.

Heutzutage würde man einen FPGA oder Mikrocontroller für so eine Aufgabe verwenden. Aber "damals" wurden solche Chips in TTL technik entwickelt. In dem Chip sind die selben Schaltkreise drin wie in den gängigen TTL Gattern, nur auf einer Chipfläche zusammen gefasst und miteinander fest verbunden.

Du sollst hier also einen 70er Jahre Chipentwickler spielen der einen Decoder IC entwickelt.

Benötigt werden die Ziffern 0 bis 9, dafür sind 3 Bits zu wenig und 4 "zu viel". Mit den 4 Eingangsleitungen kann man 16 verschiedene Zustände anlegen, aber nur die ersten 10 (0 bis 9) werden benutzt!

Jetzt könnte man hin gehen und die übrigen von A bis F belegen oder Sonderzeichen wie "+", "-" und " " (alles aus, Blank) definieren. Das macht aber die Schaltung um ein vielfaches aufwändiger und damit teurer. Tatsächlich gibt es decoder ICs die hexadezimnal (0/1/2/3/4/5/6/7/8/9/A/B/C/D/E/F) ausgeben. Hier geht es aber darum Kosten zu sparen und mit so wenigen Gattern wie möglich aus zu kommen.

Sinn der Übung ist, ein KV Diagramm mit drei möglichen Zuständen eines Bits zu benutzen. Und zwar:

0 = Aus

1 = Ein

x = Egal

Für jedes der 7 Segmente am Ausgang fertigst Du also ein eigenes KV Diagramm an. Dabei trägst Du die Zustände der Eingangsleitungen ein die das Segment einschalten. Für die 5 übriggebliebenen Zustände am Ende der Tabelle trägst Du "x" anstelle einer "1" oder "0" ein.

Wenn Du jetzt daraus die Schaltfunktion entwickelst, dann kannst Du überall wo ein x steht aussuchen ob das eine 1 oder 0 ist. Damit können größere Blöcke und damit kleinere Schaltfunktionen abgelesen werden.

Wenn Du fertig bist, dann zeichne 7-Segmet Ausgaben die entstehen wenn die unbenutzten Bitkombinationen am Eingang liegen, also Deine Vereinfachung wieder zurück in eine vollständige Tabelle umwandeln. Die vergleichst Du dann mal mit dem Datenblatt von 7-Segment decodern die es seit den 1970ern zu kaufen gibt. Du wirst feststellen, dass Du auf genau die selben Muster kommst wie ein sehr gängiger Chip. Das liegt daran, dass die genau die gleichen vereinfachungen in den Chip eingebaut haben auf die Du selber gekommen bist - zumindest wenn Du alles richtig gemacht hast.

Woher ich das weiß:Berufserfahrung

BCD - binary coded decimal .. DU benutzt also eine binäre Darstellung, um eine dezimale Ziffer abzubilden, das sind 10 Zustände, also 4 Bit, wobei Du von den 16 möglichen Zuständen 6 nicht benötigst.

Die Dezimalziffer 5 wird also beispielsweise als 0101 kodiert. Die Spalten DCBA entsprechen dabei eben genau dem Dezimalwert in binärer Darstellung (schau es Dir an). Nach der 9 folgen alle unbenutzten Zustände. Das sind die Pseudo-Tetraden.

Du darfst Die Ansteuerung selbst entscheiden, Du könntest also bei einem ungültigen Wert sowas ausgeben wie:

| |
|_|

'undefined' oder

 _
|_
|_

'error' - oder halt irgendetwas, das eindeutig keine Zahl sein kann.

Ich hatte das noch nicht aber wir haben gerade das selbe Thema. Wir benutzen da don't care also ein x wenn es unbenutzte Zustände gibt

wie wäre es mit einen "-" ... also Segment g

oder E wie Error


Astropikus  16.01.2021, 23:55

Und nein, das rot eingekreiste sollen nicht die Ausgänge sein, sondern die angezeigte Zahl

1