Schaltnetze: Codierer, Decodierer, Codeumsetzer, Digitalkomparator und Addierer
https://bildung.social/@oerinformatik/
https://oer-informatik.de/schaltnetze-decoder
Schaltnetz, Codierer, Decodierer, Codeumsetzer, Prioritätscodierer, Diodenmatrix, BCD-zu-7-Segment-Decoder, Multiplexanzeige, Digitalkomparator, Erweiterungseingänge, Halbaddierer, Volladdierer
tl/dr; (ca. 19 min Lesezeit): Schaltnetze setzen Codes um, vergleichen und addieren Dualzahlen. Dieser Artikel zeigt Schritt für Schritt, wie Du Codierer, Decodierer, Codeumsetzer und Demultiplexer am Schaltzeichen erkennst und ihre Mindestzahl an Ein- und Ausgängen bestimmst, wie Du mit (auch englischen) Funktionstabellen die Pegel an Adress- und Ausgängen festlegst, wie eine Diodenmatrix als Codierer arbeitet, wie ein BCD-zu-7-Segment-Decoder und eine gemultiplexte Anzeige funktionieren, wie Digitalkomparatoren und Addierer rechnen und kaskadiert werden und wie Du Beschaltungsregeln aus Datenblättern ableitest [AI-Assisted]. (Zuletzt geändert am 12.11.2026)
Schon fit in diesem Thema? Nutze die Kann-Liste und die Leitfragen unter dem Artikel als Checkliste, ob Du die relevanten Kompetenzen bereits hast.
Als Digitaltechnik-Grundlagen kann ich nach Durcharbeiten des Artikels…
… Codierer, Decodierer, Codeumsetzer und Demultiplexer erkennen und ihre Mindestzahl an Ein- und Ausgängen bestimmen.
… die Pegel an Adress-, Freigabe- und Ausgängen von Decodern (z. B. 3-aus-8, BCD-zu-Dezimal) mithilfe einer deutschen oder englischen Funktionstabelle bestimmen.
… die Funktion einer Diodenmatrix als Codierer erklären und sie für eine vorgegebene Codier- oder Zeichenfunktion beschalten.
… die Pegel an einem BCD-zu-7-Segment-Decoder bestimmen.
… gemultiplexte 7-Segment- und Matrixanzeigen analysieren (Bitmuster, Zeitablauf, angezeigte Ziffer) und für weitere Stellen erweitern.
… Digitalkomparatoren analysieren und ihre Erweiterungseingänge laut Datenblatt beschalten.
… Halbaddierer, Volladdierer und mehrstellige Addierer analysieren und kaskadieren.
… Beschaltungsregeln für Logikbausteine (Erweiterungseingänge, unbenutzte Eingänge) aus englischen Datenblattbeschreibungen ableiten.
Ein Getränkeautomat erkennt, welche Wahltaste gedrückt wurde, und macht daraus eine Dualzahl. Eine Waage zeigt ihr Gewicht auf vier 7-Segment-Stellen an. Eine Füllanlage prüft, ob der Istwert den Sollwert schon erreicht hat, und ein Zähler addiert die Stückzahlen zweier Bänder. Alle diese Aufgaben lösen Schaltnetze: Verknüpfungsschaltungen ohne Speicher, deren Ausgänge nur von den gerade anliegenden Eingängen abhängen.
Die Übungsaufgaben zu diesem Artikel findest Du unter Übungsaufgaben zu Schaltnetzen. Der Artikel setzt die Grundgatter und Funktionstabellen aus Logische Verknüpfungen und Dualzahlen, BCD und den 7-Segment-Code aus Zahlensysteme und Codes voraus.
Schritt 1: Schaltnetze und ihre Bausteine im Überblick
Ein Schaltnetz (kombinatorische Schaltung) besteht nur aus Gattern. Für jede Eingangskombination gibt es genau eine Ausgangskombination; die Funktionstabelle beschreibt es vollständig. Ein Schaltwerk enthält dagegen Speicher (Flipflops), seine Ausgänge hängen auch von der Vorgeschichte ab (siehe Flipflops und Zähler, Frequenzteiler und Schieberegister).
Die häufigsten Schaltnetze gibt es als fertige integrierte Bausteine. Sie unterscheiden sich darin, welchen Code sie am Eingang erwarten und welchen sie am Ausgang liefern:
| Baustein | Eingang | Ausgang | Kennzeichen im Schaltzeichen (DIN EN 60617-12) | Beispiel |
|---|---|---|---|---|
| Codierer (Encoder) | 1-aus-n-Signal (eine von n Leitungen aktiv) | Dualzahl bzw. BCD | X/Y, genauer z. B. HPRI/BIN, HPRI/BCD |
Prioritätscodierer 74HC148 (8 → 3), 74HC147 (9 → 4) |
| Decodierer (Decoder) | Dualzahl bzw. BCD | 1-aus-n-Signal | X/Y, genauer z. B. BIN/OCT, BCD/DEC |
3-zu-8-Decoder 74HC138, BCD-zu-Dezimal 74HC42 |
| Codeumsetzer (Code Converter) | ein Code mit m Bit | anderer Code mit k Bit | X/Y, z. B. BCD/7SEG |
BCD-zu-7-Segment 74HC4511 |
| Demultiplexer | ein Datensignal + Adresse | Signal auf einem von n Ausgängen | DX (US-Norm DMUX) |
Decoder mit Datensignal am Freigabeeingang |
| Digitalkomparator | zwei Dualzahlen A, B | A > B, A = B, A < B | COMP |
4-Bit-Komparator 74HC85 |
| Addierer | zwei Dualzahlen A, B und Übertrag | Summe und Übertrag | Σ |
4-Bit-Volladdierer 74HC283 |
Streng genommen ist jeder Decodierer und jeder Codierer ein Codeumsetzer; die Norm gibt allen das allgemeine Kennzeichen X/Y. Von Decodierer spricht man, wenn am Ausgang genau eine Leitung aktiv ist, von Codierer, wenn am Eingang genau eine Leitung aktiv ist. Den Multiplexer und den Demultiplexer mit Analogschaltern behandelt der Artikel Analogschalter, Multiplexer und Demultiplexer.
Mindestzahl an Ein- und Ausgängen
Mit n Bit lassen sich 2^n verschiedene Werte darstellen. Daraus folgt die Mindestzahl der Leitungen:
Ein Decodierer mit n Adresseingängen kann höchstens 2^n Ausgänge unterscheiden. Für k Ausgänge braucht er mindestens n \geq \log_2 k Adresseingänge (aufgerundet).
Ein Codierer mit k Eingängen braucht mindestens n \geq \log_2 k Ausgänge (aufgerundet). Soll auch „keine Taste gedrückt“ einen eigenen Code bekommen, zählt dieser Zustand als zusätzlicher Wert mit.
Ein Codeumsetzer braucht so viele Eingänge, wie der Eingangscode Bit hat, und so viele Ausgänge, wie der Ausgangscode Bit hat – unabhängig davon, ob alle Kombinationen genutzt werden.
| Baustein | Eingänge (ohne Freigabe) | Ausgänge | Begründung |
|---|---|---|---|
| 2-aus-4-Decoder | 2 | 4 | 2^2 = 4 |
| 3-aus-8-Decoder | 3 | 8 | 2^3 = 8 |
| BCD-zu-Dezimal-Decoder | 4 | 10 | BCD hat 4 Bit, Ziffern 0 bis 9 |
| BCD-zu-7-Segment-Decoder | 4 | 7 (8 mit Dezimalpunkt) | 4 Bit BCD, Segmente a bis g |
| Codierer für 12 Tasten | 12 | 4 | 2^3 = 8 < 12 \leq 16 = 2^4 |
Ein BCD-zu-Dezimal-Decoder nutzt von den 16 möglichen Eingangskombinationen nur 10. Die sechs Pseudotetraden 1010 bis 1111 kommen in BCD nicht vor; das Datenblatt sagt, was der Baustein dann tut (beim 74HC42: alle Ausgänge inaktiv).
Schritt 2: Decoder – Pegel mit der Funktionstabelle bestimmen
Um einen bestimmten Ausgang eines Decoders zu aktivieren, gehst Du in drei Schritten vor:
Ausgangsnummer in eine Dualzahl umwandeln und das höchstwertige Bit an den Adresseingang mit der größten Wertigkeit legen (A_0 hat die Wertigkeit 1).
Alle Freigabebedingungen erfüllen: low-aktive Freigabeeingänge (Überstrich, Negationskreis) auf 0, high-aktive auf 1.
Polarität des Ausgangs beachten: Bei low-aktiven Ausgängen (\overline{Y_0} …) liegt der gewählte Ausgang auf 0 und alle anderen auf 1.
Funktionstabellen in englischen Datenblättern
Datenblätter sind meist englisch. Die Funktionstabelle heißt dort function table oder truth table, die Spalten sind in inputs und outputs gegliedert. Statt 0 und 1 stehen Pegel:
| im Datenblatt | Bedeutung |
|---|---|
| H | HIGH-Pegel (logisch 1) |
| L | LOW-Pegel (logisch 0) |
| X | don’t care: beliebiger Pegel, hat keinen Einfluss |
| ↑ / ↓ | steigende bzw. fallende Flanke (bei Schaltwerken) |
| \overline{E}, nE, E̅ | low-aktiver Freigabeeingang (enable, active LOW) |
Als Beispiel der Doppel-2-aus-4-Decoder 74HC139. Jede Hälfte hat einen low-aktiven Freigabeeingang \overline{E}, die Adresseingänge A_1 (Wertigkeit 2) und A_0 (Wertigkeit 1) und vier low-aktive Ausgänge. So sieht die Tabelle im Datenblatt sinngemäß aus:
| n\overline{E} | nA_1 | nA_0 | n\overline{Y_0} | n\overline{Y_1} | n\overline{Y_2} | n\overline{Y_3} |
|---|---|---|---|---|---|---|
| H | X | X | H | H | H | H |
| L | L | L | L | H | H | H |
| L | L | H | H | L | H | H |
| L | H | L | H | H | L | H |
| L | H | H | H | H | H | L |
Soll in der zweiten Hälfte 2\overline{Y_2} aktiv werden, gilt 2 = 10_2: 2A_1 = \mathrm{H}, 2A_0 = \mathrm{L} und 2\overline{E} = \mathrm{L}. Dann liegt 2\overline{Y_2} auf L, die drei anderen Ausgänge auf H. Für den 3-zu-8-Decoder 74HC138 mit drei Freigabeeingängen zeigt der Artikel Analogschalter, Multiplexer und Demultiplexer dasselbe Vorgehen.
BCD-zu-Dezimal-Decoder
Der BCD-zu-Dezimal-Decoder 74HC42 hat vier Eingänge A_3 bis A_0 (Wertigkeiten 8, 4, 2, 1) und zehn low-aktive Ausgänge \overline{Y_0} bis \overline{Y_9}, aber keinen Freigabeeingang. Für die Ziffer 6 legst Du 0110 an: A_3 = \mathrm{L}, A_2 = \mathrm{H}, A_1 = \mathrm{H}, A_0 = \mathrm{L}; \overline{Y_6} geht auf L. Bei einer Pseudotetrade (z. B. 1100) bleiben alle zehn Ausgänge auf H. Mit solchen Decodern wählt eine Steuerung eine von zehn Meldeleuchten, ein Relais oder eine Anzeigestelle aus.
Decoder als Demultiplexer: Legst Du statt eines festen Pegels ein Datensignal an den Freigabeeingang, erscheint dieses Signal nur an dem adressierten Ausgang (bei low-aktivem \overline{E} und low-aktiven Ausgängen unverändert, nicht invertiert). Ein Decoder mit Freigabeeingang ist deshalb zugleich ein Demultiplexer.
Schritt 3: Codierer und Diodenmatrix
Codierer und Prioritätscodierer
Ein Codierer macht aus einer aktiven Eingangsleitung eine Dualzahl, z. B. aus der gedrückten Taste eines Tastenfelds. Ein einfacher Codierer setzt voraus, dass immer nur ein Eingang aktiv ist. Werden zwei Tasten gleichzeitig gedrückt, entsteht sonst ein falscher Code (die ODER-Verknüpfung beider Codes).
Ein Prioritätscodierer löst das: Er gibt immer den Code des höchstwertigen aktiven Eingangs aus und ignoriert die anderen. Der 74HC148 hat acht low-aktive Eingänge \overline{I_0} bis \overline{I_7} und drei low-aktive Ausgänge \overline{A_2} bis \overline{A_0}, der 74HC147 neun Eingänge und vier Ausgänge (invertierter BCD-Code). Sind beim 74HC148 \overline{I_2} und \overline{I_5} zugleich auf L, gilt Eingang 5: 5 = 101_2, invertiert \overline{A_2}\,\overline{A_1}\,\overline{A_0} = \mathrm{L\,H\,L}. Zusatzausgänge zeigen, ob überhaupt ein Eingang aktiv ist (group signal \overline{GS}), und erlauben über \overline{EI}/\overline{EO} (enable input/output) das Kaskadieren mehrerer Bausteine.
Die Diodenmatrix als Codierer
Ohne IC lässt sich ein Codierer mit einer Diodenmatrix aufbauen. Dazu kreuzen sich Eingangsleitungen (Zeilen) und Ausgangsleitungen (Spalten). An jedem Kreuzungspunkt, an dem der Ausgang 1 werden soll, sitzt eine Diode; an den anderen Kreuzungen gibt es keine Verbindung.
Im Beispiel wählt eine Programmwahl mit den Tastern -S1 bis -S5 die Programme 1 bis 5 und gibt deren Nummer als 3-Bit-Dualzahl Q_2Q_1Q_0 aus:
So arbeitet die Matrix:
Ein gedrückter Taster legt seine Zeile an +5 V. Über jede Diode dieser Zeile fließt Strom in die zugehörige Spalte: Die Spalte liegt auf High (+5 V abzüglich der Durchlassspannung von etwa 0,7 V).
Spalten ohne Diode in dieser Zeile zieht ihr Pull-down-Widerstand auf 0 V. Ohne ihn wäre die Spalte offen und ihr Pegel unbestimmt.
Die Dioden entkoppeln die Zeilen: Eine Spalte, die über eine Diode High ist, kann keinen Strom zurück in eine andere Zeile treiben, weil die Dioden dort in Sperrrichtung liegen. Ohne Dioden wären alle Zeilen über die Spalten miteinander verbunden.
Jede Spalte ist damit eine Dioden-ODER-Verknüpfung der Zeilen, in denen sie eine Diode hat: Q_0 = S1 \vee S3 \vee S5, Q_1 = S2 \vee S3, Q_2 = S4 \vee S5.
Die Belegung bestimmst Du mit einer Codetabelle: Für jede Zeile schreibst Du den gewünschten Code auf; jede 1 ist eine Diode.
| Taster | Programm | Q_2 | Q_1 | Q_0 | Dioden |
|---|---|---|---|---|---|
| keiner | – | 0 | 0 | 0 | – |
| -S1 | 1 | 0 | 0 | 1 | 1 |
| -S2 | 2 | 0 | 1 | 0 | 1 |
| -S3 | 3 | 0 | 1 | 1 | 2 |
| -S4 | 4 | 1 | 0 | 0 | 1 |
| -S5 | 5 | 1 | 0 | 1 | 2 |
Dasselbe Prinzip funktioniert für jeden anderen Code. Eine Diodenmatrix kann auch ein Zeichen erzeugen: Sollen bei einer Meldung die Segmente einer 7-Segment-Anzeige ein bestimmtes Zeichen bilden, bekommt die Zeile dieser Meldung eine Diode zu jeder Segmentleitung, die leuchten soll. Für das Zeichen „F“ (Segmente a, e, f, g) sind das vier Dioden. Eine Matrix aus Dioden ist ein einfacher, fest „programmierter“ Festwertspeicher: Die Zeile ist die Adresse, die Spalten sind das gespeicherte Datenwort (siehe Halbleiterspeicher).
Schritt 4: Codeumsetzer und 7-Segment-Anzeige
BCD-zu-7-Segment-Decoder
Ein Codeumsetzer setzt einen Code in einen anderen um, ohne dass Ein- oder Ausgang ein 1-aus-n-Signal sein muss. Der wichtigste ist der BCD-zu-7-Segment-Decoder: Er erhält eine BCD-Ziffer an vier Eingängen und schaltet an sieben Ausgängen die Segmente a bis g so, dass die Ziffer erscheint. Die Segmentbelegung steht im Artikel Zahlensysteme und Codes.
Der 74HC4511 (bzw. CD4511) ist ein solcher Baustein für Anzeigen mit gemeinsamer Kathode: Seine Ausgänge a bis g sind high-aktiv und liefern den Segmentstrom (über Vorwiderstände). Zusätzlich hat er drei Steuereingänge:
| Eingang | englische Bezeichnung | Wirkung |
|---|---|---|
| \overline{LT} | lamp test | L: alle Segmente leuchten (Anzeigetest), Vorrang vor allen anderen |
| \overline{BI} | blanking input | L: alle Segmente dunkel (Dunkeltastung), z. B. für führende Nullen |
| LE | latch enable | L: Ausgänge folgen den Eingängen; H: letzter Wert wird gehalten |
| D, C, B, A | BCD inputs | BCD-Ziffer, D höchstwertig (8), A niederwertig (1) |
Für den Normalbetrieb liegen \overline{LT} = \mathrm{H}, \overline{BI} = \mathrm{H} und LE = \mathrm{L}. Bei der Ziffer 3 (DCBA = 0011) sind die Ausgänge a, b, c, d und g auf H, e und f auf L. Pseudotetraden (1010 bis 1111) schalten beim 4511 alle Segmente dunkel. Für Anzeigen mit gemeinsamer Anode brauchst Du einen Decoder mit low-aktiven Ausgängen (z. B. 74LS247) oder invertierst die Segmentsignale.
Der Codeumsetzer braucht 4 Eingänge (BCD) und 7 Ausgänge (Segmente). Er lässt sich auch aus Gattern, einer Diodenmatrix oder per Software in einem Mikrocontroller nachbilden: Dann steht die Codetabelle als Feld im Programm, und die Ziffer ist der Index.
Gemultiplexte 7-Segment-Anzeige
Eine vierstellige Anzeige mit je acht Segmenten (a bis g und Dezimalpunkt) bräuchte einzeln angesteuert 32 Leitungen. Bei einer gemultiplexten Anzeige sind die gleichnamigen Segmente aller Stellen parallel geschaltet (8 Segmentleitungen); jede Stelle hat einen eigenen Anschluss für ihre gemeinsame Kathode bzw. Anode, den ein Transistor schaltet (eine Stellenleitung je Stelle). Das sind nur 8 + 4 = 12 Leitungen.
Die Steuerung (Mikrocontroller oder Zähler mit Decoder) schaltet die Stellen nacheinander ein:
- alle Stellen aus,
- Bitmuster der Ziffer für Stelle 1 an die Segmentleitungen legen,
- Stelle 1 einschalten und eine feste Zeit warten,
- weiter mit Stelle 2, 3, 4 und dann wieder von vorn.
Jede Stelle leuchtet nur einen Teil der Zeit. Ist der Durchlauf schnell genug (Bildwiederholfrequenz über etwa 50 Hz bis 100 Hz), sieht das Auge alle Stellen gleichzeitig leuchten.
Im Beispiel ist jede der vier Stellen t_\mathrm{Stelle} = 2{,}5\ \mathrm{ms} aktiv. Ein Durchlauf dauert
T = n \cdot t_\mathrm{Stelle} = 4 \cdot 2{,}5\ \mathrm{ms} = 10\ \mathrm{ms}
und die Bildwiederholfrequenz beträgt f = 1/T = 100\ \mathrm{Hz}. Jede Stelle leuchtet nur 1/4 der Zeit (Tastgrad 25 %). Damit sie so hell erscheint wie eine dauernd leuchtende, muss der Spitzenstrom im Segment größer sein; das Datenblatt der Anzeige nennt dafür den zulässigen Impulsstrom (peak forward current) bei einem bestimmten Tastgrad.
Angezeigte Ziffer bestimmen: Liegt in einem Zeitschlitz an den Segmentleitungen das Bitmuster (Reihenfolge dp g f e d c b a) 0110\,0110_2 = 0x66, leuchten b, c, f und g – die Ziffer 4. Du liest dazu ab, welche Stellenleitung gerade aktiv ist, und übersetzt das Segmentmuster mit der Segmenttabelle in die Ziffer. Achte darauf, ob die Anzeige eine gemeinsame Kathode (Segment leuchtet bei H) oder eine gemeinsame Anode (Segment leuchtet bei L) hat.
Anzeige um Stellen erweitern: Für eine fünfte Stelle kommt eine Stellenleitung mit Transistor hinzu; die Segmentleitungen werden an die neue Stelle weitergeführt. Außerdem ändert sich:
Zeitablauf: Bleibt t_\mathrm{Stelle} gleich, wird der Durchlauf länger (5 \cdot 2{,}5\ \mathrm{ms} = 12{,}5\ \mathrm{ms}, 80 Hz); soll die Bildwiederholfrequenz gleich bleiben, muss t_\mathrm{Stelle} auf 10\ \mathrm{ms} / 5 = 2\ \mathrm{ms} sinken.
Helligkeit: Der Tastgrad je Stelle sinkt von 1/4 auf 1/5; bei gleichem Segmentstrom wird die Anzeige dunkler. Zum Ausgleich werden die Vorwiderstände verkleinert, soweit der zulässige Impulsstrom es erlaubt.
Stellenauswahl: Wählt ein Decoder die Stelle aus, reicht ein 2-aus-4-Decoder nicht mehr; nötig ist einer mit drei Adresseingängen (z. B. 3-aus-8). Im Mikrocontroller wird ein Ausgangspin mehr und eine Programmänderung (Stellenzahl im Zähler) gebraucht.
Dasselbe Verfahren steuert Matrixanzeigen (z. B. 8 × 8 LEDs): Statt Stellen werden Zeilen nacheinander eingeschaltet, an den Spaltenleitungen liegt das Bitmuster der jeweiligen Zeile. Eine 5 × 7-Matrix für ein Zeichen braucht so 5 + 7 = 12 statt 35 Leitungen.
Schritt 5: Digitalkomparator
Ein Digitalkomparator vergleicht zwei Dualzahlen A und B und meldet an drei Ausgängen, ob A > B, A = B oder A < B ist; genau einer dieser Ausgänge ist aktiv.
Ein-Bit-Komparator
Für einzelne Bits gilt:
\begin{aligned} Y_{A>B} &= A \wedge \overline{B} \\ Y_{A=B} &= \overline{A \oplus B} \\ Y_{A<B} &= \overline{A} \wedge B \end{aligned}
Der Gleichheitsausgang ist eine Äquivalenz (XNOR). Mehrstellige Zahlen vergleicht der Komparator vom höchstwertigen Bit her: Das erste Bitpaar, das sich unterscheidet, entscheidet. Sind alle Bits gleich, sind die Zahlen gleich.
Der 4-Bit-Komparator und seine Erweiterungseingänge
Der 74HC85 vergleicht zwei 4-Bit-Zahlen A_3 \ldots A_0 und B_3 \ldots B_0. Er hat außer den drei Ausgängen Q_{A>B}, Q_{A=B}, Q_{A<B} drei Erweiterungseingänge (cascading inputs) I_{A>B}, I_{A=B}, I_{A<B}. Sie bringen das Ergebnis eines niederwertigeren Bausteins mit:
Unterscheiden sich die vier eigenen Bitpaare, entscheiden sie; die Erweiterungseingänge spielen keine Rolle.
Sind alle vier eigenen Bitpaare gleich, übernimmt der Baustein das Ergebnis an seinen Erweiterungseingängen.
Daraus folgen die Beschaltungsregeln, die das Datenblatt nennt:
Einzelner Baustein bzw. niederwertigster Baustein einer Kette: I_{A=B} = \mathrm{H}, I_{A>B} = \mathrm{L}, I_{A<B} = \mathrm{L}. „Darunter“ gibt es keine weiteren Bits, also gelten sie als gleich.
Höherwertige Bausteine: Ihre Erweiterungseingänge liegen an den gleichnamigen Ausgängen des nächstniederwertigen Bausteins (Q_{A>B} \to I_{A>B}, Q_{A=B} \to I_{A=B}, Q_{A<B} \to I_{A<B}).
Das Gesamtergebnis liegt an den Ausgängen des höchstwertigen Bausteins.
Beispiel mit 8 Bit: A = 0101\,1100_2 (92) und B = 0101\,0111_2 (87). Der höherwertige Baustein sieht 0101 = 0101 und übernimmt deshalb das Ergebnis des niederwertigen. Dieser vergleicht 1100 (12) mit 0111 (7): A > B. Gesamtergebnis: Q_{A>B} = \mathrm{H}, die beiden anderen Ausgänge L.
Komparatoren überwachen Grenzwerte (Füllstand, Stückzahl, Temperatur als Dualzahl), bilden Adressvergleicher in Bussystemen oder stoppen einen Zähler bei einem eingestellten Wert. Ein Ausgang „A \geq B“ entsteht als ODER-Verknüpfung von Q_{A>B} und Q_{A=B} oder als Negation von Q_{A<B}.
Schritt 6: Halbaddierer, Volladdierer und mehrstellige Addierer
Dualzahlen addierst Du wie Dezimalzahlen stellenweise von rechts nach links, mit Übertrag in die nächste Stelle: 1 + 1 = 10_2, also Summe 0 und Übertrag 1.
Halbaddierer
Der Halbaddierer addiert zwei Bits A und B. Er liefert die Summe S und den Übertrag C (carry):
\begin{aligned} S &= A \oplus B \\ C &= A \wedge B \end{aligned}
Er besteht also aus einem XOR- und einem UND-Glied. Für die niederwertigste Stelle reicht er, für alle anderen nicht: Dort muss auch der Übertrag der vorigen Stelle addiert werden.
Volladdierer
Der Volladdierer addiert drei Bits: A, B und den Übertrag C_\mathrm{in} der vorigen Stelle. Er besteht aus zwei Halbaddierern und einem ODER-Glied:
\begin{aligned} S &= A \oplus B \oplus C_\mathrm{in} \\ C_\mathrm{out} &= (A \wedge B) \vee \bigl(C_\mathrm{in} \wedge (A \oplus B)\bigr) \end{aligned}
| C_\mathrm{in} | B | A | X1 = A \oplus B | S | C_\mathrm{out} |
|---|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 0 | 0 |
| 0 | 0 | 1 | 1 | 1 | 0 |
| 0 | 1 | 0 | 1 | 1 | 0 |
| 0 | 1 | 1 | 0 | 0 | 1 |
| 1 | 0 | 0 | 0 | 1 | 0 |
| 1 | 0 | 1 | 1 | 0 | 1 |
| 1 | 1 | 0 | 1 | 0 | 1 |
| 1 | 1 | 1 | 0 | 1 | 1 |
Die Summe ist 1, wenn eine ungerade Zahl der drei Eingänge 1 ist; der Übertrag ist 1, wenn mindestens zwei Eingänge 1 sind.
Mehrstellige Addierer und Kaskadierung
Schaltest Du n Volladdierer hintereinander und gibst jeweils C_\mathrm{out} an C_\mathrm{in} der nächsten Stelle, entsteht ein n-Bit-Addierer (Ripple-Carry-Addierer). Der Übertrag läuft durch alle Stellen, was die Rechenzeit verlängert. Integrierte Addierer wie der 4-Bit-Addierer 74HC283 bilden die Überträge deshalb parallel (carry look-ahead).
Der 74HC283 hat die Eingänge A_1 bis A_4, B_1 bis B_4 (Index 1 = niederwertigstes Bit), den Übertragseingang C_\mathrm{IN}, die Summenausgänge S_1 bis S_4 und den Übertragsausgang C_\mathrm{OUT}. Beispiel: A = 0111 (7), B = 0101 (5), C_\mathrm{IN} = 0:
7 + 5 = 12 = 1100_2 \quad\Rightarrow\quad S_4S_3S_2S_1 = 1100,\ C_\mathrm{OUT} = 0
Bei A = 1010 (10) und B = 1001 (9) ist die Summe 19 = 1\,0011_2: Das Ergebnis passt nicht mehr in 4 Bit, es erscheint S_4S_3S_2S_1 = 0011 und C_\mathrm{OUT} = 1. Der Übertragsausgang ist das fünfte Ergebnisbit bzw. eine Überlaufmeldung.
Kaskadieren: Für 8 Bit verbindest Du C_\mathrm{OUT} des niederwertigen Bausteins mit C_\mathrm{IN} des höherwertigen; C_\mathrm{IN} des niederwertigen Bausteins legst Du auf L (kein Übertrag von außen). Ein offener C_\mathrm{IN} wäre bei CMOS ein undefinierter Eingang (Schritt 7). Mit C_\mathrm{IN} = \mathrm{H} rechnet der Addierer A + B + 1; zusammen mit invertierten B-Eingängen entsteht so die Subtraktion im Zweierkomplement A - B = A + \overline{B} + 1.
Schritt 7: Beschaltungsregeln aus dem Datenblatt ableiten
Viele Fehler in Digitalschaltungen entstehen nicht in der Logik, sondern an Eingängen, die falsch oder gar nicht beschaltet sind. Die Regeln dafür stehen im Datenblatt, oft als kurzer englischer Satz in den application notes, unter recommended operating conditions oder als Fußnote der Funktionstabelle.
Unbenutzte Eingänge
CMOS-Eingänge (74HC, 74HCT, 4000er-Reihe) sind sehr hochohmig. Ein offener Eingang nimmt einen zufälligen Pegel an, kann schwingen und lässt einen hohen Querstrom durch die Eingangsstufe fließen. Datenblätter verlangen deshalb sinngemäß: Alle unbenutzten Eingänge müssen auf V_\mathrm{CC} oder GND gelegt werden.
Welcher Pegel? Er darf die Funktion nicht stören: unbenutzte Eingänge eines UND- oder NAND-Glieds auf H (oder an einen benutzten Eingang), eines ODER- oder NOR-Glieds auf L. Eingänge ganz unbenutzter Gatter legst Du auf GND.
Freigabe- und Steuereingänge auf den Pegel, der den Baustein dauerhaft in den gewünschten Zustand bringt: z. B. \overline{E} eines benötigten Decoders auf L, \overline{LT} und \overline{BI} eines 4511 auf H, LE auf L.
Unbenutzte Ausgänge bleiben offen; sie dürfen nicht miteinander oder mit V_\mathrm{CC}/GND verbunden werden.
TTL-Eingänge (74LS) wirken offen wie H, sind aber störempfindlich; auch sie legst Du fest, am besten über einen Widerstand an V_\mathrm{CC} (siehe Logikfamilien und Pegel).
Erweiterungseingänge und typische Formulierungen
Für Erweiterungseingänge sagt das Datenblatt, wie der Baustein allein und in einer Kette beschaltet wird. Typische Formulierungen und ihre Bedeutung:
| Formulierung im Datenblatt (sinngemäß) | Bedeutung für die Beschaltung |
|---|---|
| For single device operation, connect the cascading inputs … to HIGH/LOW. | Werte für einen allein arbeitenden Baustein (beim Komparator I_{A=B} = H, die anderen L) |
| Connect the outputs of the less significant stage to the cascading inputs of the next stage. | Ausgänge der niederwertigen Stufe an die Erweiterungseingänge der höherwertigen |
| Unused inputs must be held at V_\mathrm{CC} or GND. | kein Eingang offen lassen |
| Do not leave … floating. | dieser Eingang darf nie offen sein (floating = schwebend, offen) |
| active LOW, Überstrich, Negationskreis | Eingang ist bei L aktiv |
| don’t care (X) | Pegel beliebig, muss aber trotzdem festgelegt sein (CMOS) |
Beachte den letzten Punkt: „X“ in der Funktionstabelle heißt nur, dass der Pegel die logische Funktion nicht beeinflusst. Offen lassen darfst Du den Eingang trotzdem nicht.
Wie geht es weiter?
Schaltnetze sind die Bausteine größerer Digitalschaltungen:
Aufgaben zu allen Schritten dieses Artikels: Übungsaufgaben zu Schaltnetzen
Grundgatter und Funktionstabellen: Logische Verknüpfungen
Dualzahlen, BCD und 7-Segment-Code: Zahlensysteme und Codes
Multiplexer, Demultiplexer und Decoder mit Freigabeeingängen: Analogschalter, Multiplexer und Demultiplexer
Schaltungen mit Speicher: Flipflops und Zähler, Frequenzteiler und Schieberegister
Pegel, unbenutzte Eingänge und Logikfamilien: Logikfamilien und Pegel
LED-, 7-Segment- und Matrixanzeigen in der Praxis: LED-Anzeigen
Leitfragen
- Wie viele Ein- und Ausgänge braucht ein BCD-zu-Dezimal-Decoder mindestens, und wie viele Ausgänge ein Codierer für 20 Tasten?
BCD-zu-Dezimal: 4 Eingänge, 10 Ausgänge. Codierer für 20 Tasten: 2^4 = 16 < 20 \leq 32 = 2^5, also 5 Ausgänge. siehe Abschnitt „Mindestzahl an Ein- und Ausgängen“
- Woran erkennst Du am Schaltzeichen einen Decodierer, einen Codierer, einen Codeumsetzer und einen Demultiplexer?
Am Kennzeichen: X/Y mit Angabe der Codes, z. B. BIN/OCT oder BCD/DEC (Decodierer, Ausgang 1-aus-n), HPRI/BIN (Codierer, Eingang 1-aus-n), BCD/7SEG (Codeumsetzer), DX bzw. DMUX (Demultiplexer). siehe Abschnitt „Schritt 1: Schaltnetze und ihre Bausteine im Überblick“
- Welche Pegel brauchst Du am 74HC139, damit in der ersten Hälfte 1\overline{Y_1} aktiv ist, und was bedeutet „X“ in der Funktionstabelle?
1\overline{E} = \mathrm{L}, 1A_1 = \mathrm{L}, 1A_0 = \mathrm{H}; dann ist 1\overline{Y_1} = \mathrm{L}, die anderen H. „X“ heißt don’t care: Der Pegel beeinflusst die Funktion nicht. siehe Abschnitt „Funktionstabellen in englischen Datenblättern“
- Wozu dienen in einer Diodenmatrix die Dioden und die Pull-down-Widerstände?
Die Dioden verbinden die Zeile nur mit den Spalten, die 1 werden sollen, und entkoppeln die Zeilen voneinander (Dioden-ODER). Die Pull-down-Widerstände legen Spalten ohne leitende Diode sicher auf 0 V. siehe Abschnitt „Die Diodenmatrix als Codierer“
- Wie viele Dioden braucht eine Matrix, die für die Ziffern 6 und 9 den Dualcode ausgibt?
6 = 0110_2 (2 Dioden), 9 = 1001_2 (2 Dioden), zusammen 4 Dioden. siehe Abschnitt „Die Diodenmatrix als Codierer“
- Welche Segmente leuchten am 74HC4511 bei DCBA = 0111, \overline{LT} = \mathrm{H}, \overline{BI} = \mathrm{H}, LE = \mathrm{L}, und was passiert bei \overline{BI} = \mathrm{L}?
Ziffer 7: Segmente a, b, c. Bei \overline{BI} = \mathrm{L} sind alle Segmente dunkel. siehe Abschnitt „BCD-zu-7-Segment-Decoder“
- Eine dreistellige Multiplexanzeige schaltet jede Stelle 4 ms ein. Wie groß ist die Bildwiederholfrequenz, und was ändert sich für eine vierte Stelle?
T = 3 \cdot 4\ \mathrm{ms} = 12\ \mathrm{ms}, f \approx 83{,}3\ \mathrm{Hz}. Mit vierter Stelle: eine Stellenleitung mehr, T = 16\ \mathrm{ms} (62{,}5\ \mathrm{Hz}) oder kürzere Zeit je Stelle (3 ms); der Tastgrad sinkt von 1/3 auf 1/4, die Anzeige wird bei gleichem Strom dunkler. siehe Abschnitt „Gemultiplexte 7-Segment-Anzeige“
- Wie beschaltest Du die Erweiterungseingänge zweier 4-Bit-Komparatoren für einen 8-Bit-Vergleich?
Niederwertiger Baustein: I_{A=B} = \mathrm{H}, I_{A>B} = I_{A<B} = \mathrm{L}. Seine Ausgänge an die gleichnamigen Erweiterungseingänge des höherwertigen Bausteins, dessen Ausgänge das Gesamtergebnis liefern. siehe Abschnitt „Der 4-Bit-Komparator und seine Erweiterungseingänge“
- Worin unterscheiden sich Halb- und Volladdierer, und was liefert ein 4-Bit-Addierer bei 1100 + 0110?
Der Volladdierer verarbeitet zusätzlich den Übertrag der vorigen Stelle. 12 + 6 = 18 = 1\,0010_2: S_4S_3S_2S_1 = 0010, C_\mathrm{OUT} = 1. siehe Abschnitt „Schritt 6: Halbaddierer, Volladdierer und mehrstellige Addierer“
- Warum darfst Du einen CMOS-Eingang nicht offen lassen, auch wenn die Funktionstabelle dort „X“ zeigt?
Ein offener CMOS-Eingang nimmt zufällige Pegel an, kann schwingen und verursacht Querströme. „X“ bedeutet nur, dass der Pegel die Logik nicht beeinflusst; festgelegt (an V_\mathrm{CC} oder GND) werden muss er trotzdem. siehe Abschnitt „Schritt 7: Beschaltungsregeln aus dem Datenblatt ableiten“
Links und weitere Informationen
als Nachschlagewerk: Wikipedia: Siebensegmentanzeige
zum Addierer: Wikipedia: Halbaddierer und Wikipedia: Volladdierer
Datenblatt 74HC85: Nexperia: 74HC85
Datenblatt 74HC283: Nexperia: 74HC283
Datenblatt CD4511B: Texas Instruments: CD4511B
Hinweis zur Nachnutzung als Open Educational Resource (OER)
Dieser Artikel und seine Texte, Bilder, Grafiken, Code und sonstiger Inhalt sind - sofern nicht anders angegeben - lizenziert unter CC BY 4.0. Nennung gemäß TULLU-Regel bitte wie folgt: “Schaltnetze: Codierer, Decodierer, Codeumsetzer, Digitalkomparator und Addierer” von oer-informatik.de (H. Stein), Lizenz: CC BY 4.0. Der Artikel wurde unter https://oer-informatik.de/schaltnetze-decoder veröffentlicht, die Quelltexte sind in weiterverarbeitbarer Form verfügbar im Repository unter https://gitlab.com/oer-informatik/elektrotechnik/digitaltechnik. Erstellt mit KI-Assistenz; von mir umfassend redaktionell überarbeitet, geprüft und freigegeben. Stand: 12.11.2026.
[Kommentare zum Artikel lesen, schreiben] / [Artikel teilen] / [gitlab-Issue zum Artikel schreiben]
