Binär zählen

Die folgenden Schaltungen haben einen Takteingang, der an einen entprellten Taster angeschlossen werden muss. Dazu wird am besten das Takt-Modul verwendet.
Mit dem Reset-Taster wird die Schaltung in einen definierten Zustand gebracht: Er setzt alle Ausgänge auf 0.
Wir haben einige digitale Zähler untersucht.
- Der Johnson-Zähler hatte eine andere Codefolge als
- der Binärzähler.
Wir werden die Codefolgen genauer untersuchen und feststellen, dass der Binärzähler eine einfache Codefolge hat.
Binärzähler

Bits
Die einzelnen Stellen eines Binärzählers werden Bits genannt.
Der CD4040 ist zum Beispiel ein 12-Bit-Zähler.
Wir haben uns den Binärzähler mit dem CD4040 angesehen.

Im Praktikum Binärzähler haben wir die Zustände des Zählers notiert, den Binärzähler aber hauptsächlich als Frequenzteiler betrachtet.
Takt | Q3 | Q2 | Q1 | Q0 |
0 | 0 | 0 | 0 | 0 |
1 | 0 | 0 | 0 | 1 |
2 | 0 | 0 | 1 | 0 |
3 | 0 | 0 | 1 | 1 |
4 | 0 | 1 | 0 | 0 |
5 | 0 | 1 | 0 | 1 |
6 | 0 | 1 | 1 | 0 |
7 | 0 | 1 | 1 | 1 |
8 | 1 | 0 | 0 | 0 |
9 | 1 | 0 | 0 | 1 |
10 | 1 | 0 | 1 | 0 |
11 | 1 | 0 | 1 | 1 |
12 | 1 | 1 | 0 | 0 |
13 | 1 | 1 | 0 | 1 |
14 | 1 | 1 | 1 | 0 |
15 | 1 | 1 | 1 | 1 |
16 | 0 | 0 | 0 | 0 |
17 | 0 | 0 | 0 | 1 |
18 | 0 | 0 | 1 | 0 |
Tabelle 1: Folge der Zustände der ersten vier Ausgänge
Die Folge der Codes wiederholt sich nach sechzehn Takten. Den Codes können wir Zahlen zuordnen.
Wir brauchen nur noch eine Schaltung, die die zugeordneten Zahlen anzeigt
Sieben-Segment-Anzeige
Wir alle kennen LED-Anzeigen für Zahlen, z. B. von Uhren. Die Ziffern sind aus Segmenten einer 8 zusammengesetzt. Die 8 besteht aus sieben Segmenten. Deshalb werden diese Anzeigen auch Sieben-Segment-Anzeigen genannt.
Eine Sieben-Segment-Anzeige hat für jedes Segment eine LED, die von einer Digitalschaltung entsprechend angesteuert werden muss.

Eine Sieben-Segment-Anzeige enthält acht LEDs, sieben für die Elemente a-g und den Dezimalpunkt. Es gibt sie mit gemeinsamer Anode oder mit gemeinsamer Kathode. Wir verwenden eine mit gemeinsamer Kathode.

Es gibt einen Chip, der aus dem Binärcode eine Ziffer der Sieben-Segment-Anzeige erzeugt, den 74HC4511.

An den Binärzähler in Bild 1 haben wir den 74HC4511 angeschlossen, der eine Sieben-Segment-Anzeige ansteuert.
Wir sehen die Codes an den Ausgängen Q0 bis Q3 auf den LEDs und die entsprechende Ziffer auf der Sieben-Segment-Anzeige.
Nach dem Reset zeigen die LED0 bis LED3 jeweils 0 an. Die Sieben-Segment-Anzeige zeigt die Ziffer 0.
Mit dem Taster lassen wir den Binärzähler weiterzählen. Die Codes von LED0 bis LED3 laufen entsprechend Tabelle 1 durch und die Sieben-Segment-Anzeige zeigt die zugeordnete Zahl.
Bei der 10 zeigt die Sieben-Segment-Anzeige nichts mehr an
Wie sollte sie auch. Die Anzeige kann nur eine Ziffer darstellen.
- Unsere Schaltung versagt völlig, wenn sie Zahlen über 9 darstellen soll.
- Wir könnten einen weiteren 74HC4511 einbauen, aber wo?
- An Q4 bis Q7. Wie aber, wenn der 74HC4511 schon bei Q0 bis Q3 versagt?
- Wir brauchen ein besseres Konzept.
BCD-Code
Die ersten zehn Codes des Binärzählers stellen nichts anderes als unsere Ziffern 0-9 dar.
0000 = 0 0001 = 1 0010 = 2 0011 = 3 0100 = 4 0101 = 5 0110 = 6 0111 = 7 1000 = 8 1001 = 9
Damit kann eine Dezimalstelle codiert werden.
Es können auch Dezimalzahlen codiert werden. Für jede Dezimalstelle wird einfach der obige Code eingetragen.
Für 27 tragen wir 0010 0111 ein. Für 1967 haben wir dann 0001 1001 0110 0111.
Wir haben die Lösung und nennen diesen Code BCD-Code, binär codierte Dezimalziffern.
Leider haben wir die Rechnung ohne den 4040 gemacht. Er zählt 0000 0001 .. 1000 1001 1010 ... Aber die 1010 ist nicht im BCD-Code. Der 4040 kennt den BCD-Code nicht.
Wir brauchen einen anderen Zähler-Chip, den 4518. Er kann zwei BCD-codierte Stellen zählen.

