Aufgabenstellungen für Statemachines mit Lösungen
Bsp1) Steigende Flanke erkennen: einen Taste E1 wird gedrückt; geben Sie bei der steigenden Flanke einen Impuls für eine Taktperiode aus
Bsp2) Modulo2/3 UP/Down-Counter: der Zähler ist umschaltbar. Er zählt entweder 000-111-000-111... usw. oder 000-010-101-000-010-... usw. aufwärts oder abwärts
Bsp3) Codeschloss: bei Eingabe dere Codefolge 1000-0100-0010-0001 geht die wird das Schloss freigegeben (Ausgang OK=1), bei einem falschen Code wird ein Fehlerzustand erreicht und das Signal ER=1 ausgegeben. Es muss immer ein vierstelliger Code eingegeben werden, bevor der Endzustand erreicht wird (also auch im Fehlerfall)
Bsp: Ein Zähler zählt umschaltbar 0-3-6-7-5-0-3-6-7-5-... oder 0-6-3-0-6-3-...
Bsp: Stopp-Zähler: ein Zähler zählt 0-1-2-3-4-0-1-2-3- usw.
Er kann jederzeit durch eine Stopp-Taste angehalten werden. Solange die Stopp-Taste gedrückt ist, bleibt der Zähler stehen; wenn die Taste losgelassen wird, zählt er an der Stelle weiter, wo er angehalten wurde.
Bsp) Gegeben ist folgendes Timing-Diagramm
Lösung: siehe oben (Flankendetektor)
Bsp) Gegeben ist folgendes Timing-Diagramm
mit Lösung
kurze Erklärung: das Timing läuft mit dem Taktschlag ab; nachdem die Taste erkannt wurde geht das System in den Zustand S1 und gibt für MUTE=1 und MASK=0 aus; mit dem nächsten Taktschlag ist die Ausgabe MUTE=1,MASK=1; dann muss gewartet werden, weil sonst das Timing sofort wieder ablaufen würde, wenn die Taste immer noch gedrückt wäre