有限狀態(tài)機在嵌入式系統(tǒng)中的實現(xiàn)及應用
(作者未知) 2012/1/15
【摘要】如何使嵌入式軟件代碼更加可靠, 增強程序的可維護性, 一直以來都是嵌入式程序員追求的目標。論述了有限狀態(tài)機的原理和其實現(xiàn)方法; 采用狀態(tài)機方法編寫了一個按鍵掃描程序, 介紹了狀態(tài)機編程在嵌入式系統(tǒng)中的實際應用和優(yōu)點。
【關鍵字】有限狀態(tài)機( FSM) ; 嵌入式系統(tǒng); 按鍵掃描
引言
從20 世紀70 年代世界上第一個為嵌入式應用而設計的微處理器Intel 4004 誕生以來, 嵌入式系統(tǒng)( embedded system)已經(jīng)發(fā)展了30 多年, 目前已經(jīng)在工業(yè)生產(chǎn)智能化、自動化生產(chǎn)、汽車電子、消費電子等各個領域得到越來越多的應用。部分技術人員通過引入嵌入式操作系統(tǒng)來解決問題, 但是運行嵌入式系統(tǒng)操作系統(tǒng)需要大量的硬件資源。然而對于部分資源較少的單片機, 根本無法完成嵌入式操作系統(tǒng)的移植, 如果更換資源更多的芯片, 又將帶來硬件成本的增加。
為了解決這些問題, 筆者將有限狀態(tài)機的理論應用到嵌入式軟件的開發(fā)實踐中, 通過實踐發(fā)現(xiàn)有限狀態(tài)機技術的引入,程序結構變得非常清晰, 大大降低了嵌入式軟件開發(fā)的難度。
在此, 筆者將該技術作一介紹, 供同行參考。
1 有限狀態(tài)機的基本原理
對于電子技術和電子工程類的讀者, 最先接觸和使用到的狀態(tài)機應該是在數(shù)字邏輯電路課程中, 狀態(tài)機的思想和分析方法被應用于時序邏輯設計。其實, 有限狀態(tài)機( Finite StateMachie, FSM) 作為計算機的基礎理論最早被應用于編譯器的句法分析和語言識別。
有限狀態(tài)機由有限的狀態(tài)及其相互之間的轉移構成, 在任意時刻t 機器只能處于給定數(shù)目狀態(tài)中的一個。當在某一瞬時t 機器接收到一個輸入事件時, 狀態(tài)機產(chǎn)生一個輸出, 同時也可能伴隨著狀態(tài)的轉移。狀態(tài)的轉移和輸出信號不僅與輸入有關, 而且與機器在前一瞬間的狀態(tài)有關。一個簡單的有限狀態(tài)機在數(shù)學上可以描述如下:
.......
附件下載:點擊下載查閱全文
|