Durchgerechnetes Beispiel: eine Ampelsteuerung
← Alle Artikel

Durchgerechnetes Beispiel: eine Ampelsteuerung

5 Min

Drei Zustände, drei Lichter

Eine einfache Ampel durchläuft zyklisch genau drei Zustände — Grün, Gelb, Rot — immer in derselben Reihenfolge, immer angetrieben von irgendeinem Zeitsignal. Da das An/Aus-Muster jedes Lichts nur davon abhängt, in welchem Zustand sich der Automat befindet, und nie von einem zusätzlichen Eingang, ist dies ein Lehrbuch-Moore-Automat.

Die Zustände codieren

Zwei Bits reichen für drei Zustände:

  • Grün = 00, Gelb = 01, Rot = 10 (die vierte Kombination, 11, bleibt einfach ungenutzt) — gespeichert in einem 2-Bit-Register.
  • Folgezustandslogik: Grün (00) → Gelb (01), Gelb (01) → Rot (10), Rot (10) → Grün (00) — drei Übergänge, direkt von den aktuellen Zustandsbits zurück in den Registereingang verdrahtet, durch einen kleinen Block aus Gattern oder einen PLM-Block, der genau mit dieser Wahrheitstabelle konfiguriert ist.
GrünS1S0 = 00GelbS1S0 = 01RotS1S0 = 10

Ausgangslogik: vom Zustand zu den Lichtern

Jede der drei LEDs ist einfach eine Boolesche Funktion der beiden Zustandsbits — Grün = ¬S1·¬S0, Gelb = ¬S1·S0, Rot = S1·¬S0 — genau dieselbe One-Hot-Dekodierstruktur wie bei einem Dekoder, da die Ausgangslogik eines Moore-Automaten nichts weiter ist als kombinatorische Logik, die das Zustandsregister ausliest.

Probieren Sie es selbst

Bauen Sie das 2-Bit-Zustandsregister und die Folgezustandslogik im Schaltungseditor, takten Sie es mit einem langsamen CLOCK-Element und verdrahten Sie die drei Ausgangsgleichungen mit drei LED-Elementen — beobachten Sie, wie sie in einer Schleife Grün, Gelb, Rot, Grün durchlaufen, genau wie eine echte Ampel.

Die Ampelsteuerung im Schaltungseditor bauen →