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

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 單片機(jī)的冷熱啟動(dòng)問(wèn)題

          單片機(jī)的冷熱啟動(dòng)問(wèn)題

          作者: 時(shí)間:2016-11-24 來(lái)源:網(wǎng)絡(luò) 收藏
          單片機(jī)系統(tǒng)的實(shí)際應(yīng)用中,常把單片機(jī)系統(tǒng)的復(fù)位分為冷啟動(dòng)和熱啟動(dòng)。所謂冷啟動(dòng),也就是一般所說(shuō)的上電復(fù)位。冷啟動(dòng)后片內(nèi)外RAM的內(nèi)容是隨機(jī)的,所以應(yīng)先根據(jù)系統(tǒng)的要求,利用啟動(dòng)程序?qū)⒛承?p>內(nèi)部RAM或外部RAM初始化到某個(gè)特定狀態(tài)。比如在某些存儲(chǔ)單元清零,或設(shè)置運(yùn)算標(biāo)志,然后再轉(zhuǎn)入正常運(yùn)行。單片機(jī)的熱啟動(dòng)是通過(guò)外部電路給運(yùn)行中的單片機(jī)的/RST端一復(fù)位電平(或脈沖)而實(shí)現(xiàn)的。這也就是常說(shuō)的按鍵復(fù)位或脈沖復(fù)位。復(fù)位后,RAM的內(nèi)容都沒(méi)有改變,這時(shí)為了開(kāi)始新的運(yùn)算(這往往是熱啟動(dòng)的目的),可以根據(jù)運(yùn)算的要求,對(duì)一些RAM的內(nèi)容給予保護(hù),對(duì)另一部分RAM的內(nèi)容則進(jìn)行初始化。

          為了區(qū)分兩種不同的啟動(dòng)方式,可以采用軟件的方式也可以采用硬件加軟件配合的方式。利用軟件啟動(dòng)方式關(guān)鍵是利用單片機(jī)復(fù)位后RAM內(nèi)容不變這一特點(diǎn),在RAM中指定一個(gè)或幾個(gè)單元作為冷啟動(dòng)標(biāo)志單元。復(fù)位后的啟動(dòng)程序通過(guò)檢查冷啟動(dòng)標(biāo)志的有無(wú),從而判定現(xiàn)在進(jìn)行的是冷啟動(dòng)還是熱啟動(dòng)。常用的冷啟動(dòng)標(biāo)志有A5H(10100101B)或5AH(01011010B)。

          利用硬件加軟件配合的方式,由于電容C有一個(gè)充電過(guò)程,使單片機(jī)的/INT腳在上電后的瞬間出現(xiàn)了一個(gè)低電平。這時(shí)利用啟動(dòng)程序查詢(xún)/INT腳的電平是否升高。如果升高,則執(zhí)行后面的主程序;否則原地等待,直到/INT腳升為高電平,才能開(kāi)始后面的操作。如果不是上電復(fù)位,則/INT腳將不會(huì)有一個(gè)低電平,這樣啟動(dòng)程序查詢(xún)/INT腳后,就會(huì)轉(zhuǎn)去執(zhí)行熱啟動(dòng)初始化操作。

          最后說(shuō)明一下,并不是所有的單片機(jī)系統(tǒng)都需要區(qū)分冷啟動(dòng)和熱啟動(dòng),這應(yīng)該根據(jù)系統(tǒng)功能設(shè)置來(lái)定。

          本文引用地址:http://www.ex-cimer.com/article/201611/320790.htm


          關(guān)鍵詞: 單片機(jī)冷熱啟

          評(píng)論


          技術(shù)專(zhuān)區(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); })();