Unsere Schaltungen werden aufwendiger. Wir haben einen BCD-Zähler mit zwei Stellen. Er kann von 0 bis 99 zählen.
Der 4518 hat eigentlich zwei Takteingänge: CK und Enable.
- CK zählt bei einer ⭡-Flanke, wenn Enable=1 ist,
- Enable bei einer ⭣-Flanke, wenn CK=0 ist.
- U1B soll weiterzählen, wenn Q4 von U1A von 1 nach 0 geht, also mit der ⭣-Flanke.
- Deshalb ist bei U1B CK=0 und Enable an Q4 von U1A angeschlossen.
Wir schauen auf die erste Stelle und vergleichen den von LED1 bis LED4 angezeigten Code mit dem BCD-Code. Tatsächlich zählt der Zähler von 0000 bis 1001 und beginnt dann wieder bei 0000.
Binärcode

Zählweise der Ausgänge
Die Ausgänge des 4518 werden mit Q1 bis Q4 bezeichnet.
Die Zählung beginnt bei 1.
- Diese Inkonsistenz ist zwar ärgerlich, aber so ist es nun einmal.
Der Zähler kann mit vier Bits bis sechzehn zählen. Nach dem sechzehnten Schritt beginnt der Zähler wieder bei null. Jeder Zahl ist ein bestimmter Code zugeordnet. Wir können leicht erkennen, dass dem Ganzen eine gewisse Systematik zugrunde liegt.
Gewicht | 8 | 4 | 2 | 1 |
Zahl | Q4 | Q3 | Q2 | Q1 |
0 | 0 | 0 | 0 | 0 |
1 | 0 | 0 | 0 | 1 |
2 | 0 | 0 | 1 | 0 |
3 | 0 | 0 | 1 | 1 |
4 | 0 | 1 | 0 | 0 |
5 | 0 | 1 | 0 | 1 |
6 | 0 | 1 | 1 | 0 |
7 | 0 | 1 | 1 | 1 |
8 | 1 | 0 | 0 | 0 |
9 | 1 | 0 | 0 | 1 |
10 | 1 | 0 | 1 | 0 |
11 | 1 | 0 | 1 | 1 |
12 | 1 | 1 | 0 | 0 |
13 | 1 | 1 | 0 | 1 |
14 | 1 | 1 | 1 | 0 |
15 | 1 | 1 | 1 | 1 |
Tabelle 2: Gewichteter Code der vier Ausgänge
In Tabelle 2 ist jedem Q ein bestimmtes Gewicht zugeordnet.
Mit den Gewichten der Qs können wir die Anzahl der Takte berechnen.
Wir addieren die Gewichte einer Zeile. Immer wenn eine 1 unter einem Q steht, wird das Gewicht addiert.
Wir fangen mit der Zahl 0 an, alle Qs sind 0. Wir brauchen nichts zu addieren
das Ergebnis ist 0.
In der Zeile 8 ist nur Q4=1. Wir erhalten 8.
In der Zeile 5 haben wir Q1=1 und Q3=1 und erhalten 1+4=5.
Der Code sieht vereinfacht aus wie:
0000 = 0 0001 = 1 0010 = 2 0011 = 3 0100 = 4 0101 = 5 0110 = 6 0111 = 7 1000 = 8 1001 = 9 1010 = 10 1011 = 11 1100 = 12 1101 = 13 1110 = 14 1111 = 15
Dieser Code wird Binärcode genannt. Genau genommen handelt es sich um einen vierstelligen Binärcode.
Wir könnten diesen Code einfach erweitern, indem wir am Anfang eine weitere Stelle einfügen. Dann hätten wir einen fünfstelligen Code.
Uns reichen die vier Stellen. Um den Binärcode in Zahlen umzuwandeln, benutzen wir die Tabelle. Mit der Zeit können wir sie auswendig.

Dezimal-Code
Wir schreiben unsere Zahlen auch in einem Code.
- Die Anzahl der Finger einer Hand wird mit 5 codiert.
- Die Römer nahmen dafür V,
- Computer nehmen 0101,
- aber manchmal auch 5.
- Für unsere 11
- nehmen Computer 1011
- oder B.
- Wir verwenden den Dezimalcode mit den zehn Buchstaben 0, 1, 2, 3, 4, 5, 6, 7, 8, 9.
- Der Binärcode kennt nur die beiden Buchstaben 0 und 1.
- Computer verwenden auch den Hex-Code mit den sechzehn Buchstaben 0, 1, ... 9, A, B, C, D, E, F.
---Codierung
Die Codierung ist zunächst ungewohnt, wird uns aber mit der Zeit vertraut.