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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 8051單片機的5個中斷源

          8051單片機的5個中斷源

          作者: 時間:2016-11-24 來源:網絡 收藏
          當幾個中斷源同時向CPU請求中斷時,按所發(fā)生的實時事件的輕重緩急排隊,優(yōu)先處理最緊急事件的中斷請求,于是單片機規(guī)定每個中斷源的優(yōu)先級別。

          當CPU正在處理一個中斷請求,又發(fā)生另一個優(yōu)先級比它高的中斷請求,CPU暫時中止對前一中斷處理,轉而去處理優(yōu)先級更高的中斷請求,待處理完后,再繼續(xù)執(zhí)行原來的中斷處理程序,這樣的過程稱為中斷嵌套,這樣的中斷系統(tǒng)稱為多級中斷系統(tǒng)。

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

          由于外界異步事件中斷CPU正在執(zhí)行的程序時隨機的,CPU轉向去執(zhí)行中斷服務程序時,除了硬件會自動把斷電地址,即16位PC程序計數器的值壓入堆棧之外,用戶還得注意保護有關工作寄存器,累加器,標志位等信息,這個過程通常稱為保護現場。以便在完成中斷服務程序后,恢復原工作寄存器,累加器,標志位等的內容,這個過程稱恢復現場;最后執(zhí)行中斷返回指令,自動彈出斷電到PC,返回主程序,繼續(xù)執(zhí)行被中斷的程序。

          下面我們看看8051中斷系統(tǒng)結構及中斷控制:

          8051單片機有五個中斷請求源,四個用于中斷控制的寄存器IE.IP.TCON和SCON,用于控制中斷的類型,中斷允許,中斷起停和各種中斷源的優(yōu)先級別。

          五個中斷源有兩個優(yōu)先級,每個中斷源可以編程為高優(yōu)先級或低優(yōu)先級中斷,可以實現二級中斷服務程序嵌套。8051的中斷源包括:

          INT0,INT1引腳輸入的外部中斷源

          三個內部的中斷源,即定時器T0的溢出中斷源,定時器T1的溢出中斷源和串行口的發(fā)送/接收中斷源。關于內部中斷源我們以后再講,今天我們先學習外部中斷源。

           

          從INT0,INT1引腳輸入的兩個外部中斷源和它們的觸發(fā)方式控制位鎖存在特殊功能寄存器TCON的低四位,其格式如下:

           

          IE1,即TCON.3:

          外部中斷INT1請求標志位。當CPU檢測到在INT1引腳上出現的外部中斷信號時,由硬件置位IE1=1,請求中斷。CPU執(zhí)行中斷服務程序后,IE1位被硬件自動清0.

          IT1,即TCON.2:

          外部中斷INT1請求類型,觸發(fā)方式控制位,由軟件來置1或清0,以控制外部中斷1的觸發(fā)類型。

          IT1=0,外部中斷1被設置為電平觸發(fā)方式,當引腳INT1輸入低電平時,置位IE1,申請中斷。CPU在每個機器周期的S5P2期間采樣INT1的輸入電平,當采樣到低電平時,置IE1=1。采用電平觸發(fā)方式時,輸入到引腳INT1的外部中斷源必須保持電平有效,直到該直到程序被CPU響應。同時,在該中斷服務程序執(zhí)行完之前,外部中斷源有效電平必須被撤銷,否則將產生,另一次中斷。

          IT1=1,外部中斷1被設置為邊緣觸發(fā)方式,CPU在每個機器周期采樣引腳INT1的電平。如果相繼的兩次采樣中,一個周期采樣到引腳INT1為高電平,接著下一個周期采樣到引腳INT1為低電平,INE1由硬件自動清0.因為每個機器周期采樣一次外部中斷輸入電平,外部中斷源輸入的高電平和低電平時間必須保持12個振蕩周期以上,才能保證CPU檢測到負跳變信號,即下降沿。

           

          IEO,即TCON.1:外部中斷請求標志位。IE0=1時,外部中斷0向CPU請求中斷,當CPU響應外部中斷后,IE0由硬件清0。

          ITO,即TCON.0:外部中斷0觸發(fā)方式控制位。IT0=0,外部中斷0被設置為邊沿觸發(fā)方式。IT0=1時,外部中斷0被設置為邊電平發(fā)方式。其功能和IT1類似。

           

          中斷控制:除特殊功能寄存器TCON和SCON中某些位與中斷有關外,還有兩個特殊功能寄存器IE和IP專門用于中斷控制。

          中斷允許IE:

          8051單片機中,特殊功能寄存器IE位中斷允許寄存器,控制CPU對中斷源總的允許或禁止以及每個中斷源是否允許中斷。其格式為:

          EA:中斷總允許位。EA=1,CPU允許中斷;EA=0,CPU禁止所有的中斷請求。

          ES:串行中斷允許位。ES=1,允許串行口中斷;ES=0,禁止串行口中斷。

          EX1:T0溢出中斷允許位。ET0=1,允許T0中斷;ET0=0,禁止T0中斷。

          EX0::外部中斷允許位。EX0=1,允許外部中斷0中斷;EX0=0,禁止外部中斷0中斷。

          8051系統(tǒng)復位后,IE中各位均被清0,即禁止所有中斷。

           

          中斷優(yōu)先級設定寄存器IP。8051單片機具有兩個中斷優(yōu)先級,每個中斷源可編程為高優(yōu)先級中斷或低優(yōu)先級中斷,并可實現二級中斷嵌套。高優(yōu)先級中斷源可中斷正在執(zhí)行的低優(yōu)先級中斷服務程序;

          同級或低優(yōu)先級的中斷源不能中斷正在執(zhí)行的中斷程序。為此,在8051中斷系統(tǒng)中,內部有兩個優(yōu)先級狀態(tài)觸發(fā)器,它們分別指示出CPU是否在執(zhí)行高優(yōu)先級或低優(yōu)先級中斷服務程序,從而分別屏蔽所有的中斷申請和同一級的其他中斷源申請。

          特殊功能寄存器IP為中斷優(yōu)先級寄存器。

          各中斷源優(yōu)先級的控制位,用戶可用軟件設定。其格式如下

           

          PS:串行中斷優(yōu)先控制位。PS=1,設定串行口為高優(yōu)先級中斷;PS=0,為低優(yōu)先級。

          PT1:T1中斷優(yōu)先控制位。PT1=1,設定定時器T1為高優(yōu)先級中斷;PT=0,為低優(yōu)先級。

          TX1:外部中斷1中斷優(yōu)先級別控制位。PX1=1設定外部中斷1為高優(yōu)先級中斷;PC1=0,為低優(yōu)先級。

          PT1:T1中斷優(yōu)先控制位。PT1=1,設定定時器T1為高優(yōu)先級中斷;PT1=0,為低優(yōu)先級。

          PT0:T0中斷優(yōu)先控制位。PT1=1,設定定時器T0為高優(yōu)先級中斷;PT0=0,為低優(yōu)先級。

          PX0:外部中斷中斷優(yōu)先控制位。PX0=1,設定INT1為高優(yōu)先級。PX0=0,為低優(yōu)先級。

           

          8051復位后,IP低五位全部清0,將所有中斷源設置為低優(yōu)級中斷。

          如果幾個同優(yōu)先級的中斷源同時向CPU申請中斷,哪一個申請得到服務,取決于它們在CPU內部動登記排隊的序號。CPU通過內部硬件查詢登記號,按自然優(yōu)先級決定優(yōu)先響應哪個中斷請求。自然優(yōu)先級按從高到低的順序依次為:外中斷0,定時器0,外中斷1,定時器1,串行中斷。



          關鍵詞: 8051單片機中斷

          評論


          技術專區(qū)

          關閉
          看屁屁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); })();