Zustandsmaschinen
Im dritten Semester haben unsere Studenten Zustandsmaschinen unter dem Begriff Automaten, genauer endliche Automaten, kennengelernt. Da waren es die 3 M's, Moore-, Mealy- und Medwedew-Automat, die sich anhand der Möglichkeiten bzw. Freiheitsgrade unterschieden. Die Zustandsmaschinen auf Basis eines Programms in einem Mikrocontroller haben im Vergleich dazu nahezu beliebige Freiheitsgrade.
Takt (Clock)
Die bekannten Automaten steuern Abläufe, die durch einen Takt angeregt werden. Dieser Takt wird bei einer programmgesteuerten Zustandsmaschine durch einen immer wiederkehrenden Start dargestellt. Betrachten wir die Zustandsmaschine als ein Unterprogramm, so wird dieses zyklisch, möglichst mit einer festen Frequenz, aufgerufen. Da ein Zustand (s.u.) durch ein bestimmtes Stück Programm dargestellt wird, muss beim Start eine entsprechende Verzweigung in den aktuellen bzw. neuen Zustand (s.u.) erfolgen. Das ist der Zustandsübergang.
Die Generierung eines entsprechenden Taktsignals im Programm kann auf mehrfache Weise erfolgen. Wir werden uns hier auf zwei grundsätzliche Methoden beschränken, dem zyklischen Aufruf in einer Endlosschleife und der Verwendung eines Zeitgebers (Timer).
Zustand und Zustandsübergang
Genau wie bei den bekannten Automaten wird mit dem Takt, hier also dem Aufruf der Zustandsmaschine, ein neuer Zustand definiert, der dann bis zum nächsten Takt (Aufruf) stabil bleibt. Bis zum Eintreffen des Taktes gilt der alte Zustand. Ein Zustandsübergang kann auch auf denselben Zustand erfolgen (Bild). Damit ist er über beliebig viele Takte (Aufrufe) gleich. Mit anderen Worten, die Dauer eines bestimmten Zustandes ist durch die Anwendung definiert.Es kann von Bedingungen abhängen, welcher Zustand als nächstes eingestellt wird. Damit sind hier grundsätzlich beliebige Zustandsübergänge möglich und der zeitliche Verlauf der Zustände ist von der Anwendung abhängig