單片機原理及應用(C語言版)_第1頁
單片機原理及應用(C語言版)_第2頁
單片機原理及應用(C語言版)_第3頁
單片機原理及應用(C語言版)_第4頁
單片機原理及應用(C語言版)_第5頁
已閱讀5頁,還剩63頁未讀, 繼續免費閱讀

下載本文檔

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

文檔簡介

1、單片機原理及應用單片機原理及應用 (C語言版)語言版)第第5章章 MCS-51單片機中斷系統單片機中斷系統主主 編:編:周國運周國運本章本章制作:制作:仝選悅仝選悅中國水利水電出版社中國水利水電出版社第第5章章 MCS-51單片機中斷系統單片機中斷系統目目 錄錄5.1 中斷概述中斷概述 5.2 中斷系統結構及控制中斷系統結構及控制5.3 中斷響應過程及處理過程中斷響應過程及處理過程5.4 中斷應用舉例中斷應用舉例 本章主要討論本章主要討論MCS-51單片機中斷系統。單片機中斷系統。內容主要有:內容主要有:MCS-51單片機中斷系統結單片機中斷系統結構、中斷控制、中斷優先級、中斷處理過構、中斷控

2、制、中斷優先級、中斷處理過程,以及中斷的應用。程,以及中斷的應用。 通過本章的學習,應該理解中斷系統通過本章的學習,應該理解中斷系統結構、中斷響應的條件和中斷處理過程;結構、中斷響應的條件和中斷處理過程; 掌握中斷控制、中斷優先級,靈活的應掌握中斷控制、中斷優先級,靈活的應用中斷解決實際問題。用中斷解決實際問題。第第5章章 MCS-51單片機的中斷系統單片機的中斷系統5.1 中斷概述中斷概述主要內容主要內容5.1.1 微機的輸入微機的輸入/輸出幾種控制方式輸出幾種控制方式5.1.2 中斷的相關概念中斷的相關概念 5.1.1 微機的輸入微機的輸入/輸出幾種控制方式輸出幾種控制方式單片機系統中,單

3、片機系統中,CPU和外部設備之間不和外部設備之間不斷進行信息的傳輸。通常斷進行信息的傳輸。通常CPU和外設之間和外設之間的信息傳送方式有以下幾種:的信息傳送方式有以下幾種:程序控制方式程序控制方式中斷方式中斷方式直接存儲器存取(直接存儲器存?。―MA)方式)方式5.1.1 微機的輸入微機的輸入/輸出方式輸出方式 1、 程序控制方式程序控制方式可以分為以下兩種方式。可以分為以下兩種方式。 (1)無條件傳送方式)無條件傳送方式 外設始終處于就緒狀態,外設始終處于就緒狀態,CPU不必查詢不必查詢外設的狀態,直接進行信息傳輸外設的狀態,直接進行信息傳輸,稱為無條件,稱為無條件傳送方式。傳送方式。 此種

4、信息傳送方式只適用于簡單的外設。此種信息傳送方式只適用于簡單的外設。如開關和數碼段顯示器等。如開關和數碼段顯示器等。5.1.1 微機的輸入微機的輸入/輸出方式輸出方式 (2)條件傳送方式)條件傳送方式 CPU通過執行程序不斷讀取并測試外部通過執行程序不斷讀取并測試外部設備狀態,設備狀態,如果輸入設備處于準備好狀態或如果輸入設備處于準備好狀態或輸出設備為空閑狀態時,則輸出設備為空閑狀態時,則CPU執行傳送信執行傳送信息操作。息操作。 由于條件傳送方式需要由于條件傳送方式需要CPU不斷地查詢不斷地查詢外部設備的狀態,然后才進行信息傳送,所外部設備的狀態,然后才進行信息傳送,所以以也稱為也稱為“查詢

5、式傳送查詢式傳送”。5.1.1 微機的輸入微機的輸入/輸出方式輸出方式2、 中斷方式中斷方式 外部設備與外部設備與CPU之間以中斷信號作為之間以中斷信號作為數據交換的控制信號數據交換的控制信號。當外部設備需要與當外部設備需要與CPU進行數據交換進行數據交換時,由接口部件向時,由接口部件向CPU發出一個請求信號,發出一個請求信號,CPU響應這一中斷請求后,在中斷服務程響應這一中斷請求后,在中斷服務程序中完成一個字節或多個字節的信息交換。序中完成一個字節或多個字節的信息交換。中斷方式具有并行工作、實時傳輸、中斷方式具有并行工作、實時傳輸、充分利用充分利用CPU效率等特點。效率等特點。5.1.1 微

