Zähler, Frequenzteiler und Schieberegister: Zählerarten, Zählsymbol CTR, Rücksetzlogik, Frequenzmessung und Ausgangserweiterung
https://bildung.social/@oerinformatik/
https://oer-informatik.de/zaehler-schieberegister
Zähler, Asynchronzähler, Synchronzähler, Zählsymbol CTR, Rücksetzlogik, Frequenzteiler, PLL, Frequenzmessung, BCD-Zähler, Schieberegister, Johnson-Zähler, 74HC595
tl/dr; (ca. 24 min Lesezeit): Zähler und Schieberegister sind Ketten aus Flipflops. Dieser Artikel zeigt Schritt für Schritt, wie Du Zählumfang und Stufenzahl eines Dualzählers berechnest, Asynchron- und Synchronzähler an der Schaltung unterscheidest, das Zählsymbol CTR und die Zählfunktion einer SPS deutest, den Zählzyklus eines Zählers mit Rücksetzlogik bestimmst und ein gefordertes Teilerverhältnis einstellst, Frequenzen in Teilerketten und einer PLL berechnest, eine Frequenz digital misst und wie Schieberegister Daten seriell und parallel umsetzen und die Ausgänge eines Mikrocontrollers erweitern [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…
… Funktionsblöcke eines Blockschaltbilds (z. B. Netzteil, Mikrocontroller, Schieberegister, Treiber, Zähler) Bauelementen und Begriffen zuordnen.
… Ausgänge eines Mikrocontrollers mit Schieberegistern erweitern und die Eignung eines Schieberegister-Treibers (Source/Sink, Ausgangsstrom) aus dem Datenblatt prüfen.
… Zählumfang, größte darstellbare Zahl und Mindestzahl der Kippglieder eines Binärzählers berechnen.
… Synchron- und Asynchronzähler unterscheiden und die Zählerart einer Flipflop-Schaltung bestimmen.
… das Zählsymbol CTR mit Zähleingang, Rücksetzen und Freigabe sowie die Zählfunktion einer SPS deuten.
… den Zählzyklus eines Zählers mit Rücksetzlogik bestimmen, Zählerstände decodieren und die Rücksetzlogik für ein gefordertes Teilerverhältnis festlegen.
… Frequenz und Signalform am Ausgang von Frequenzteilern und Zählern bestimmen, Frequenzen in einer Teilerkette bzw. PLL berechnen und das Teilungsverhältnis aus einem Oszillogramm ermitteln.
… das Prinzip der digitalen Frequenzmessung erklären, die Frequenz aus Zählerstand und Torzeit berechnen und Bitmuster von Binär- und BCD-Zählern bestimmen.
… Schieberegister am Schaltzeichen SRG bzw. an der Flipflop-Schaltung erkennen, ihr Verhalten bei Schiebeimpulsen bestimmen und Seriell-Parallel- und Parallel-Seriell-Wandlung in Geräten zuordnen.
… Ringschieberegister und Johnson-Zähler analysieren.
Ein Drehgeber meldet die Stellung einer Welle, eine Verpackungsmaschine zählt Flaschen, ein Frequenzzähler zeigt 50,00 Hz an, und acht Leuchtdioden hängen an nur drei Pins eines Mikrocontrollers. Hinter all dem stecken Zähler und Schieberegister: Ketten aus Flipflops, die Impulse zählen, Frequenzen teilen oder Bits Stelle für Stelle weiterreichen.
Die Übungsaufgaben zu diesem Artikel findest Du unter Übungsaufgaben zu Zählern, Frequenzteilern und Schieberegistern. Der Artikel setzt die taktflankengesteuerten Flipflops und den Frequenzteiler 2 : 1 aus Flipflops und das Dualsystem und den BCD-Code aus Zahlensysteme und Codes voraus.
Schritt 1: Zählumfang und Stufenzahl eines Dualzählers
Ein Zähler ist ein Schaltwerk, das bei jedem Zählimpuls in den nächsten Zustand übergeht. Liest man die Ausgänge Q_0 (niederwertigstes Bit, Wertigkeit 1), Q_1 (Wertigkeit 2), Q_2 (Wertigkeit 4) … als Dualzahl, zählt ein Dualzähler (Binärzähler) 0, 1, 2, 3 … Jedes Bit braucht ein Kippglied (Flipflop). Mit n Kippgliedern gilt:
Zählumfang (Anzahl der Zustände): Z = 2^n
größte darstellbare Zahl: Z_\mathrm{max} = 2^n - 1, danach beginnt der Zähler wieder bei 0 (Überlauf)
Umgekehrt bestimmst Du die Mindestzahl der Kippglieder für eine geforderte größte Zahl N: Es muss 2^n - 1 \geq N sein, also
n \geq \log_2 (N + 1) = \frac{\lg (N + 1)}{\lg 2}
und n wird auf die nächste ganze Zahl aufgerundet.
| Kippglieder n | Zählumfang 2^n | größte Zahl 2^n - 1 |
|---|---|---|
| 4 | 16 | 15 |
| 8 | 256 | 255 |
| 10 | 1 024 | 1 023 |
| 12 | 4 096 | 4 095 |
| 16 | 65 536 | 65 535 |
Beispiel: Ein Drehgeber liefert 100 Impulse je Umdrehung. Ein Zähler soll die Stellung über drei volle Umdrehungen erfassen, also bis 300 zählen. \log_2 301 \approx 8{,}23, aufgerundet n = 9 Kippglieder. Acht reichen nicht: Sie zählen nur bis 255.
Schritt 2: Asynchronzähler
Den einfachsten Zähler kennst Du schon als Frequenzteiler aus dem Artikel Flipflops: Flipflops im Toggle-Betrieb, bei denen der Ausgang des einen den Takt des nächsten liefert.
Nur das erste Flipflop erhält den Zähltakt. Jedes weitere kippt, wenn das vorherige von 1 auf 0 geht – genau dann entsteht beim Dualzählen ein Übertrag auf die nächste Stelle. Weil die Flipflops nicht gleichzeitig, sondern nacheinander schalten, heißt dieser Zähler Asynchronzähler (auch Ripple-Counter).
Zählrichtung bestimmen: Ob ein Asynchronzähler vorwärts oder rückwärts zählt, hängt von der wirksamen Flanke und vom Ausgang ab, der die nächste Stufe taktet:
| wirksame Flanke der Flipflops | nächste Stufe getaktet von | Zählrichtung |
|---|---|---|
| fallend (Kreis vor dem Dreieck) | Q | vorwärts |
| fallend | \overline{Q} | rückwärts |
| steigend (Dreieck ohne Kreis) | \overline{Q} | vorwärts |
| steigend | Q | rückwärts |
Überlege es Dir an der zweiten Zeile: Bei fallender Flanke an \overline{Q_0} steigt Q_0 von 0 auf 1. Beim Vorwärtszählen ist das gerade kein Übertrag, beim Rückwärtszählen (… 2, 1, 0, 7 …) aber schon.
Nachteil: Jede Stufe schaltet erst nach der Laufzeit t_\mathrm{pd} der vorherigen. Beim Übergang von 3 (011) auf 4 (100) erscheinen deshalb für einige Nanosekunden die Zwischenstände 2 und 0, bevor 4 anliegt. Hängt an den Ausgängen eine Decodierung, kann sie auf diese Spikes reagieren. Mit wachsender Stufenzahl addieren sich die Laufzeiten; bei hohen Taktfrequenzen ist der Zählerstand dann noch nicht eingeschwungen, wenn schon der nächste Takt kommt.
Schritt 3: Synchronzähler
Beim Synchronzähler erhalten alle Flipflops denselben Takt und schalten gleichzeitig. Welches Flipflop bei einer Flanke kippt, legt eine Verknüpfung vor den Vorbereitungseingängen fest: Eine Stelle kippt beim Vorwärtszählen genau dann, wenn alle niederwertigeren Stellen 1 sind.
T_0 = 1 \qquad T_1 = Q_0 \qquad T_2 = Q_0 \wedge Q_1
Mit JK-Flipflops gilt dasselbe für J = K. Synchronzähler haben keine Laufzeitkette und keine Zwischenzustände, brauchen aber zusätzliche Gatter. Zählerbausteine wie der 74HC163 und die Zähler in Mikrocontrollern arbeiten synchron.
Zählerart einer Schaltung bestimmen:
Asynchron: Der Zähltakt liegt nur am ersten Flipflop; die Takteingänge der übrigen hängen an Ausgängen (Q oder \overline{Q}) vorheriger Flipflops.
Synchron: Alle Takteingänge sind miteinander und mit dem Zähltakt verbunden; vor den Vorbereitungseingängen (J, K, T oder D) liegen Verknüpfungen der Ausgänge.
Schritt 4: Das Zählsymbol CTR und die Zählfunktion der SPS
Zählerbausteine im Funktionsplan
In Schaltplänen und Funktionsplänen steht ein Zählerbaustein als Rechteck mit der Kennzeichnung CTR (Counter). Die Ziffer dahinter gibt die Zahl der Bits an (CTR4), alternativ CTRDIV16 das Teilerverhältnis bzw. den Zählumfang. Die Eingänge sind nach DIN EN 60617-12 gekennzeichnet:
| Kennzeichnung | Bedeutung | Wirkung |
|---|---|---|
| + (mit Dreieck) | Vorwärts-Zähleingang | zählt bei jeder steigenden Flanke um 1 weiter |
| − (mit Dreieck) | Rückwärts-Zähleingang | zählt bei jeder steigenden Flanke um 1 zurück |
| CT=0 bzw. R | Rücksetzen | setzt den Zählerstand auf 0, solange der Eingang 1 ist |
| G1, EN | Freigabe (Enable) | Eingänge mit der Kennziffer 1 (z. B. „1+“) wirken nur, wenn G1 = 1 ist |
| M1, 3D | Betriebsart „Laden“, Ladeeingänge | übernimmt beim Laden einen Startwert (Voreinstellung) |
| [1] [2] [4] [8] | Ausgänge mit Wertigkeit | Zählerstand als Dualzahl |
| CT=15 | Übertragsausgang | wird 1, wenn der Zählerstand 15 erreicht ist |
Ist die Freigabe 0, ignoriert der Zähler die Taktflanken und hält seinen Stand. Der Rücksetzeingang wirkt meist sofort und unabhängig vom Takt (asynchron, ohne Ziffernbezug zum Takt); manche Bausteine setzen nur mit der nächsten Taktflanke zurück (synchrones Rücksetzen, z. B. „1CT=0“). Das Datenblatt verrät, was gilt.
Zählfunktion einer SPS
In einer SPS stehen Zähler als Funktionsbausteine nach IEC 61131-3 zur Verfügung: CTU (vorwärts), CTD (rückwärts) und CTUD (vorwärts/rückwärts). Am Beispiel CTU:
CU (Count Up): Jede steigende Flanke erhöht den Zählwert um 1.
R (Reset): setzt den Zählwert auf 0 zurück; hat Vorrang vor CU.
PV (Preset Value): Vorgabewert, z. B. 24 Flaschen je Kasten.
CV (Current Value): aktueller Zählwert.
Q: wird 1, sobald CV \geq PV ist.
Beim CTD lädt der Eingang LD den Vorgabewert, CD zählt rückwärts, und Q wird 1, sobald CV \leq 0 ist. Die SPS erkennt nur Flanken, die länger als ein Programmzyklus anliegen; für schnelle Impulse (z. B. von Drehgebern) gibt es eigene Schnellzählereingänge.
Schritt 5: Zähler mit Rücksetzlogik
Ein Dualzähler mit n Stufen zählt immer bis 2^n - 1. Oft braucht man aber einen anderen Zählzyklus, etwa 0 bis 5 für einen Würfel oder 0 bis 9 für eine Dezimalstelle. Dazu decodiert man den ersten Zählerstand, der nicht mehr vorkommen soll, und führt ihn auf den Rücksetzeingang.
So legst Du die Rücksetzlogik für einen Zählzyklus von 0 bis m - 1 fest (Teilerverhältnis m : 1):
Den Zählerstand m dual schreiben, im Beispiel 6 = 0110_2.
Alle Ausgänge, die bei m den Wert 1 haben, UND-verknüpfen: CT{=}0 = Q_2 \wedge Q_1.
Prüfen, dass kein Zählerstand vor m diese Bedingung schon erfüllt. Weil der Zähler von 0 aufwärts zählt, ist m der erste Stand, bei dem alle diese Bits 1 sind.
Bei sofort wirkendem Rücksetzen liegt der Zählerstand m nur für die Laufzeit von Gatter und Zähler an (ein kurzer Nadelimpuls). Der Zählzyklus ist deshalb 0 bis m - 1: Beim Modulo-6-Zähler 0, 1, 2, 3, 4, 5, 0, … Bei synchronem Rücksetzen wirkt der Rücksetzbefehl erst mit der nächsten Flanke; dann decodiert man den letzten gewünschten Stand (m - 1, beim Modulo-6-Zähler also 5).
Den Zählzyklus einer gegebenen Schaltung bestimmst Du umgekehrt: Aus den Ausgängen am UND-Glied den Rücksetzstand ablesen (Q_2 = Q_1 = 1 → 4 + 2 = 6), dann ist der Zyklus 0 bis 5, das Teilerverhältnis 6 : 1.
Zählerstände decodieren: Soll eine Leuchte genau bei einem bestimmten Zählerstand leuchten, verknüpfst Du alle Ausgänge UND, die Nullen negiert. Für den Stand 5 (101_2) eines 3-Bit-Zählers: Y = Q_2 \wedge \overline{Q_1} \wedge Q_0. Lässt Du eine Stelle weg, ist die Decodierung nur dann eindeutig, wenn die übrigen Stände im Zählzyklus nicht vorkommen.
Auf Platinen ist die Rücksetzlogik oft über Jumper oder DIP-Schalter wählbar: Je nach Steckbrücke gelangen andere Ausgänge an das UND-Glied, und damit ändert sich das Teilerverhältnis.
Schritt 6: Frequenzen, Signalformen und Teilerketten
Frequenz und Signalform am Zählerausgang
Ein Zähler mit dem Zählzyklus 0 bis m - 1 durchläuft je m Taktimpulse einen vollen Zyklus. Jeder Ausgang, der in diesem Zyklus einmal ein- und ausschaltet, liefert deshalb
f_\mathrm{aus} = \frac{f_\mathrm{ein}}{m}
Die Signalform ist ein Rechteck, aber nur bei Zweierpotenzen symmetrisch. Am Modulo-6-Zähler ist Q_2 in den Ständen 4 und 5 gleich 1, also 2 von 6 Takten: Tastgrad g = 2/6 \approx 33{,}3\ \%.
Mit f_\mathrm{ein} = 1{,}2\ \mathrm{kHz} liefert Q_2 also 1{,}2\ \mathrm{kHz} / 6 = 200\ \mathrm{Hz} mit T = 5\ \mathrm{ms}, davon 1{,}67\ \mathrm{ms} High. Q_0 schaltet dagegen nicht einmal je Zyklus, sondern bei jedem Takt um – es liefert f_\mathrm{ein}/2.
Weitere Glieder hinter dem Teiler: Ein Inverter ändert die Frequenz nicht, er tauscht nur High- und Low-Zeit (g_\mathrm{neu} = 1 - g). Ein Monoflop (siehe Kippstufen und Timer) erzeugt je Auslöseflanke einen Impuls der Dauer t_i; solange t_i kleiner als die Periodendauer ist, bleibt die Frequenz gleich, und der Tastgrad wird g = t_i / T.
Teilerketten
Hintereinandergeschaltete Teiler multiplizieren ihre Teilerverhältnisse:
f_\mathrm{aus} = \frac{f_\mathrm{ein}}{m_1 \cdot m_2 \cdot m_3 \cdots}
Beispiel: Ein Quarzoszillator mit 10 MHz und sieben Dekadenteiler (je 10 : 1) liefern 10\ \mathrm{MHz} / 10^7 = 1\ \mathrm{Hz} – die Zeitbasis eines Frequenzzählers.
Teilungsverhältnis aus dem Oszillogramm
Zeigt ein Zweikanal-Oszilloskop Eingang und Ausgang eines Teilers, liest Du die Periodendauern in Teilen (Kästchen) ab und multiplizierst mit der Zeitablenkung. Das Teilungsverhältnis ist
m = \frac{T_\mathrm{aus}}{T_\mathrm{ein}} = \frac{f_\mathrm{ein}}{f_\mathrm{aus}}
Genauer wird es, wenn Du die Eingangsperioden zählst, die in eine Ausgangsperiode passen.
Programmierbare Teiler und PLL
Ein programmierbarer Teiler ist ein Zähler, dessen Endwert sich laden lässt, zum Beispiel ein Rückwärtszähler, der mit N geladen wird, bis 0 zählt, einen Ausgangsimpuls abgibt und sich neu lädt. Er teilt durch N.
In einer PLL (Phase-Locked Loop, Phasenregelschleife) steht ein solcher Teiler in der Rückführung: Ein spannungsgesteuerter Oszillator (VCO) erzeugt f_\mathrm{VCO}, der Teiler teilt sie durch N, und ein Phasenvergleicher regelt den VCO so nach, dass f_\mathrm{VCO}/N genau gleich der Referenzfrequenz ist. Teilt ein weiterer Teiler die Quarzfrequenz vorher durch R, gilt
f_\mathrm{ref} = \frac{f_\mathrm{Quarz}}{R} \qquad f_\mathrm{VCO} = N \cdot f_\mathrm{ref}
Beispiel: f_\mathrm{Quarz} = 1\ \mathrm{MHz}, R = 100 ergibt f_\mathrm{ref} = 10\ \mathrm{kHz}; mit N = 1\,600 schwingt der VCO auf 16 MHz. Ändert man N um 1, springt die Ausgangsfrequenz um 10 kHz – so stellen Funkempfänger und Taktgeneratoren ihre Frequenz in festen Schritten ein.
Schritt 7: Digitale Frequenzmessung
Ein Frequenzzähler zählt die Perioden eines Signals während einer genau bekannten Torzeit.
Der Impulsformer (Verstärker mit Schmitt-Trigger) macht aus dem Messsignal saubere Rechteckimpulse.
Die Zeitbasis aus Quarzoszillator und Frequenzteiler liefert die Torzeit t_\mathrm{Tor}, z. B. 1 s, 0,1 s oder 10 ms.
Die Ablaufsteuerung setzt den Zähler zurück und öffnet dann für t_\mathrm{Tor} die Torschaltung (ein UND-Glied: Messimpulse UND Tor offen).
Der Zähler zählt die N Impulse, die das Tor durchlassen. Nach dem Schließen übernimmt der Speicher den Zählerstand, damit die Anzeige während der nächsten Messung ruhig bleibt.
Die gemessene Frequenz ist
f_x = \frac{N}{t_\mathrm{Tor}}
Beispiel: In t_\mathrm{Tor} = 0{,}1\ \mathrm{s} werden N = 4\,527 Impulse gezählt: f_x = 4\,527 / 0{,}1\ \mathrm{s} = 45\,270\ \mathrm{Hz} = 45{,}27\ \mathrm{kHz}.
Weil Torzeit und Messsignal nicht synchron sind, kann der Zählerstand um einen Impuls schwanken (±1 Digit). Die Auflösung ist 1/t_\mathrm{Tor}, hier 10 Hz. Eine längere Torzeit erhöht die Auflösung, verlängert aber die Messung. Für sehr kleine Frequenzen misst man deshalb besser die Periodendauer: Dann zählt der Zähler die Impulse der Zeitbasis während einer Periode des Messsignals.
BCD-Zähler: Damit die Anzeige einfach wird, zählt ein Frequenzzähler meist dezimal. Jede Dezimalstelle ist ein Dekadenzähler (Modulo-10-Zähler, 0000 bis 1001) im BCD-Code; sein Übertrag beim Wechsel von 9 auf 0 taktet die nächste Dekade. Der Zählerstand 4 527 steht dann als vier Tetraden in den Zählern:
| Dekade | Tausender | Hunderter | Zehner | Einer |
|---|---|---|---|---|
| Ziffer | 4 | 5 | 2 | 7 |
| BCD (Q_3 Q_2 Q_1 Q_0) | 0100 | 0101 | 0010 | 0111 |
Ein Dualzähler würde denselben Stand als 1000110101111_2 speichern – kürzer, aber für die Anzeige erst umzurechnen. Mit Ladeeingängen lässt sich ein Zähler auch voreinstellen: Ein Rückwärtszähler, der mit 0024 geladen wird, meldet nach 24 Impulsen den Stand 0000.
Schritt 8: Schieberegister
Aufbau und Verhalten bei Schiebeimpulsen
Ein Schieberegister ist eine Kette aus D-Flipflops mit gemeinsamem Takt. Der Ausgang jedes Flipflops liegt am D-Eingang des nächsten. Bei jeder wirksamen Taktflanke übernimmt jedes Flipflop den Wert seines Vorgängers: Der Inhalt rückt um eine Stelle weiter, und am seriellen Eingang D_S kommt ein neues Bit hinein.
Ein Beispiel: Das Register ist gelöscht, am Eingang liegen nacheinander die Bits 1, 0, 1, 1.
| nach Schiebeimpuls | D_S vor der Flanke | Q_1 | Q_2 | Q_3 | Q_4 |
|---|---|---|---|---|---|
| 0 (gelöscht) | – | 0 | 0 | 0 | 0 |
| 1 | 1 | 1 | 0 | 0 | 0 |
| 2 | 0 | 0 | 1 | 0 | 0 |
| 3 | 1 | 1 | 0 | 1 | 0 |
| 4 | 1 | 1 | 1 | 0 | 1 |
Das zuerst eingeschobene Bit steht nach vier Impulsen ganz hinten bei Q_4. Weitere Impulse schieben es hinaus; es geht verloren, wenn Q_4 nicht weitergeführt wird.
Die Führung des Schiebetakts ist entscheidend: Alle Flipflops liegen am selben Takt und sind flankengesteuert. So übernimmt jedes Flipflop den alten Wert seines Vorgängers, bevor dieser sich ändert. Mit zustandsgesteuerten Latches würde ein Bit während C = 1 durch die ganze Kette laufen.
Schaltzeichen SRG
Im Schaltzeichen steht SRG mit der Bitzahl (SRG4, SRG8). Der Takteingang heißt C1/→: C1 ist der Takt, der Pfeil zeigt die Schieberichtung (→ von Q_1 nach Q_4, ← umgekehrt). Der serielle Eingang 1D wird von C1 gesteuert. Hinzu kommen je nach Baustein Rücksetzen (R), Laden (M1, M2 für die Betriebsart) und parallele Ladeeingänge.
Seriell-Parallel- und Parallel-Seriell-Wandlung
Seriell-Parallel (SIPO, Serial In – Parallel Out): Bits kommen nacheinander über eine Leitung herein und stehen nach n Impulsen gleichzeitig an n Ausgängen. Anwendung: Empfänger einer seriellen Schnittstelle (UART, SPI), Ausgangserweiterung eines Mikrocontrollers, Ansteuerung von LED-Anzeigen.
Parallel-Seriell (PISO, Parallel In – Serial Out): Ein Ladeimpuls übernimmt n parallele Eingänge gleichzeitig; danach schiebt der Takt sie Bit für Bit über eine Leitung hinaus. Anwendung: Sender einer seriellen Schnittstelle, Einlesen vieler Taster oder Endschalter über wenige Pins (z. B. 74HC165), Tastaturabfrage.
Ein PISO-Register hat zwei Betriebsarten, umgeschaltet über einen Eingang wie SH/\overline{LD}: Laden (parallel übernehmen) und Schieben. Nach dem Laden liegt das letzte Bit sofort am seriellen Ausgang; jeder Schiebeimpuls bringt das nächste.
Ringschieberegister und Johnson-Zähler
Führt man den letzten Ausgang auf den seriellen Eingang zurück, entsteht ein Ringschieberegister: Der Inhalt läuft im Kreis. Lädt man eine einzige 1 hinein, wandert sie bei jedem Takt eine Stelle weiter – ein Ringzähler (Lauflicht) mit n Zuständen bei n Flipflops, bei dem jeder Zustand ohne Decodierung genau einen Ausgang aktiviert.
Führt man den letzten Ausgang negiert zurück, entsteht der Johnson-Zähler. Aus dem gelöschten Zustand füllt er sich von vorn mit Einsen und dann wieder mit Nullen:
| Takt | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
|---|---|---|---|---|---|---|---|---|---|
| Q_1 Q_2 Q_3 | 000 | 100 | 110 | 111 | 011 | 001 | 000 | 100 | 110 |
Ein Johnson-Zähler mit n Flipflops hat 2n Zustände und teilt die Taktfrequenz an jedem Ausgang durch 2n, mit einem Tastgrad von 50 %. Benachbarte Zustände unterscheiden sich nur in einem Bit; das macht die Decodierung mit 2-Eingangs-Gattern störsicher.
Schritt 9: Ausgänge eines Mikrocontrollers erweitern
Ein Mikrocontroller hat oft zu wenige Pins. Mit einem SIPO-Schieberegister wie dem 74HC595 steuern drei Pins acht Ausgänge, und weil sich mehrere Bausteine kaskadieren lassen (Ausgang Q_H' auf den Dateneingang des nächsten), auch 16, 24 oder mehr.
Der 74HC595 hat hinter dem Schieberegister ein Ausgangsregister (Latch). Die Ausgänge ändern sich deshalb erst, wenn alle Bits eingeschoben sind:
Bit an den Dateneingang SER legen.
Eine steigende Flanke an SRCLK (Schiebetakt) schiebt es ein; Schritt 1 und 2 für alle 8 (bzw. 16 …) Bits wiederholen.
Eine steigende Flanke an RCLK (Übernahmetakt) übernimmt alle Bits gleichzeitig an die Ausgänge Q_A bis Q_H.
Ohne Ausgangsregister würden angeschlossene LEDs oder Relais während des Schiebens flackern.
Eignung des Treibers aus dem Datenblatt prüfen
Ob ein Schieberegister die Last direkt treiben kann, entscheiden zwei Angaben im Datenblatt:
Source oder Sink: Ein Push-Pull-Ausgang kann Strom liefern (Source, Last zwischen Ausgang und Masse) und aufnehmen (Sink, Last zwischen Versorgung und Ausgang). Ein Open-Drain-Ausgang (Low-Side-Schalter) kann nur aufnehmen: Die Last liegt dann zwischen einer eigenen Versorgung und dem Ausgang.
Ausgangsstrom: der Strom je Ausgang und der Summenstrom über die Versorgungs- bzw. Masseanschlüsse.
| Merkmal | 74HC595 | TPIC6B595 |
|---|---|---|
| Ausgangsart | Push-Pull (Source und Sink) | Open-Drain, nur Sink (DMOS-Low-Side) |
| Ausgangsstrom, für den die Pegel garantiert sind | 6 mA je Ausgang (bei 4,5 V) | – |
| Grenzwert je Ausgang (absolut) | ±35 mA | 150 mA Dauerstrom (Impuls 500 mA) |
| Grenzwert Summe über V_\mathrm{CC} bzw. GND | ±70 mA | – |
| Spannung an der Last | höchstens V_\mathrm{CC} (2 … 6 V) | bis 50 V |
Daraus folgt zum Beispiel: Acht LEDs mit je 5 mA kann ein 74HC595 direkt treiben (40 mA Summe). Acht Relais mit je 80 mA bei 12 V kann er nicht – weder Strom noch Spannung passen. Ein TPIC6B595 schaltet sie gegen Masse, die Relaisspulen liegen zwischen +12 V und den Ausgängen (Freilaufdioden nicht vergessen). Alternativ folgt dem 74HC595 ein eigener Treiberbaustein (Transistor-Array). Die Absolutgrenzwerte sind keine Betriebswerte: Ausgelegt wird auf die Werte, für die das Datenblatt die Pegel garantiert, mit Reserve.
Wie geht es weiter?
Zähler und Schieberegister stecken in jedem Mikrocontroller, jeder Schnittstelle und jedem Messgerät:
Aufgaben zu allen Schritten dieses Artikels: Übungsaufgaben zu Zählern, Frequenzteilern und Schieberegistern
Taktflankengesteuerte Flipflops, Impulsdiagramme und Frequenzteiler 2 : 1: Flipflops
Dualzahlen, BCD-Code und 7-Segment-Anzeige: Zahlensysteme und Codes
Monoflop, astabile Kippstufe und Schmitt-Trigger: Kippstufen und Timer
Zähler als Funktionsbausteine: SPS-Grundlagen
Speicherzellen und Adressierung: Halbleiterspeicher
Leitfragen
- Wie viele Kippglieder braucht ein Dualzähler, der bis 1 000 zählen soll?
2^n - 1 \geq 1\,000 verlangt n \geq \log_2 1\,001 \approx 9{,}97, also 10 Kippglieder (größte Zahl 1 023). siehe Abschnitt „Schritt 1: Zählumfang und Stufenzahl eines Dualzählers“
- Woran erkennst Du an einer Flipflop-Schaltung, ob ein Asynchron- oder ein Synchronzähler vorliegt?
Beim Asynchronzähler liegt der Zähltakt nur am ersten Flipflop, die anderen werden von Ausgängen der vorherigen getaktet. Beim Synchronzähler liegen alle Takteingänge am gemeinsamen Takt, vor den Vorbereitungseingängen sitzen Verknüpfungen. siehe Abschnitt „Schritt 3: Synchronzähler“
- Warum können an einem Asynchronzähler Spikes entstehen?
Die Flipflops schalten nacheinander, jeweils um die Laufzeit verzögert. Beim Übergang z. B. von 3 auf 4 erscheinen kurz die Zwischenstände 2 und 0, auf die eine Decodierung reagieren kann. siehe Abschnitt „Schritt 2: Asynchronzähler“
- Was bewirken die Eingänge CT=0, G1 und 1+ am Zählsymbol?
CT=0 setzt den Zählerstand auf 0, 1+ zählt bei jeder steigenden Flanke vorwärts, aber nur, wenn die Freigabe G1 = 1 ist. siehe Abschnitt „Zählerbausteine im Funktionsplan“
- Wie legst Du die Rücksetzlogik für ein Teilerverhältnis 10 : 1 fest, und welchen Zählzyklus ergibt das?
10 = 1010_2, also CT{=}0 = Q_3 \wedge Q_1 bei sofort wirkendem Rücksetzen. Der Zähler zählt 0 bis 9. siehe Abschnitt „Schritt 5: Zähler mit Rücksetzlogik“
- Welche Frequenz und welchen Tastgrad liefert Q_2 eines Modulo-6-Zählers bei 3 kHz Takt?
3\ \mathrm{kHz} / 6 = 500\ \mathrm{Hz}; Q_2 ist in den Ständen 4 und 5 gleich 1, Tastgrad 2/6 \approx 33\ \%. siehe Abschnitt „Frequenz und Signalform am Zählerausgang“
- Wie hängt in einer PLL die Ausgangsfrequenz von Referenzfrequenz und Teiler ab?
Die Regelung hält f_\mathrm{VCO}/N = f_\mathrm{ref}, also f_\mathrm{VCO} = N \cdot f_\mathrm{ref}. siehe Abschnitt „Programmierbare Teiler und PLL“
- Wie misst ein Frequenzzähler eine Frequenz, und was bestimmt seine Auflösung?
Er zählt die Impulse N während der Torzeit t_\mathrm{Tor}: f_x = N / t_\mathrm{Tor}. Die Auflösung ist 1/t_\mathrm{Tor}, der Zählerstand kann um ±1 schwanken. siehe Abschnitt „Schritt 7: Digitale Frequenzmessung“
- Worin unterscheiden sich ein SIPO- und ein PISO-Schieberegister, und wo werden sie eingesetzt?
SIPO nimmt Bits seriell auf und gibt sie parallel aus (Empfänger, Ausgangserweiterung), PISO übernimmt parallele Eingänge und schiebt sie seriell hinaus (Sender, Einlesen vieler Taster). siehe Abschnitt „Seriell-Parallel- und Parallel-Seriell-Wandlung“
- Wie viele Zustände hat ein Johnson-Zähler aus 4 Flipflops?
2n = 8 Zustände; jeder Ausgang liefert die Taktfrequenz geteilt durch 8 mit 50 % Tastgrad. siehe Abschnitt „Ringschieberegister und Johnson-Zähler“
- Warum kann ein TPIC6B595 Relais mit 12 V schalten, ein 74HC595 aber nicht?
Der 74HC595 liefert nur wenige mA je Ausgang und höchstens seine Versorgungsspannung. Der TPIC6B595 hat Open-Drain-Ausgänge (Sink) für 150 mA und bis 50 V; die Last liegt zwischen eigener Versorgung und Ausgang. siehe Abschnitt „Eignung des Treibers aus dem Datenblatt prüfen“
Links und weitere Informationen
als Nachschlagewerk: Wikipedia: Zähler (Digitaltechnik)
zu Schieberegistern: Wikipedia: Schieberegister
zur PLL: Wikipedia: Phasenregelschleife
Datenblatt 74HC595: Texas Instruments: SN74HC595
Datenblatt TPIC6B595: Texas Instruments: TPIC6B595
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: “Zähler, Frequenzteiler und Schieberegister: Zählerarten, Zählsymbol CTR, Rücksetzlogik, Frequenzmessung und Ausgangserweiterung” von oer-informatik.de (H. Stein), Lizenz: CC BY 4.0. Der Artikel wurde unter https://oer-informatik.de/zaehler-schieberegister 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]
