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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > MCS51單片機的外部中斷觸發(fā)方式

          MCS51單片機的外部中斷觸發(fā)方式

          作者: 時間:2016-11-26 來源:網(wǎng)絡(luò) 收藏
          51單片機外部中斷有兩種觸發(fā)方式可選:電平觸發(fā)和邊沿觸發(fā)。選擇電平觸發(fā)時,單片機在每個機器周期檢查中斷源口線,檢測到低電平,即置位中斷請求標(biāo)志,向CPU請求中斷。選擇邊沿觸發(fā)方式時,單片機在上一個機器周期檢測到中斷源口線為高電平,下一個機器周期檢測到低電平,即置位中斷標(biāo)志,請求中斷。


          這個原理很好理解。但應(yīng)用時需要特別注意的幾點:

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


          1)電平觸發(fā)方式時,中斷標(biāo)志寄存器不鎖存中斷請求信號。也就是說,單片機把每個機器周期的S5P2采樣到的外部中斷源口線的電平邏輯直接賦值到中斷標(biāo)志寄存器。標(biāo)志寄存器對于請求信號來說是透明的。這樣當(dāng)中斷請求被阻塞而沒有得到及時響應(yīng)時,將被丟失。換句話說,要使電平觸發(fā)的中斷被CPU響應(yīng)并執(zhí)行,必須保證外部中斷源口線的低電平維持到中斷被執(zhí)行為止。因此當(dāng)CPU正在執(zhí)行同級中斷或更高級中斷期間,產(chǎn)生的外部中斷源(產(chǎn)生低電平)如果在該中斷執(zhí)行完畢之前撤銷(變?yōu)楦唠娖剑┝?,那么將得不到響?yīng),就如同沒發(fā)生一樣。同樣,當(dāng)CPU在執(zhí)行不可被中斷的指令(如RETI)時,產(chǎn)生的電平觸發(fā)中斷如果時間太短,也得不到執(zhí)行。


          2)邊沿觸發(fā)方式時,中斷標(biāo)志寄存器鎖存了中斷請求。中斷口線上一個從高到低的跳變將記錄在標(biāo)志寄存器中,直到CPU響應(yīng)并轉(zhuǎn)向該中斷服務(wù)程序時,由硬件自動清除。因此當(dāng)CPU正在執(zhí)行同級中斷(甚至是外部中斷本身)或高級中斷時,產(chǎn)生的外部中斷(負(fù)跳變)同樣將被記錄在中斷標(biāo)志寄存器中。在該中斷退出后,將被響應(yīng)執(zhí)行。如果你不希望這樣,必須在中斷退出之前,手工清除外部中斷標(biāo)志。


          3)中斷標(biāo)志可以手工清除。一個中斷如果在沒有得到響應(yīng)之前就已經(jīng)被手工清除,則該中斷將被CPU忽略。就如同沒有發(fā)生一樣。


          4)選擇電平觸發(fā)還是邊沿觸發(fā)方式應(yīng)從系統(tǒng)使用外部中斷的目的上去考慮,而不是如許多資料上說的根據(jù)中斷源信號的特性來取舍。

          傳統(tǒng)的MCS51單片機有兩個外部中斷,有低電平和下降沿兩種觸發(fā)方式。通過特殊功能寄存器TCON的狀態(tài),可以配置中斷的觸發(fā)方式。

          當(dāng)處于低電平觸發(fā)方式時,CPU在每個機械周期內(nèi)進(jìn)行電平采樣,當(dāng)采樣到的電平為低時,將中斷標(biāo)記IE1(IE0)置1,表示正在向CPU請求中斷。需要注意的是,IE1(IE0)的值必須通過軟件在中斷服務(wù)程序中清除,否則會再次進(jìn)入中斷。如下:

          #include

          void main(void)

          {

          EA= 1;//總線開中斷

          EX0 = 1;//外部中斷0使能

          IT0 = 0;//低電平觸發(fā)方式

          while(1);

          }

          void INTR0(void) interrupt 0 unsing 0 //中斷服務(wù)程序

          {

          P1_1 =~P1_1;

          IE0 = 0;//軟件清除標(biāo)志位

          }

          低電平觸發(fā)方式下,中斷標(biāo)志寄存器不會鎖存中斷請求信號,也就是說,要確保低電平觸發(fā)的中斷被執(zhí)行。需要保持低電平直至該中斷服務(wù)程序開始執(zhí)行;而邊沿觸發(fā)方式下,中斷標(biāo)志寄存器會所鎖存,同時中斷標(biāo)志位也會在中斷服務(wù)程序執(zhí)行完畢之后,由硬件清除。在使用電平觸發(fā)時,如不希望出現(xiàn)重復(fù)程序進(jìn)入中斷的現(xiàn)象,應(yīng)在中斷執(zhí)行完畢后關(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); })();