6、機的輸入微機的輸入/輸出方式輸出方式 中斷傳送仍由中斷傳送仍由CPU通過程序來傳送,每通過程序來傳送,每次都要執行指令進行斷點、現場的保護和恢次都要執行指令進行斷點、現場的保護和恢復。對于高速復。對于高速I/O,就顯得速度太慢了。,就顯得速度太慢了。3、DMA方式方式(直接存儲器存取直接存儲器存取) DMA控制方式主要用于存儲器和外設控制方式主要用于存儲器和外設之間直接傳送、塊傳輸。之間直接傳送、塊傳輸。DMA請求總線:請求總線:當某一外部設備需要當某一外部設備需要輸入輸入/輸出一批數據時,向輸出一批數據時,向DMA控制器發出控制器發出請求,請求,DMA控制器接收到這一請求后,向控制器接收到這

7、一請求后,向CPU發出總線請求信號。發出總線請求信號。5.1.1 微機的輸入微機的輸入/輸出方式輸出方式 DMA控制數據傳輸:控制數據傳輸:CPU響應響應DMA的的請求,把總線使用權交給請求,把總線使用權交給DMA控制器,控制器,DMA將外設數據讀入、并直接寫入存儲器,或將將外設數據讀入、并直接寫入存儲器,或將數據從存儲器讀出并直接送給外設。數據從存儲器讀出并直接送給外設。傳送過傳送過程不需要程不需要CPU參與。參與。DMA釋放總線:釋放總線:當一批數據傳送后,當一批數據傳送后, DMA控制器再向控制器再向CPU發出發出“結束總線請求結束總線請求”,CPU響應請求,收回總線使用權。響應請求,收

8、回總線使用權。DMA方式速度高、效率高,可以與方式速度高、效率高,可以與CPU并行工作。并行工作。1、中斷的概念、中斷的概念CPU在正常運行的時候,在正常運行的時候,外部或者內部發生了請求外部或者內部發生了請求CPU迅速去處理的事件,迅速去處理的事件,CPU暫時中斷當前的程序,暫時中斷當前的程序,去處理所發生的事件,處理去處理所發生的事件,處理完事件后,再返回到原來被完事件后,再返回到原來被中斷的程序繼續運行。中斷的程序繼續運行。此過此過程稱為中斷程稱為中斷。5.1.2 中斷的相關概念中斷的相關概念 2、中斷源、中斷源 引起引起CPU中斷的設備和事件就是中斷源。中斷的設備和事件就是中斷源。 3

9、、中斷請求、中斷請求 中斷源向中斷源向CPU發出的請求處理信號,即發出的請求處理信號,即中斷請求或中斷申請。中斷請求或中斷申請。 4、中斷響應、中斷響應 CPU暫時中止正在處理的事情,轉去處暫時中止正在處理的事情,轉去處理突發事件的過程,稱為理突發事件的過程,稱為中斷響應中斷響應。5.1.2 中斷的相關概念中斷的相關概念 5、其他概念、其他概念中斷系統:中斷系統:實現中斷功能的部件稱為,實現中斷功能的部件稱為,又稱中斷機構。又稱中斷機構。中斷服務程序:中斷服務程序:CPU響應中斷后,處理響應中斷后,處理中斷事件的程序。中斷事件的程序。斷點:斷點:CPU響應中斷請求,轉去響應中斷請求,轉去執行中

10、執行中斷服務程序時的斷服務程序時的PC值,即為斷點地址值,即為斷點地址。中斷返回:中斷返回:CPU執行完中斷服務程序后執行完中斷服務程序后回到斷點的過程?;氐綌帱c的過程。5.1.2 中斷的相關概念中斷的相關概念 6、中斷的功能、中斷的功能 中斷是計算機的一項重要技術,計算機中斷是計算機的一項重要技術,計算機引入中斷后,大大提高了它的工作效率和引入中斷后,大大提高了它的工作效率和處理問題的靈活性,主要功能有以下幾個處理問題的靈活性,主要功能有以下幾個方面。方面。使使CPU與外設同步工作與外設同步工作實現實時處理實現實時處理故障及時處理故障及時處理5.1.2 中斷的相關概念中斷的相關概念 5.2

11、中斷系統的結構及控制中斷系統的結構及控制主要內容主要內容5.2.1 MCS-51的中斷結構的中斷結構5.2.2 MCS-51的中斷源的中斷源5.2.1 MCS-51單片機的中斷結構單片機的中斷結構 中斷系統構成:中斷系統構成:增強單片機主要由增強單片機主要由5個特個特殊功能寄存器殊功能寄存器、相關、相關硬件電路等組成硬件電路等組成。有。有6個個中斷源中斷源,兩個中斷優先級。,兩個中斷優先級。 特殊功能寄存器主要用于:特殊功能寄存器主要用于:控制中斷的開控制中斷的開放和關閉、保存中斷信息、設置中斷的優先放和關閉、保存中斷信息、設置中斷的優先級別。級別。 硬件查詢電路主要用于:硬件查詢電路主要用于

