<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

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

          狀態(tài)機(jī)思路在單片機(jī)中的程序?qū)崿F(xiàn)

          作者: 時(shí)間:2012-07-10 來(lái)源:網(wǎng)絡(luò) 收藏
          2 多維狀態(tài)結(jié)構(gòu)

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

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

          狀態(tài)機(jī)思路在單片機(jī)中的程序?qū)崿F(xiàn)

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

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

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

          簡(jiǎn)單的才是最有效的。

          結(jié)束語(yǔ)

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


          上一頁(yè) 1 2 3 下一頁(yè)

          評(píng)論


          相關(guān)推薦

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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();