狀態機(State Machine)是一種描述系統狀態變化的數學模型,主要用於表示有限個狀態以及這些狀態之間的轉移和動作。
狀態機由狀態寄存器和組合邏輯電路構成,能夠根據控制信號按照預先設定的狀態進行狀態轉移,是協調相關信號動作、完成特定操作的控制中心。在狀態機中,狀態(State)表示系統的離散化條件,如開或關;事件(Event)或轉移條件(Transition Condition)觸發狀態變化的條件;動作(Action)則是在特定狀態下執行的操作。狀態機被廣泛應用於電子工程、計算機科學、語言學等多箇領域,用於建模、系統設計、網絡協議等。
狀態機分爲摩爾(Moore)型狀態機和米莉(Mealy)型狀態機,根據電路的輸出是否與輸入有關,還可以進一步細分爲Mealy狀態機和Moore狀態機。