12、:判定判定6個中斷源個中斷源的優先級別。的優先級別。 MCS-51增強型單片機的中斷結構如圖增強型單片機的中斷結構如圖5-2所示。所示。 圖圖5-2 增強型單片機的中斷系統結構增強型單片機的中斷系統結構5.2.2 MCS-51的中斷源的中斷源 MCS-51中斷系統主要是對中斷系統主要是對6個中斷源個中斷源進行管理,依次為:進行管理,依次為:外部中斷外部中斷0(P3.2)外部中斷外部中斷1(P3.3)定時器定時器/計數器計數器0溢出中斷溢出中斷定時器定時器/計數器計數器1溢出中斷溢出中斷定時器定時器/計數器計數器2溢出中斷溢出中斷串行口中斷串行口中斷 CPU主要是通過標志寄存器、控制寄主要是通過

13、標志寄存器、控制寄存器、優先級寄存器對中斷源進行管理。存器、優先級寄存器對中斷源進行管理。5.2.2 MCS-51單片機的中斷源單片機的中斷源(1)與中斷標志相關的與中斷標志相關的SFR主要有:定時器主要有:定時器/計數器計數器T0、T1控制控制寄存器寄存器TCON串行口控制寄存器串行口控制寄存器SCON定時器定時器/計數器計數器2控制寄存器控制寄存器T2CON(第(第6章介紹)章介紹)(2)中斷控制寄存器:)中斷控制寄存器:TCON、IE(3)中斷優先級寄存器:)中斷優先級寄存器:IP5.2.2 MCS-51單片機的中斷源單片機的中斷源1、串行口控制寄存器、串行口控制寄存器SCON 字節地址

14、字節地址98H??梢晕粚ぶ?,可以位尋址, 格式如下:格式如下:TI(SCON1):串行口發送中斷標志。:串行口發送中斷標志。 串行口發送完一幀,由硬件置位。響應中斷串行口發送完一幀,由硬件置位。響應中斷后,必須用軟件清后,必須用軟件清 0。RI(SCON0):串行口接收中斷標志。串行口接收中斷標志。SCON(98H)D7D6D5D4D3D2D1D0TIRI圖圖5-4 串行口控制寄存器串行口控制寄存器 5.2.2 MCS-51單片機的中斷源單片機的中斷源 串行口接收完一幀,由硬件置位。響應中斷串行口接收完一幀,由硬件置位。響應中斷后,必須用軟件清后,必須用軟件清0。例如:例如:CLR TI;5.

15、2.2 MCS-51單片機的中斷源單片機的中斷源2、T0、T1 的控制寄存器的控制寄存器TCON TCON格式如下:格式如下:TCON(88H)D7D6D5D4D3D2D1D0TF1 TR1 TF0 TR0 IE1IT1IE0IT0圖圖5-3 定時器的控制寄存器定時器的控制寄存器 TCON可位尋址。復位后可位尋址。復位后TCON=00H。TF1(TCON.7):T1溢出標志位溢出標志位當當T1計滿溢出時,由內部硬件置位;計滿溢出時,由內部硬件置位;中斷響應后自動清中斷響應后自動清 0。5.2.2 MCS-51單片機的中斷源單片機的中斷源TF0:T0溢出標志位溢出標志位 功能同功能同TF1。IT

16、1:外中斷:外中斷1觸發方式設置位觸發方式設置位IT1=0,外中斷,外中斷1為低電平觸發為低電平觸發 CPU在每一個機器周期的在每一個機器周期的S5P2期間對期間對P3.3引腳采樣,引腳采樣,若若P3.3為低電平,則使為低電平,則使IE1置置1,否則否則IE1清清0。5.2.2 MCS-51單片機的中斷源單片機的中斷源 IT1=1,外中斷,外中斷1為下降沿觸發為下降沿觸發 采樣:采樣:CPU在每一個機器周期的在每一個機器周期的S5P2期間期間對對P3.3引腳采樣,若上一個機器周期檢測為引腳采樣,若上一個機器周期檢測為高電平,緊挨著的下一個機器周期為低電平,高電平,緊挨著的下一個機器周期為低電平

17、,則使則使IE1置置1。 IT0:外中斷:外中斷0觸發方式控制位觸發方式控制位。 功能同功能同IT1。5.2.2 MCS-51單片機的中斷源單片機的中斷源IE1:外中斷:外中斷1中斷請求標志位中斷請求標志位外部中斷外部中斷1引腳有請求信號置引腳有請求信號置1;IE1的清的清0方式問題:與外中斷的觸發方式方式問題:與外中斷的觸發方式有關有關(1)低電平觸發,則低電平觸發,則P3.3引腳為高電平引腳為高電平自動對自動對IE1清清0;(2)下降沿觸發,則下降沿觸發,則CPU響應中斷由硬響應中斷由硬件自動對件自動對IE1清清0。IE0:外部中斷:外部中斷0中斷請求標志位中斷請求標志位功能同功能同IE1

