日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > 單片機 > 單片機
[導讀]   實現(xiàn)中斷允許控制和中斷優(yōu)先級控制分別由特殊功能寄存器區(qū)中的中斷允許寄存器IE和中斷優(yōu)先級寄存器IP來實現(xiàn)的。下面介紹這兩個特殊功能寄存器?!   ≈袛嘣试S寄存器IE    AT89S51的CPU對各中

  實現(xiàn)中斷允許控制和中斷優(yōu)先級控制分別由特殊功能寄存器區(qū)中的中斷允許寄存器IE和中斷優(yōu)先級寄存器IP來實現(xiàn)的。下面介紹這兩個特殊功能寄存器。
  
  中斷允許寄存器IE
  
  AT89S51的CPU對各中斷源的開放或屏蔽,是由片內的中斷允許寄存器IE控制的。IE的字節(jié)地址為A8H,可進行位尋址,其格式如下圖所示。
  
  中斷允許寄存器IE對中斷的開放和關閉實現(xiàn)兩級控制。所謂兩級控制,就是有一個總的開關中斷控制位EA(IE.7位),當EA=O時,所有的中斷請求被屏蔽,CPU對任何中斷請求都不接受,因此稱EA為系統(tǒng)中斷允許總開關控制位;當EA=1時,CPU開放中斷,但5個中斷源的中斷請求是否允許,還要由IE中的低5位所對應的5個中斷請求允許控制位的狀態(tài)來決定。
  
  IE中各位的功能如下:
  
  (1)EA:中斷允許總開關控制位。
  
  EA=0,所有的中斷請求被屏蔽。
  
  EA=1,所有的中斷請求被開放。
  
  (2)ES:串行口中斷允許位。
  
  ES=0,禁止串行口中斷。
  
  ES=1,允許串行口中斷。
  
  (3)ET1:定時器/計數(shù)器Tl的溢出中斷允許位。
  
  ET1=0,禁止Tl溢出中斷。
  
  ETl=1,允許Tl溢出中斷。
  
  (4)EXl:外部中斷1中斷允許位。
  
  EXl=0,禁止外部中斷1中斷。
  
  EXl=1,允許外部中斷1中斷。
  
  (5)ET0:定時器/計數(shù)器T0的溢出中斷允許位。
  
  ET0=0,禁止T0溢出中斷。
  
  ET0=1,允許T0溢出中斷。
  
  (6)EX0:外部中斷0中斷允許位。
  
  EX0=0,禁止外部中斷0中斷。
  
  EX0=1,允許外部中斷0中斷。
  
  AT89S51復位以后,IE被清0,所有的中斷請求被禁止。IE中與各個中斷源相應的位可用指令置1或清0,即可允許或禁止各中斷源的中斷申請。若使某一個中斷源被允許中斷,除了IE相應的位被置1外,還必須使EA位置1。
  
  改變IE的內容,可由位操作指令來實現(xiàn)(即SETB bit;CLR bit),也可用字節(jié)操作指令實現(xiàn)。
  
  舉例如下:例1、若允許片內2個定時器/計數(shù)器中斷,并禁止其他中斷源的中斷請求,請編寫設置IE的相應程序段。
  
  (1)用位操作指令來編寫如下程序段:
  
  (2)用字節(jié)操作指令來編寫:上述的兩段程序對IE的設置是相同的。
  
  中斷優(yōu)先級寄存器lP
  
  AT89S51的中斷請求源有兩個中斷優(yōu)先級,每一個中斷請求源可由軟件設置為高優(yōu)先級中斷或低優(yōu)先級中斷,也可實現(xiàn)兩級中斷嵌套。所謂兩級中斷嵌套,就是AT89S51正在執(zhí)行低優(yōu)先級中斷的服務程序時,可被高優(yōu)先級中斷請求所中斷,待高優(yōu)先級中斷處理完畢后,再返回低優(yōu)先級中斷服務程序。兩級中斷嵌套的過程如下圖所示。
  
  關于各中斷源的中斷優(yōu)先級關系,可以歸納為下面兩條基本規(guī)則:
  
  (1)低優(yōu)先級可被高優(yōu)先級中斷,高優(yōu)先級不能被低優(yōu)先級中斷。
  
  (2)任何一種中斷(不管是高級還是低級)一旦得到響應,不會再被它的同級中斷源所中斷。如果某一中斷源被設置為高優(yōu)先級中斷,在執(zhí)行該中斷源的中斷服務程序時,則不能被其他中斷源的中斷請求所中斷。
  
  AT89S51的片內有一個中斷優(yōu)先級寄存器lP,其字節(jié)地址為B8H,可位尋址。只要用程序改變其內容,即可進行各中斷源中斷優(yōu)先級的設置,IP寄存器的格式如下圖所示。
  
  中斷優(yōu)先級寄存器IP各位的含義如下:
  
  (1)PS:串行口中斷優(yōu)先級控制位。
  
  PS=1,串行口中斷為高優(yōu)先級。
  
  PS=O,串行口中斷為低優(yōu)先級。
  
  (2)PT1:定時器Tl中斷優(yōu)先級控制位。
  
  PTl=1,定時器Tl中斷為高優(yōu)先級。
  
  PTl=0,定時器Tl中斷為低優(yōu)先級。
  
  (3)PX1:外部中斷1中斷優(yōu)先級控制位。
  
  PXl=1,外部中斷1中斷為高優(yōu)先級。
  
  PXl=0,外部中斷1中斷為低優(yōu)先級。
  
  (4)PT0:定時器T0中斷優(yōu)先級控制位。
  
  PT0=1,定時器T0中斷為高優(yōu)先級。
  
  PT0=0,定時器T0中斷為低優(yōu)先級。
  
  (5)PX0:外部中斷0中斷優(yōu)先級控制位。
  
  PX0=1,外部中斷0中斷為高優(yōu)先級。
  
  PX0=0,外部中斷0中斷為低優(yōu)先級。
  
  中斷優(yōu)先級控制寄存器IP的各位都可由用戶程序置1和清0,用位操作指令或字節(jié)操作指令可更新IP的內容,以改變各中斷源的中斷優(yōu)先級。
  
  AT89S51復位以后,IP的內容為0,各個中斷源均為低優(yōu)先級中斷。
  
  下面簡單介紹AT89S51的中斷優(yōu)先級結構。AT89S51的中斷系統(tǒng)有兩個不可尋址的“優(yōu)先級激活觸發(fā)器”其中一個指示某高優(yōu)先級的中斷正在執(zhí)行,所有后來的中斷均被阻止;另一個觸發(fā)器指示某低優(yōu)先級的中斷正在執(zhí)行,所有同級的中斷都被阻止,但不阻斷高優(yōu)先級的中斷請求。
  
  在同時收到幾個同一優(yōu)先級的中斷請求時,哪一個中斷請求能優(yōu)先得到響應,取決于內部的查詢順序。這相當于在同一個優(yōu)先級內,還同時存在另一個輔助優(yōu)先級結構,其查詢順序見下表。
  
  同級中斷的查詢次序
  
  由此可見,各中斷源在同一個優(yōu)先級的條件下,外部中斷O的中斷優(yōu)先權最高,串行口中斷的優(yōu)先權最低。
  
  例2、設置IP寄存器的初始值,使AT89S51的兩個外中斷請求為高優(yōu)先級,其他中斷請求為低優(yōu)先級。
  
  (1)用位操作指令
  
  (2)用字節(jié)操作指令

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內容侵犯您的權益,請及時聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀
關閉