新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 狀態機思路在單片機中的程序實現

        狀態機思路在單片機中的程序實現

        作者: 時間:2012-07-10 來源:網絡 收藏
        2 多維狀態結構

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

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

        狀態機思路在單片機中的程序實現

        圖5 多維狀態機結構

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

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

        簡單的才是最有效的。

        結束語

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


        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 五原县| 灵宝市| 钟山县| 合川市| 波密县| 准格尔旗| 嘉善县| 长阳| 德阳市| 屏东市| 东兰县| 固始县| 东丰县| 永宁县| 贵定县| 惠东县| 淳安县| 扎鲁特旗| 清新县| 铁岭市| 夏邑县| 定兴县| 开封县| 马关县| 崇礼县| 拜泉县| 枣阳市| 临沧市| 永靖县| 土默特左旗| 秀山| 崇文区| 庄河市| 苏尼特右旗| 田阳县| 靖安县| 石门县| 蒙城县| 宁都县| 昌平区| 纳雍县|