18、。5.2.2 MCS-51單片機的中斷源單片機的中斷源3、中斷允許寄存器、中斷允許寄存器IE可以位尋址,其格式如圖可以位尋址,其格式如圖5-5所示:所示:IE(A8H)D7D6D5D4D3D2D1D0EAET2ESET1 EX1 ET0 EX0圖圖5-5 中斷允許寄存器中斷允許寄存器 5.2.2 MCS-51單片機的中斷源單片機的中斷源EA(IE.7):中斷允許總控位中斷允許總控位。EA=0,屏蔽所有的中斷請求;,屏蔽所有的中斷請求;EA=1,開放中斷總控制位。開放中斷總控制位。ET2(IE.5):定時器定時器/計數器計數器2的中斷允許位的中斷允許位ET2=0,禁止,禁止T2中斷;中斷;ET2

19、=1,允許,允許T2中斷。中斷。ES(IE.4):串行口中斷允許位串行口中斷允許位。5.2.2 MCS-51單片機的中斷源單片機的中斷源 ES=0,禁止串行口中斷;,禁止串行口中斷;ES=1,允許串行口中斷。,允許串行口中斷。 ET1(IE.3):定時器:定時器/計數器計數器1中斷允許中斷允許 ET1=0,禁止,禁止T1中斷;中斷;ET1=1,允許,允許T1中斷。中斷。 EX1(IE.2):外部中斷:外部中斷1中斷允許位中斷允許位 EX1=0,禁止外部中斷禁止外部中斷1中斷;中斷;EX1=1,允許外,允許外部中斷部中斷1中斷。中斷。5.2.2 MCS-51單片機的中斷源單片機的中斷源ET0(I

20、E.1):定時器定時器/計數器計數器0中斷允許位中斷允許位ET0=0,禁止禁止T0中斷;中斷;ET0=1,允許,允許T0中斷。中斷。EX0(IE.0):外部中斷外部中斷0的中斷允許位的中斷允許位EX0=0,禁止外部中斷,禁止外部中斷0中斷;中斷;EX0=1,允許外部中斷,允許外部中斷0中斷。中斷。例例5-1 假設允許假設允許INT0、INT1、T0、T1中斷,中斷,試設置試設置IE的值。的值。解:解:(1)用)用C語言字節操作:語言字節操作:IE=0 x8f;5.2.2 MCS-51單片機的中斷源單片機的中斷源(2)用)用C語言位操作指令語言位操作指令EX0=1;/允許外部中斷允許外部中斷0中

21、斷中斷ET0=1;/允許定時允許定時/計數器計數器0中斷中斷EX1=1;/允許外部中斷允許外部中斷1中斷中斷ET1=1;/允許定時允許定時/計數器計數器1中斷中斷EA = 1/開總中斷控制開總中斷控制 匯編語言匯編語言 (1)用字節操作指令)用字節操作指令:MOV IE,#8FH (2)用位操作指令)用位操作指令:5.2.2 MCS-51單片機的中斷源單片機的中斷源SETB EX0;允許外部中斷;允許外部中斷0中斷中斷SETB ET0;允許定時;允許定時/計數器計數器0中斷中斷SETB EX1;允許外部中斷;允許外部中斷1中斷中斷SETB ET1;允許定時;允許定時/計數器計數器1中斷中斷SE

22、TB EA ;開總中斷控制位;開總中斷控制位4、中斷優先級控制寄存器、中斷優先級控制寄存器IP MCS-51單片機有單片機有6個中斷源個中斷源,每個中斷源,每個中斷源有有兩級優先級控制:兩級優先級控制:高優先級高優先級和和低優先級,低優先級, 以便以便CPU對所有的中斷實現兩級中斷嵌套。對所有的中斷實現兩級中斷嵌套。 對對 IP設置可讓中斷源處于不同的優先級。設置可讓中斷源處于不同的優先級。5.2.2 MCS-51單片機的中斷源單片機的中斷源IP復位后為復位后為00H。其格式如下圖所示。其格式如下圖所示。IP(B8H)D7D6D5D4D3D2D1D0PT2PSPT1 PX1 PT0 PX0圖圖

