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.

Schaltzeichen nach DIN EN 60617-12: links ein 4-Bit-Zähler CTR4 mit den Eingängen CT=0 (Rücksetzen), G1 (Freigabe) und 1+ (Zähleingang mit steigender Flanke) und den Ausgängen mit den Wertigkeiten 1, 2, 4 und 8; rechts ein 4-Bit-Schieberegister SRG4 mit Rücksetzeingang R, Takteingang C1/Pfeil, seriellem Dateneingang 1D und den Ausgängen Q1 bis Q4 (mit KI erstellt)

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.

Zählumfang und größte darstellbare Zahl von Dualzählern
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.

3-Bit-Asynchronzähler aus drei JK-Flipflops -K1 bis -K3 mit J = K = 1 und Takteingängen für die fallende Flanke; der Zähltakt C liegt nur an -K1, der Ausgang Q0 von -K1 taktet -K2, Q1 taktet -K3; Ausgänge Q0 (Wert 1), Q1 (Wert 2), Q2 (Wert 4) (mit KI erstellt)

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).

Impulsdiagramm des 3-Bit-Asynchronzählers über neun Takte: Q0 kippt bei jeder fallenden Flanke von C, Q1 bei jeder fallenden Flanke von Q0, Q2 bei jeder fallenden Flanke von Q1; darunter die Zählerstände 0 bis 7 und wieder 0 und 1 (mit KI erstellt)

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:

Zählrichtung eines Asynchronzählers
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.

3-Bit-Synchronzähler aus drei T-Flipflops -K1 bis -K3, deren Takteingänge gemeinsam am Zähltakt C liegen; T von -K1 liegt auf 1, T von -K2 an Q0, T von -K3 am Ausgang eines UND-Glieds -K4 aus Q0 und Q1 (mit KI erstellt)

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:

Eingänge und Ausgänge des Zählsymbols
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.

Modulo-6-Zähler: Zählerbaustein CTR4 -K1 mit Zähltakt C am Eingang + und den Ausgängen Q0 bis Q3; ein UND-Glied -K2 verknüpft Q1 und Q2 und führt auf den Rücksetzeingang CT=0; Rücksetzen bei Zählerstand 6 (mit KI erstellt)

So legst Du die Rücksetzlogik für einen Zählzyklus von 0 bis m - 1 fest (Teilerverhältnis m : 1):

  1. Den Zählerstand m dual schreiben, im Beispiel 6 = 0110_2.

  2. Alle Ausgänge, die bei m den Wert 1 haben, UND-verknüpfen: CT{=}0 = Q_2 \wedge Q_1.

  3. 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\ \%.

Impulsdiagramm des Modulo-6-Zählers über 14 Takte: Zählerstände 0 bis 5 und wieder 0 bis 5; Q2 ist jeweils zwei von sechs Taktperioden lang 1 (mit KI erstellt)

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.

Blockschaltbild eines Frequenzzählers: Das Messsignal gelangt über einen Impulsformer und eine Torschaltung (UND) zu einem BCD-Zähler, dessen Stand ein Speicher übernimmt und Decoder und Anzeige darstellen; ein Quarzoszillator mit Frequenzteiler speist die Ablaufsteuerung, die die Torzeit vorgibt, den Zähler zurücksetzt und den Speicher übernehmen lässt; daneben die Formel f_x = N / t_Tor (mit KI erstellt)
  1. Der Impulsformer (Verstärker mit Schmitt-Trigger) macht aus dem Messsignal saubere Rechteckimpulse.

  2. Die Zeitbasis aus Quarzoszillator und Frequenzteiler liefert die Torzeit t_\mathrm{Tor}, z. B. 1 s, 0,1 s oder 10 ms.

  3. 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).

  4. 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:

Zählerstand 4 527 in BCD-Dekadenzä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.

4-Bit-Schieberegister aus vier D-Flipflops -K1 bis -K4: serieller Dateneingang D_S an 1D von -K1, Q1 an 1D von -K2 und so weiter; alle Takteingänge gemeinsam am Schiebetakt C; parallele Ausgänge Q1 bis Q4 (mit KI erstellt)

Ein Beispiel: Das Register ist gelöscht, am Eingang liegen nacheinander die Bits 1, 0, 1, 1.

Ein 4-Bit-Schieberegister nimmt seriell die Bitfolge 1, 0, 1, 1 auf
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:

Zustandsfolge eines 3-Bit-Johnson-Zählers
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:

  1. Bit an den Dateneingang SER legen.

  2. Eine steigende Flanke an SRCLK (Schiebetakt) schiebt es ein; Schritt 1 und 2 für alle 8 (bzw. 16 …) Bits wiederholen.

  3. 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.

Ausgangsdaten zweier Schieberegister-Bausteine (Auszug aus den Datenblättern von Texas Instruments)
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:

Leitfragen

  1. 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“

  1. 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“

  1. 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“

  1. 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“

  1. 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“

  1. 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“

  1. 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“

  1. 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“

  1. 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“

  1. 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“

  1. 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“


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]

Kommentare gerne per Mastodon, Verbesserungsvorschläge per gitlab issue (siehe oben). Beitrag teilen: