當前位置:編程學習大全網 - 編程語言 - 51單片機2個外中斷的應用,這個怎麽設計?

51單片機2個外中斷的應用,這個怎麽設計?

中斷的允許和禁止就是中斷的開放和關閉,中斷允許就是開放中斷,中斷的禁止就是關閉中斷。從以上說明我們可看出,MCS-51的中斷允許是通過兩級控制的,以EA位作為總中斷控制位,以各中斷控制位為分控制位。當總中斷位為禁止狀態時,不管分控制位是允許或禁止整個中斷都是禁止的。只有當EA=1(允許)時,才能由各分控制位設置各自的中斷允許與禁止。MCS-51單片機復位後,IE=00H,因此中斷處於禁止狀態。

值得壹提的是:單片機中斷響應後不會自動關閉中斷,因此在轉入中斷服務程序後,應由軟件指令禁止中斷。

中斷優先級控制寄存器 (IP)

MCS-51的中斷優先級控制比較簡單,只設置了高、低兩個級別的有限級,各中斷源的優先級別由優先寄存器(IP)進行控制。

·PX0——外中斷0(INT0)優先級控制位。

·PT0——定時中斷0(T0)優先級控制位。

·PX1——外中斷1(INT1)優先級控制位。

·PT1——定時中斷1(T1)優先級控制位。

·PS ——串行中斷(ES)優先級控制位。

控制位=0,優先級為低。控制位=1,優先級為高。

中斷優先級是為了中斷嵌套服務的,控制原則為:

(1) 低優先級中斷不能打斷高優先級的中斷服務,而高優先級的中斷服務可以打斷低優先級的中斷服務。

(2) 同級的中斷已經響應,其他中斷將被禁止。

(3) 如果同級的多個中斷源同時出現,CPU將按查詢次序確定哪個中斷被響應,次序為:外中斷0→定時中斷0→外中斷1→定時中斷1→串行中斷。

中斷控制寄存器的狀態設置

在應用中,我們可以通過相應的控制寄存器來使用中斷系統,因此從使用的角度上看,這些控制寄存器是面向用戶的。這些控制寄存器既可以進行字節尋址,也可以進行位尋址,也就是對位狀態的尋址既可以使用字節操作指令也可以使用位操作指令,例如:

MOV IE,#81H

如使用位操作指令,也可寫為:

SETB EA

SETB EX0

對於壹般的外中斷程序,我們可以這樣安排:

ORG 0000H ;主程序入口

START: AJMP MAIN

ORG 0003H ;外中斷程序入口

AJMP INT00

MAIN: MOV IE,#81H ;允許總中斷和外中斷

…… ;主程序

……

……

INT00: …… ;外中斷服務程序

……

RETI ;中斷返回

  • 上一篇:醫療器械公司排名前十名
  • 下一篇:從事 軟件開發 的前輩們,妳們人生的職業生涯是怎麽規劃的啊?
  • copyright 2024編程學習大全網