23、5-6 中斷優先級控制寄存器中斷優先級控制寄存器 PT2(IP.5):T2中斷優先級控制位中斷優先級控制位PT2=0,設置為低優先級;,設置為低優先級;PT2=1,設置為高優先級。,設置為高優先級。5.2.2 MCS-51單片機的中斷源單片機的中斷源PS(IP.4):串行口中斷優先級控制位:串行口中斷優先級控制位PS=0,設置為低優先級;,設置為低優先級;PS=1,設置為高優先級。,設置為高優先級。PT1(IP.3):T1的中斷優先級控制位的中斷優先級控制位功能同功能同PT2。PX1(IP.2):外中斷:外中斷1中斷優先級控制位中斷優先級控制位PX1=0,設置為低優先級;,設置為低優先級;PX

24、1=1,設置為高優先級。,設置為高優先級。 5.2.2 MCS-51單片機的中斷源單片機的中斷源PT0(IP.1):T0中斷優先級控制位中斷優先級控制位功能同功能同PT1。PX0(IP.0):外中斷:外中斷0中斷優先級控制位中斷優先級控制位功能同功能同PX1。 89C52單片機的中斷優先級采用了自然優單片機的中斷優先級采用了自然優先級和人工設置高、低優先級的策略。先級和人工設置高、低優先級的策略。中斷中斷處于同一級別時,就由自然優先級確定。開處于同一級別時,就由自然優先級確定。開機時,每個中斷都處于低優先級,中斷優先機時,每個中斷都處于低優先級,中斷優先級可以通過程序來設定,由中斷優先級寄存級

25、可以通過程序來設定,由中斷優先級寄存器器IP來統一管理。來統一管理。 如下圖所示:如下圖所示: 5.2.2 MCS-51單片機的中斷源單片機的中斷源系統優先級規則圖:系統優先級規則圖: 表表 5-1 中斷優先級的排列順序中斷優先級的排列順序 中斷源中斷源自然優先級順序自然優先級順序外部中斷外部中斷0定時器定時器/計數器計數器0外部中斷外部中斷1定時器定時器/計數器計數器1串行口中斷串行口中斷定時器定時器/計數器計數器2最最 高高最低最低5.2.2 MCS-51單片機的中斷源單片機的中斷源中斷優先級規則:中斷優先級規則:(1)對同時發生多個中斷申請)對同時發生多個中斷申請 不同優先級的中斷同時申

26、請:不同優先級的中斷同時申請:先高后低先高后低 相同優先級的中斷同時申請:相同優先級的中斷同時申請:按序執行按序執行(2)不同時發生多個中斷申請)不同時發生多個中斷申請 正處理低優先級中斷又接到高級別中斷正處理低優先級中斷又接到高級別中斷:高打斷低高打斷低 正處理高優先級中斷又接到低級別中斷:正處理高優先級中斷又接到低級別中斷:高不理低高不理低 5.2.2 MCS-51單片機的中斷源單片機的中斷源 在上述規則中,當在上述規則中,當CPU正在處理一個中斷正在處理一個中斷請求時,又出現了另一個優先級比它高的中請求時,又出現了另一個優先級比它高的中斷請求,就暫時中止執行優先級較低的中斷斷請求,就暫時

27、中止執行優先級較低的中斷源的服務程序,保護當前斷點,轉去處理更源的服務程序,保護當前斷點,轉去處理更高的中斷請求,服務完畢,回到原來被中止高的中斷請求,服務完畢,回到原來被中止的中斷程序繼續執行。此過程為中斷嵌套。的中斷程序繼續執行。此過程為中斷嵌套。 兩級中斷嵌套的處理過程如圖兩級中斷嵌套的處理過程如圖5-7所示。所示。5.2.2 MCS-51單片機的中斷源單片機的中斷源思考:當系統正在處理定時器思考:當系統正在處理定時器0中斷的過程中斷的過程中,定時器中,定時器1和外部中斷和外部中斷0有中斷請求,描述有中斷請求,描述CPU的中斷處理過程?的中斷處理過程?5.2.2 MCS-51單片機的中斷

28、源單片機的中斷源例例5-2 設定時器和串行口中斷為高優先級,兩設定時器和串行口中斷為高優先級,兩個外部中斷為低優先級,試設置個外部中斷為低優先級,試設置IP的值。的值。解:解:C語言程序語言程序IP=0 x3a;匯編語言程序匯編語言程序: (1)使用字節操作指令:)使用字節操作指令:MOV IP,#3AH(2)使用位操作指令:)使用位操作指令:CLR PX0 ;設置外部中斷;設置外部中斷0為低級中斷為低級中斷5.2.2 MCS-51單片機的中斷源單片機的中斷源CLR PX1 ;置外部中斷;置外部中斷1為低級中斷為低級中斷SETBPT0 ;置定時器;置定時器/計數器計數器0為高級中斷為高級中斷S

