MCS-51單片機外中斷軟件編程-基礎電子_第1頁
MCS-51單片機外中斷軟件編程-基礎電子_第2頁
MCS-51單片機外中斷軟件編程-基礎電子_第3頁
MCS-51單片機外中斷軟件編程-基礎電子_第4頁
MCS-51單片機外中斷軟件編程-基礎電子_第5頁
已閱讀5頁,還剩3頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

精品文檔-下載后可編輯MCS-51單片機外中斷軟件編程-基礎電子

MCS-51單片機有多個中斷源,以8051為例,有5個中斷源,兩個外中斷、兩個定時中斷和一個串行中斷,這一節我們討論外中斷軟件編程。

外中斷是由外部原因引起的中斷,有兩個中斷源。即外中斷0(INT0)和外中斷1(INT1),中斷請求信號由引腳P3.2(INT0)和P3.3(INT1)輸入。

外中斷請求信號有兩種方式,一是電平方式,二是脈沖方式。可通過有關控制位的定義進行規定。

電平方式為低電平有效,只需在單片機的(INT0)和(INT1)中斷請求輸入端采樣到有效的低電平時,就會激活外部中斷。

脈沖方式則在脈沖的后負跳沿有效,即在相鄰兩個機器周期對中斷請求引入端進行采樣中,如前為高,后為低即為有效中斷請求。這就要求在這種中斷方式,中斷請求信號的脈沖寬度必須大于一個機器周期,以保證電平變化能被單片機采樣到。

定時器控制寄存器(TCON)

外中斷請求方式的控制位在定時控制寄存器TCON(地址為88H)中的位88(IT0)和位8A(IT1)兩個位,當IT0(IT1)=0為電平方式,IT0(IT1)=1為脈沖方式。同時在此寄存器中的位89(IE0)和位8B(IE1)為外中斷請求標志位,當CPU采樣到INT0(INT1)端出現有效中斷請求時,此位由硬件置1。在中斷響應完成后轉向中斷服務時,再由硬件自動清0。

定時器控制寄存器(TCON)

位地址8F8E8D8C8B8A8988

位符號TF1TR1TF0TR0IE1IT1IE0IT0

中斷允許控制寄存器(IE)

中斷允許控制寄存器(IE)

位地址AFAEADACABAAA9A8

位符號EA//ESET1EX1ET0EX0

下面我們對有關控制位作說明:

·EA——中斷允許總控制位,EA=0,中斷總禁止,禁止所有中斷。EA=1,中斷總允許,總允許位打開后,各中斷的允許或禁止由各中斷允許控制位設置決定。

·EX0(EX1)——外部中斷允許控制位,EX0(EX1)=0,禁止外部中斷。EX0(EX1)=1,允許外部中斷。

·ET0(ET1)——定時/計數中斷允許控制位,ET0(ET1)=0,禁止定時/計數中斷。ET0(ET1)=1,允許定時/計數中斷。

·ES——串行中斷允許控制位,ES=0,禁止串行中斷。ES=1,允許串行中斷。

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

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

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

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

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

位地址BFBEBDBCBBBAB9B8

位符號///PSPT1PX1PT0PX0

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

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

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

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

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

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

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

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

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

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

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

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

MOVIE,#81H

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

SETBEA

SETBEX0

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

ORG0000H;主程序入口

START:AJMPMAIN

ORG0003H;外中斷程序入口

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

提交評論