新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 狀態(tài)機(jī)思路在單片機(jī)程序設(shè)計中的應(yīng)用

狀態(tài)機(jī)思路在單片機(jī)程序設(shè)計中的應(yīng)用

作者: 時間:2011-05-17 來源:網(wǎng)絡(luò) 收藏

2 多維結(jié)構(gòu)

結(jié)構(gòu)也可以是多維的。從不同的角度對系統(tǒng)進(jìn)行的劃分,這些狀態(tài)的某些特性是交叉的。比如,在按照按鍵和顯示劃分狀態(tài)的同時,又按照系統(tǒng)的工作進(jìn)程做出另一種狀態(tài)劃分。這兩種狀態(tài)劃分同時存在,相互交叉,從而構(gòu)成了二維的狀態(tài)結(jié)構(gòu)空間。

舉一個這方面的例子,如:空調(diào)遙控器,如圖5所示。

圖5 多維狀態(tài)機(jī)結(jié)構(gòu)

同樣,我們也可以構(gòu)建三維、四維甚至更多維的狀態(tài)結(jié)構(gòu)。每一維的狀態(tài)都需要用一個狀態(tài)變量(寄存器)來表示。

無論多級狀態(tài)結(jié)構(gòu)和多維狀態(tài)結(jié)構(gòu)看上去多么迷人,匠人的忠告是:我們依然要盡可能地簡化狀態(tài)結(jié)構(gòu),能用單級、單維的結(jié)構(gòu),就不要給自己找事,去玩那噩夢般的復(fù)雜結(jié)構(gòu)。

簡單的才是最有效的。

結(jié)束語

對狀態(tài)機(jī)的理解需要一個由淺入深的過程。這個過程應(yīng)該是與實踐和具體案例思考相結(jié)合的。當(dāng)一種良好的成為設(shè)計的習(xí)慣,它就能給設(shè)計者帶來回報。愿這篇手記里介紹的基于狀態(tài)機(jī)的編程能給新手們帶來一些啟迪,幫助大家找到“”的感覺。


上一頁 1 2 3 下一頁

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