29、ETBPT1 ;置定時器;置定時器/計數器計數器0為高級中斷為高級中斷SETBPS;置串行口中斷為高優先級;置串行口中斷為高優先級SETBPT2 ;置定時器;置定時器/計數器計數器2為高級中斷為高級中斷 由于復位后由于復位后IP=00H,外部中斷在此可以不,外部中斷在此可以不設置。設置。5.3 中斷響應及處理過程中斷響應及處理過程主要內容主要內容5.3.1 中斷響應的過程中斷響應的過程5.3.2 中斷的處理和返回過程中斷的處理和返回過程5.3.1 中斷響應的過程中斷響應的過程一、中斷響應條件一、中斷響應條件(1)中斷源有中斷請求;)中斷源有中斷請求;(2)中斷總允許位)中斷總允許位EA=1;(

30、3)發出中斷請求的中斷源的中斷允許控)發出中斷請求的中斷源的中斷允許控制位為制位為1。在滿足以上條件的基礎上,若有下列任何在滿足以上條件的基礎上,若有下列任何一種情況存在,硬件生成的長調用指令一種情況存在,硬件生成的長調用指令“LCALL”將被封鎖。將被封鎖。 5.3.1 中斷響應的過程中斷響應的過程(1)CPU正在執行一個同級或高優先級的中正在執行一個同級或高優先級的中斷服務程序;斷服務程序;(2)正在執行的指令尚未執行完;)正在執行的指令尚未執行完;(3)正在執行中斷返回指令)正在執行中斷返回指令RETI或者對寄或者對寄存器存器IE、IP進行讀進行讀/寫的指令。寫的指令。 CPU在執行完上

31、述指令之后,要再執行在執行完上述指令之后,要再執行一條指令,才能響應中斷請求。一條指令,才能響應中斷請求。5.3.1 中斷響應的過程中斷響應的過程二、中斷響應過程二、中斷響應過程 從中斷請求發生直到被響應,準備去執從中斷請求發生直到被響應,準備去執行中斷服務程序,此過程即中斷響應過程。行中斷服務程序,此過程即中斷響應過程。中斷響應過程一般包括如下幾個階段中斷響應過程一般包括如下幾個階段:1、中斷采樣并置位、中斷采樣并置位 中斷采樣過程:中斷采樣過程:CPU在每個機器周期在每個機器周期S5P2期間期間順序對中斷源采樣、置中斷標志。順序對中斷源采樣、置中斷標志。 2、查詢標志、查詢標志 在中斷采樣

32、后的下一個周期的在中斷采樣后的下一個周期的S6按優先按優先級順序查詢中斷標志。級順序查詢中斷標志。5.3.1 中斷響應的過程中斷響應的過程 3、響應中斷、響應中斷 在滿足中斷響應條件情況下,若中斷標志在滿足中斷響應條件情況下,若中斷標志為為1,在接下來周期在接下來周期S1開始開始按優先級順序進行中按優先級順序進行中斷處理。斷處理。中斷響應過程的操作步驟:中斷響應過程的操作步驟: 硬件自動生成長調用指令硬件自動生成長調用指令LCALL addr16,addr16為為各中斷源的各中斷源的中斷程序入口地址中斷程序入口地址。 PC的內容(即斷點地址)壓入堆棧。的內容(即斷點地址)壓入堆棧。先低先低位地

33、址,后高位地址,并修改堆棧指針位地址,后高位地址,并修改堆棧指針SP。 將中斷源的中斷入口地址裝入程序計數器將中斷源的中斷入口地址裝入程序計數器PC,執行中斷服務程序。執行中斷服務程序。5.3.1 中斷響應過程中斷響應過程三、中斷響應的時間三、中斷響應的時間 一般來說,一般來說,中斷的響應時間最短為中斷的響應時間最短為3個個機器周期,最長為機器周期,最長為8個機器周期。個機器周期。 一般中斷請求標志位查詢占一般中斷請求標志位查詢占1個機器周個機器周期期。而機器周期又恰好是指令的最后一個機。而機器周期又恰好是指令的最后一個機器周期。執行此指令后,器周期。執行此指令后,CPU將響應中斷,將響應中斷

34、,產生硬件長調用指令。產生硬件長調用指令。 長調用長調用LCALL指令需要指令需要2個機器周期個機器周期。這樣,中斷響應時間為這樣,中斷響應時間為3個機器周期。個機器周期。5.3.1 中斷響應過程中斷響應過程響應時間最長的情況(響應時間最長的情況(8周期):周期):CPU正在執行的是正在執行的是RETI指令、或訪問指令、或訪問IP、IE指令;指令;其后恰好是其后恰好是4個機器周期的指令個機器周期的指令MUL、或或DIV) 。加上執行長調用指令加上執行長調用指令LCALL所需所需2個個機器周期,則需要機器周期,則需要8個機器周期。個機器周期。 如果中斷請求被前面所列三個條件之一如果中斷請求被前面

35、所列三個條件之一所阻所阻 止,則所需的響應時間就更長。止,則所需的響應時間就更長。 對于實時性要求高的系統,應該考慮中斷對于實時性要求高的系統,應該考慮中斷響應的時間。響應的時間。5.3.2 中斷處理和返回過程中斷處理和返回過程一、中斷處理過程一、中斷處理過程 當當CPU響應中斷后,響應中斷后,做中斷處理。首先獲做中斷處理。首先獲得中斷服務程序的入得中斷服務程序的入口地址。口地址。 其次:執行中斷服務其次:執行中斷服務程序程序。中斷源中斷源 中斷入口中斷入口外部中斷外部中斷0 0003H 定時器定時器/計數器計數器0 000BH外部中斷外部中斷1 0013H 定時器定時器/計數器計數器1 00

36、1BH 串行口串行口0023H定時器定時器/計數器計數器2 002BH5.3.2 中斷處理和返回過程中斷處理和返回過程 中斷服務程序一般包括三部分內容;中斷服務程序一般包括三部分內容;保護現場保護現場中斷處理程序中斷處理程序恢復現場恢復現場現場:現場:是指中斷發生時單片微機中存儲是指中斷發生時單片微機中存儲單元、寄存器、特殊功能寄存器中的數據或單元、寄存器、特殊功能寄存器中的數據或標志位等。標志位等。例如例如A、B、Rn、PSW、DPTR等等 5.3.2 中斷的處理和返回過程中斷的處理和返回過程保護的方法可以有以下幾種:保護的方法可以有以下幾種: 進棧進棧(使用(使用PUSH、POP)切換工作

37、寄存器切換工作寄存器暫存內部存儲器單元暫存內部存儲器單元多使用堆棧方法,多使用堆棧方法,PUSH、POP成對使成對使用。用。 5.3.2 中斷處理和返回過程中斷處理和返回過程二、中斷返回二、中斷返回使用使用RETI指令指令 RETI指令包含兩個功能:指令包含兩個功能:首先將相應的首先將相應的優先級狀態觸發器清優先級狀態觸發器清0,以開放同級別中斷源的中斷請求;以開放同級別中斷源的中斷請求;其次,從堆棧區把其次,從堆棧區把斷點地址彈出給斷點地址彈出給程序程序計數器計數器PC。注意:注意:不能用不能用RET指令代替指令代替RETI指令。指令。5.4 中斷應用舉例中斷應用舉例主要內容主要內容1、中斷

38、程序的組織結構、中斷程序的組織結構2、中斷的初始化過程、中斷的初始化過程3、中斷服務程序的設計、中斷服務程序的設計4、中斷程序舉例、中斷程序舉例5.4 中斷應用舉例中斷應用舉例一、中斷程序安排一、中斷程序安排1、 主程序主程序 MCS-51單片機復位后,(單片機復位后,(PC)=0000H,主程序只分配主程序只分配0000H-0002H共共3個單元。經常個單元。經常在在0000H單元設置一條單元設置一條LJMP指令,轉向主程指令,轉向主程序的入口處序的入口處。而真正的主程序一般安排在中。而真正的主程序一般安排在中斷區域之后。斷區域之后。2、 各中斷服務程序各中斷服務程序 每個中斷服務程序在固定

39、的位置由系統分配每個中斷服務程序在固定的位置由系統分配相鄰的相鄰的8個單元個單元用于存儲程序。用于存儲程序。5.4 中斷應用舉例中斷應用舉例程序組織的一般結構:程序組織的一般結構:ORG0000HLJMPMAIN ORG0003HLJMPINT_0ORG 0030HMAIN: .;主程序區主程序區. ;進行初始化進行初始化SJMP $ ;等待中斷等待中斷INT_0:.;外部中斷外部中斷0服務子程序服務子程序.RETI5.4 中斷應用舉例中斷應用舉例二、中斷初始化步驟二、中斷初始化步驟 89C52單片機中,共有單片機中,共有6個中斷源,個中斷源,中斷的中斷的初始化主要是對由初始化主要是對由5個特

40、殊功能寄存器個特殊功能寄存器TCON、T2CON、SCON、IE和和IP的設置。的設置。中斷初始化部分一般放在主程序中。中斷初始化部分一般放在主程序中。5.4 中斷應用舉例中斷應用舉例三、中斷服務程序流程設計三、中斷服務程序流程設計 MCS-51結束到中斷請求后,在條件滿足結束到中斷請求后,在條件滿足的情況下,響應中斷并轉到對應的中斷服務的情況下,響應中斷并轉到對應的中斷服務程序入口處執行程序入口處執行 。中斷程序主要由如下所中斷程序主要由如下所示幾部分組成:示幾部分組成:1、保護現場、保護現場 中斷響應后,系統已自動將斷點進行保護。中斷響應后,系統已自動將斷點進行保護。 保護現場,主要針對中

41、斷程序中的寄存器保護現場,主要針對中斷程序中的寄存器和存儲單元。其位置在中斷服務程序前段。和存儲單元。其位置在中斷服務程序前段。5.4 中斷應用舉例中斷應用舉例2、關中斷和開中斷、關中斷和開中斷 89C52允許中斷嵌套允許中斷嵌套。為了在保護現場或恢。為了在保護現場或恢復現場時,由于復現場時,由于CPU響應其它中斷請求,而響應其它中斷請求,而使現場破壞,一般在保護和恢復現場時,使現場破壞,一般在保護和恢復現場時,CPU不響應外界的中斷請求,即關中斷。不響應外界的中斷請求,即關中斷。 在保護現場和恢復現場前,關中斷;在保在保護現場和恢復現場前,關中斷;在保護現場和恢復現場后,再根據需要使護現場和

42、恢復現場后,再根據需要使CPUCPU開開中斷。中斷。 思考:如果允許中斷嵌套,什么時間關中斷思考:如果允許中斷嵌套,什么時間關中斷和開中斷?和開中斷?5.4 中斷應用舉例中斷應用舉例3、中斷請求撤除、中斷請求撤除 CPU響應某中斷請求后,在響應某中斷請求后,在中斷返回前中斷返回前,應該應該撤消撤消該該中斷請求。中斷請求。中斷請求撤除方法如中斷請求撤除方法如下:下: 定時器定時器0、1溢出中斷請求的撤除:允許溢出中斷請求的撤除:允許中中斷的情況下,響應中斷后,硬件會自動清除斷的情況下,響應中斷后,硬件會自動清除中斷請求標志中斷請求標志TFx。 定時器定時器/計數器計數器2請求的撤除:請求的撤除:

43、T2中斷請求中斷請求標志位標志位TF2和和EXF2不能自動復位,須不能自動復位,須軟件復軟件復位位。 串行口中斷的撤除:串行口中斷的撤除:串行口中斷請求標串行口中斷請求標志位志位TI和和RI,必須,必須軟件復位軟件復位。5.4 中斷應用舉例中斷應用舉例 外部中斷的撤除外部中斷的撤除:外部中斷為外部中斷為邊沿觸發邊沿觸發方式時,響應中斷后,方式時,響應中斷后,硬件自動清除硬件自動清除IE0或或IE1。 外部中斷為電平觸發方式時外部中斷為電平觸發方式時。響應中斷。響應中斷后,后,硬件會自動清除硬件會自動清除IE0或或IE1。但由于加但由于加到或引腳的外部中斷請求信號并未撤除,到或引腳的外部中斷請求

44、信號并未撤除,中斷請求標志中斷請求標志IE0或或IE1會再次被置會再次被置1,所以,所以在在CPU響應中斷后應立即撤除或引腳上的響應中斷后應立即撤除或引腳上的低電平。低電平。 一般采用加一個一般采用加一個D觸發器和幾條指令的觸發器和幾條指令的方法來解決這個問題方法來解決這個問題。5.4 中斷應用舉例中斷應用舉例4、中斷源的識別、中斷源的識別 串行口中斷串行口中斷:接收請求標志接收請求標志RI和發送中斷請和發送中斷請求標志位求標志位TI共用中斷入口地址(共用中斷入口地址(0023H),),中斷允許位中斷允許位ES和中斷優先級選擇位和中斷優先級選擇位PS。 定時器定時器/計數器計數器2:中斷請求標

45、志中斷請求標志TF2和和EXF2,共用一個中斷矢量地址(共用一個中斷矢量地址(002BH),中斷允),中斷允許位許位ET2和中斷優先級選擇位和中斷優先級選擇位PT2。 在中斷服務程序中注意區分是哪種中斷引在中斷服務程序中注意區分是哪種中斷引起的中斷請求,并清除其中斷請求標志。起的中斷請求,并清除其中斷請求標志。5.4 中斷應用舉例中斷應用舉例5、恢復現場、恢復現場 在結束中斷服務程序,在結束中斷服務程序,返回斷點處前返回斷點處前要要恢恢復現場復現場。6、中斷返回、中斷返回 當當CPU執行到執行到RETI指令時,將指令時,將當前棧頂當前棧頂內內容彈出到容彈出到PC,恢復斷點恢復斷點。注意:中斷服務程序的最后一條指令,必須注意:中斷服

溫馨提示

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

評論

0/150

提交評論