C51單片機的中斷_第1頁
C51單片機的中斷_第2頁
C51單片機的中斷_第3頁
C51單片機的中斷_第4頁
C51單片機的中斷_第5頁
已閱讀5頁,還剩76頁未讀, 繼續免費閱讀

下載本文檔

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

文檔簡介

1、第第5 5章章 單片機的定時與單片機的定時與中斷系統中斷系統中斷系統中斷系統:包含中斷源、中斷方式、中:包含中斷源、中斷方式、中斷控制寄存器、中斷響應和中斷請求的斷控制寄存器、中斷響應和中斷請求的撤除。撤除。 本章主要內容本章主要內容定時定時/ /計數器計數器:包含定時:包含定時/ /計數器的定時計數器的定時和計數功能和計數功能 、定時、定時/ /計數器的控制寄存計數器的控制寄存器、工作方式及其應用。器、工作方式及其應用。 單片機在某一時刻只能處理一個任單片機在某一時刻只能處理一個任務,當多個任務同時要求單片機處理時,務,當多個任務同時要求單片機處理時,這一要求應該怎么實現呢?通過中斷可這一要

2、求應該怎么實現呢?通過中斷可以實現多個任務的資源共享。以實現多個任務的資源共享。 MCS-51MCS-51的中斷系統的中斷系統看書看書電話電話鈴響鈴響接電話接電話繼續繼續看書看書中斷響應中斷響應中斷返回中斷返回中斷請求中斷請求中斷的基本概念中斷的基本概念主程序主程序斷點斷點執行中斷服務執行中斷服務(或處理)子程(或處理)子程序序繼續執繼續執行程序行程序 中斷響應中斷響應中斷返回中斷返回中斷請求中斷請求中斷的基本概念中斷的基本概念 所謂的中斷就是,當所謂的中斷就是,當CPUCPU正在處理正在處理某項事務的時候,如果外界或者內部發某項事務的時候,如果外界或者內部發生了緊急事件,要求生了緊急事件,要

3、求CPUCPU暫停正在處理暫停正在處理工作而去處理這個緊急事件,待處理完工作而去處理這個緊急事件,待處理完后,再回到原來中斷的地方,繼續執行后,再回到原來中斷的地方,繼續執行原來被中斷的程序,這個過程稱作中斷。原來被中斷的程序,這個過程稱作中斷。 中斷的定義中斷的定義u 實現這種功能的部件稱為實現這種功能的部件稱為中斷系統中斷系統(中斷機構)。(中斷機構)。u 產生中斷的請求源稱為產生中斷的請求源稱為中斷源中斷源。u 中斷過程中又有中斷發生稱為中斷過程中又有中斷發生稱為中斷中斷嵌套。嵌套。u中斷執行的程序稱為中斷執行的程序稱為中斷服務子程序。中斷服務子程序。 n中斷功能強弱是計算機性能優劣的重

4、要中斷功能強弱是計算機性能優劣的重要標志標志n提高提高CPUCPU效率效率 解決速度矛盾解決速度矛盾 實現并行工作實現并行工作 實時處理實時處理 應付突發事件應付突發事件 中斷源是指在計算機系統中向中斷源是指在計算機系統中向CPUCPU發出中斷請求的來源。發出中斷請求的來源。 MCS-51MCS-51的中斷系統的中斷系統中斷源中斷源80518051單片機有單片機有5 5個中斷源:個中斷源:外部中斷源:外部中斷源:外部中斷外部中斷0(INT0 ) 外部中斷外部中斷1(INT1 )內部中斷源:內部中斷源:定時定時/計數中斷計數中斷0(T0) 定時定時/計數中斷計數中斷1(T1)串行中斷串行中斷 1

5、. 外部中斷源外部中斷源 外部中斷外部中斷0 0(INTINT0 0 ):):來自引腳來自引腳P P3.23.2 外部中斷外部中斷1 1(INTINT1 1 ):):來自引腳來自引腳P P3.33.3外部中斷請求兩種方式:外部中斷請求兩種方式:u 電平觸發方式(低電平有效)電平觸發方式(低電平有效)u 下降沿觸發方式(脈沖的下降沿有下降沿觸發方式(脈沖的下降沿有效,至少要維持一個機器周期)效,至少要維持一個機器周期) 2. 內部中斷源內部中斷源定時定時/ /計數中斷計數中斷0 0(T T0 0):):定時定時/ /計數計數發生溢出時,產生中斷請求。發生溢出時,產生中斷請求。定時定時/ /計數中

6、斷計數中斷1 1(T1T1):):定時定時/ /計數計數發生溢出時,產生中斷請求。發生溢出時,產生中斷請求。 串行中斷:串行中斷:為完成串行數據傳送而設為完成串行數據傳送而設置。單片機完成接受或發送一組數據時,置。單片機完成接受或發送一組數據時,產生中斷請求。產生中斷請求。說明:說明:外部中斷源中斷請求外部中斷源中斷請求需設置需設置,而,而 內部中斷源中斷請求不需設置,內部中斷源中斷請求不需設置, 自動產生自動產生。 MCS-51MCS-51的中斷系統的中斷系統中斷標志中斷標志CPU主程序INT0INT1T0T1串口IE0TF0IE1TF1TIRI中斷源中斷源中斷標志位中斷標志位 每一個中斷源

7、都有相應的中斷標志位;每一個中斷源都有相應的中斷標志位; 某一個中斷源申請中斷,相應中斷標志位置某一個中斷源申請中斷,相應中斷標志位置1 1。 MCS-51MCS-51的中斷系統的中斷系統中斷允許中斷允許CPU主程序INT0INT1T0T1串口IE0TF0IE1TF1TIRI中斷源中斷源中斷標志位中斷標志位 EA總中斷允許位,總中斷允許位,EA=1開放所有中斷,開放所有中斷,EA=0,禁止所有中斷;,禁止所有中斷; 某一個中斷源還有相應的中斷允許位,某一個中斷源還有相應的中斷允許位,1允許相應中斷源的中斷,允許相應中斷源的中斷,0禁禁止相應中斷源的中斷。止相應中斷源的中斷。中斷允許中斷允許ES

8、ET0EX0EX1ET1EA MCS-51MCS-51的中斷系統的中斷系統中斷優先級中斷優先級CPU主程序INT0INT1T0T1串口IE0TF0IE1TF1TISI中斷源中斷源中斷標志位中斷標志位 單片機中有兩個中斷優先級,即高優先級中斷和低優先級中斷,前單片機中有兩個中斷優先級,即高優先級中斷和低優先級中斷,前者優先權高于后者(在程序中設置,相應位者優先權高于后者(在程序中設置,相應位=1=1,為高優先級);,為高優先級); 同一優先級別的中斷源按照自然優先級順序確定優先級別(硬件同一優先級別的中斷源按照自然優先級順序確定優先級別(硬件形成,無法改變)。形成,無法改變)。中斷允許中斷允許E

9、SET0EX0EX1ET1EA自然優先級自然優先級高低優先控制優先控制PSPT0PX0PX1PT1 IE0TCONSCONINT0 IT0=0 IT0=1INT1 IT1=0 IT1=1TF0 IE1TF1T0T1TIRITXDRXDESET0EX0EX1ET1EA自然優先級自然優先級矢量地址高級中斷請求高級中斷請求自然優先級自然優先級矢量地址低級中斷請求低級中斷請求PX0PT0PX1PT1PSIEIP MCS-51 MCS-51的中斷系統結構圖的中斷系統結構圖中斷標志位中斷源允許總允許中斷優先級表表 5.1 8051 中中 斷斷 源源定時器控制寄存器(定時器控制寄存器(TCONTCON)串行

10、口控制寄存器(串行口控制寄存器(SCONSCON)中斷允許控制寄存器(中斷允許控制寄存器(IEIE)中斷優先級控制寄存器(中斷優先級控制寄存器(IPIP)中斷控制寄存器(中斷控制寄存器(4個):個): TF1 TF0 IE1 IT1 IE0 IT0TCONT1溢出中斷標志溢出中斷標志(TCON.7): T1啟動計數后,計滿溢出由硬件啟動計數后,計滿溢出由硬件置位置位TF1=1,向,向CPU請求中斷,此標志請求中斷,此標志一直保持到一直保持到CPU響應中斷后,響應中斷后,才由硬才由硬件自動清件自動清0。也可用軟件查詢該標志,。也可用軟件查詢該標志,并由軟件清并由軟件清0。765432101.1.

11、定時器控制寄存器(定時器控制寄存器(TCONTCON) 計數溢出標志位的使用有兩種情況:計數溢出標志位的使用有兩種情況:u采用中斷方式時,作中斷請求標志位采用中斷方式時,作中斷請求標志位來使用;來使用;u采用查詢方式時,作查詢狀態位來使采用查詢方式時,作查詢狀態位來使用。用。 TF1 TF0 IE1 IT1 IE0 IT0TCON 88H外部中斷外部中斷INT1中斷標志中斷標志位位(TCON.3) : IE11,外部中斷1向CPU申請中斷 外部中斷外部中斷INT1觸發方觸發方式控制位式控制位(TCON.2): IT1=0,電平觸發方式 IT1=1, 下降沿觸發方式76543210IEIE0 0

12、和和IEIE1 1外中斷請求標志位外中斷請求標志位 當當CPUCPU采樣到采樣到INT0(或(或INT1 )端)端出現出現有效中斷請求時有效中斷請求時,IE0 IE0 (或(或IE1IE1)位由硬件位由硬件置置“1”1”。當。當中斷響應完成中斷響應完成轉向中斷服務程序時,由硬件把轉向中斷服務程序時,由硬件把IE0IE0(或(或IE1IE1)清零清零。 TI (SCON.1)串行發送中斷標志。 RI (SCON.0)串行接收中斷標志。 TI RISCON 98H76543210注意:該寄存器可以位尋址。2.SCON寄存器寄存器 TITI串行口發送中斷請求標志位串行口發送中斷請求標志位 當發送完一

13、幀串行數據后,由硬件置當發送完一幀串行數據后,由硬件置“1”1”;在轉向中斷服務程序后,用在轉向中斷服務程序后,用軟件軟件清清“0”0”。 RIRI串行口接收中斷請求標志位串行口接收中斷請求標志位 當接收完一幀串行數據后,由硬件置當接收完一幀串行數據后,由硬件置“1”1”;在轉向中斷服務程序后,用在轉向中斷服務程序后,用軟件軟件清清“0”0”。 串行中斷請求由串行中斷請求由TITI和和RIRI的的邏輯或邏輯或得到。得到。其中與中斷有關的控制位共其中與中斷有關的控制位共2 2位:位: IE A8H EA ESET1EX1 ET0EX0例:允許定時器例:允許定時器T0中斷:中斷: SETB EA

14、SETB ET0 或或 MOV IE,#82H76543210(3 3)中斷允許寄存器)中斷允許寄存器IEIE(4 4)中斷優先級控制寄存器()中斷優先級控制寄存器(IPIP)nMCS-51MCS-51有兩個優先級有兩個優先級,1,1為高為高,0,0為低為低n字節地址字節地址: :B8HB8Hn位地址:位地址: 0BFH0BFH0B8H0B8H 51 51單片機有兩個中斷優先級單片機有兩個中斷優先級高級和低級高級和低級 專用寄存器專用寄存器IPIP為中斷優先級寄存器,用戶可為中斷優先級寄存器,用戶可用軟件設定用軟件設定 相應位為相應位為1 1,對應的中斷源被設置為,對應的中斷源被設置為高優先級

15、高優先級,相應位為相應位為0 0,對應的中斷源被設置為低優先級,對應的中斷源被設置為低優先級 系統復位時,均為低優先級系統復位時,均為低優先級 PSPT1PX1PT0PX0 IP B8H 76543210對同時發生多個中斷申請時:對同時發生多個中斷申請時:不同優先級的中斷同時申請不同優先級的中斷同時申請( (很難遇到很難遇到) ) 先高后低先高后低相同優先級的中斷同時申請相同優先級的中斷同時申請( (很難遇到很難遇到) ) 按序執行按序執行正處理低優先級中斷又接到高級別中斷正處理低優先級中斷又接到高級別中斷 高打斷低高打斷低正處理高優先級中斷又接到低級別中斷正處理高優先級中斷又接到低級別中斷

16、高不理低高不理低中斷優先級處理原則中斷優先級處理原則自然優先級自然優先級:nINT0 高高nT0nINT1nT1nRI/TI 低低CPU正在執行正在執行低中斷源低中斷源高中斷源高中斷源RETIRETI寄存器名稱D7D6D5D4D3D2D1D0TCON(88H) TF1TF0IE1IT1IE0IT0定時器控制寄存器位地址8FH8EH8DH8CH8BH8AH89H88HSCON(98H)TIRI串行口控制寄存器位地址9FH9EH9DH9CH9BH9AH99H98HIE(A8H)EAESET1 EX1 ET0 EX0中斷允許寄存器位地址AFHACHABHAAHA9HA8HIP(B8H)PSPT1 P

17、X1 PT0 PX0中斷優先級寄存器位地址BCHBBHBAHB9HB8H中斷控制寄存器匯總中斷控制寄存器匯總 例如例如, , 某軟件中對寄存器某軟件中對寄存器IEIE、 IPIP設置設置如下如下: :MOV IE,#00HMOV IE,#00H MOV IE, MOV IE, 8FH8FH(10001111B)(10001111B) MOV IP, MOV IP, 06H06H(00000110B)(00000110B) SETB EA; SETB EX0;SETB ET0;SETB SETB EA; SETB EX0;SETB ET0;SETB EX1;SETB ET1;CLR ESEX1;

18、SETB ET1;CLR ES中斷設計舉例中斷設計舉例則此時該系統中則此時該系統中: : uCPUCPU中斷允許中斷允許; ; u允許外部中斷允許外部中斷0 0、外部中斷、外部中斷1 1、定時器、定時器 / /計數器計數器0 0、定時器、定時器/ /計數器計數器1 1提出的中斷提出的中斷申請申請; ; u允許中斷源的中斷優先次序為允許中斷源的中斷優先次序為: : 定時器定時器/ /計數器計數器00外部中斷外部中斷11外部中斷外部中斷00定時器定時器/ /計數器計數器1 1。 n在中斷服務程序編程時在中斷服務程序編程時, ,首先要對中斷首先要對中斷系統進行初始化系統進行初始化, ,也就是對幾個特

19、殊功也就是對幾個特殊功能寄存器的有關控制位進行賦值。能寄存器的有關控制位進行賦值。n初始化的內容包括:初始化的內容包括: (1)(1)開總中斷和相應中斷源的中斷開總中斷和相應中斷源的中斷 (2)(2)設置所用中斷源的優先級設置所用中斷源的優先級; ; (3) (3)若是外部中斷若是外部中斷, ,則應規定是低電平觸則應規定是低電平觸發還是下降沿觸發。發還是下降沿觸發。 中斷初始化中斷初始化例例1:若規定外部中斷:若規定外部中斷1為電平觸發方式為電平觸發方式,高優先級高優先級,試寫出有關的初始化程序。試寫出有關的初始化程序。 SETB EA ;開中斷開中斷 SETB EX1 ;允許外中斷允許外中斷

20、1中斷中斷 SETB PX1 ;外中斷外中斷1定為高優先級定為高優先級 CLR IT1 ;電平觸發電平觸發例例2:使用外部中斷:使用外部中斷0(INT0)和外部)和外部中斷中斷1(INT1),), INT1為高優先級,為高優先級,電平觸發方式,電平觸發方式, INT0為低優先級,下為低優先級,下降沿觸發方式。降沿觸發方式。 則初始化程序如下:則初始化程序如下:MOV IP, #04HMOV TCON, #01HMOV IE, #85H MOV IP, #04HMOV TCON, #01HSETB EASETB EX0SETB EX1 或使用位操作指令如下:或使用位操作指令如下:中斷處理過程中斷

21、處理過程中斷處理過程分為三個階段:中斷處理過程分為三個階段:中斷響應、中中斷響應、中斷處理和中斷返回。斷處理和中斷返回。v 中斷響應中斷響應v 中斷處理中斷處理( (又稱中斷服務又稱中斷服務) )v 中斷返回中斷返回v 中斷請求的撤除中斷請求的撤除 中斷響應中斷返回中斷響應條件中斷響應條件: : 有中斷源發出中斷請求。有中斷源發出中斷請求。 中斷總允許位中斷總允許位EA = 1。 申請中斷的中斷源允許。申請中斷的中斷源允許。滿足以上基本條件,滿足以上基本條件,CPU一般會響應中斷。一般會響應中斷。a aCPUCPU正在響應同級或高優先級的中斷。正在響應同級或高優先級的中斷。b b當前指令未執行

22、完。當前指令未執行完。c c正在執行正在執行RETIRETI中斷返回指令或訪問專用寄中斷返回指令或訪問專用寄存器存器IEIE和和IPIP的指令。的指令。 但若有下列任何一種情況存在,則中斷響應會受但若有下列任何一種情況存在,則中斷響應會受到阻斷。到阻斷。一、中斷響應過程一、中斷響應過程 CPU CPU在每個機器周期的在每個機器周期的S5P2S5P2期間期間采樣中斷請求信號。采樣中斷請求信號。1.1.采樣:采樣: 如果有中斷請求,將中斷請求信如果有中斷請求,將中斷請求信號鎖定到相應的請求標志位(號鎖定到相應的請求標志位(TCONTCON中)。中)。2.2.鎖定:鎖定: TF1 TF0 IE1 I

23、T1 IE0 IT0 在在S6P2S6P2狀態按一定的順序(狀態按一定的順序(INT0INT0、T0T0、 INT1INT1、 T1T1、 RI/TIRI/TI)查詢請求)查詢請求標志,并將有效的中斷請求按優先級標志,并將有效的中斷請求按優先級次序排好。次序排好。3.3.查詢:查詢: 如果查詢到某標志位為如果查詢到某標志位為“1” 1” (在(在TCONTCON中),硬件自動產生一條中),硬件自動產生一條LCALLLCALL指令,轉到相應的中斷入口地指令,轉到相應的中斷入口地址(也稱中斷向量或中斷矢量)。址(也稱中斷向量或中斷矢量)。4.4.產生產生LCALLLCALL指令:指令:程序存儲器程

24、序存儲器ROMROM0000H:復位后,程序的入口地址(PC=0000H)0023H:串行口中斷入口0003H:外部中斷0入口000BH:定時器0溢出中斷入口0013H:外部中斷1入口001BH:定時器1溢出中斷入口002AH使用時,通常在這些入口地址處存放一條跳轉指令,使程序跳轉到用戶安排的中斷服務子程序起始地址上去!中斷源中斷源 入口地址入口地址nINT0 0003HnT0 000BHnINT1 0013HnT1 001BHnRI/TI 0023H特別注意:特別注意:這些工作是硬件自動完成的!這些工作是硬件自動完成的! 如:如:ORG 0003HLJMPINTT0INTT0: 中斷服務子程

25、序中斷服務子程序 RETI5.5.中斷入口地址安排跳轉指令:中斷入口地址安排跳轉指令:二、中斷處理二、中斷處理中斷服務程序從中斷子程序中斷服務程序從中斷子程序入入口地址口地址開始執行,直到返回指開始執行,直到返回指令令RETI為止,這個過程稱為為止,這個過程稱為中中斷處理斷處理(或中斷服務或中斷服務)。中斷服務子程序一般包括兩部中斷服務子程序一般包括兩部分內容,分內容,一是一是保護和恢復現場保護和恢復現場,二是二是處理中斷源的請求處理中斷源的請求。中斷響應入口地址入口地址RETI中斷處理中斷處理INTT0: PUSH ACC PUSH DPH PUSH DPL PUSH PSW 中斷源服務 P

26、OP PSW POP DPL POP DPH POP ACC RETI保護現場恢復現場三、中斷返回三、中斷返回 中斷返回是指中斷服中斷返回是指中斷服務完后,計算機返回到務完后,計算機返回到原來暫停的位置原來暫停的位置( (即斷即斷點點) ),繼續執行原來的程,繼續執行原來的程序。序。 中斷返回由專門的中中斷返回由專門的中斷返回指令斷返回指令RETIRETI來實現。來實現。中斷響應中斷返回 RETI RETI指令功能:把斷指令功能:把斷點地址取出,送回到程點地址取出,送回到程序計數器序計數器PCPC中去。另外,中去。另外,它還通知中斷系統已完它還通知中斷系統已完成中斷處理,將清除優成中斷處理,將

27、清除優先級狀態觸發器。先級狀態觸發器。 特別注意:特別注意:不能用不能用RETRET指令代替指令代替RETIRETI指令指令!中斷響應中斷返回程序存儲器程序存儲器ROMROM0000H:復位后,程序的入口地址(PC=0000H)0023H:串行口中斷入口0003H:外部中斷0入口000BH:定時器0溢出中斷入口0013H:外部中斷1入口001BH:定時器1溢出中斷入口002AH包含T0中斷服務子程序的程序結構:ORG 0000HORG 0000HAJMP MAINORG 000BHORG 000BHAJMP INTT0ORG 0100HORG 0100HMAIN: . . .INTT0:. .

28、 . RETI ENDAJMP MAINAJMP INTT0 中斷請求的撤銷中斷請求的撤銷外中斷包括:外中斷包括:邊沿觸發方式邊沿觸發方式 和電平觸發方式和電平觸發方式 一、外部中斷的撤銷一、外部中斷的撤銷1.邊沿觸發方式邊沿觸發方式 (自動撤銷)自動撤銷)中斷響應完由硬件自動將中斷標志位(中斷響應完由硬件自動將中斷標志位(IE0或或IE1 )清)清0。電平觸發外部中斷電平觸發外部中斷撤除方法較復雜。撤除方法較復雜。 因為在電平觸發方式中,因為在電平觸發方式中,CPUCPU響應中斷時不會響應中斷時不會自動清除自動清除IE1IE1或或IE0IE0標志,所以在響應中斷后應立標志,所以在響應中斷后應

29、立即撤除即撤除INT0INT0或或INT1INT1引腳上的低電平。引腳上的低電平。 在硬件上,在硬件上,CPUCPU對對INT0INT0和和INT1INT1引腳的信號不能控引腳的信號不能控制,所以這個問題要通過硬件,再配合軟件來解制,所以這個問題要通過硬件,再配合軟件來解決。決。2.電平觸發方式電平觸發方式圖 撤除外部中斷請求的電路DSDCLK外中斷0請求信號8031P1.0INT0Q當當CPU響應中斷后,可在中斷服務程序中采用響應中斷后,可在中斷服務程序中采用兩條指令:兩條指令: CLR P1.0 SETB P1.0(或(或 ANL P1,#0FEH ORLP1,#01H )來撤除外部中斷請

30、求。來撤除外部中斷請求。即:即:定時中斷標志位(定時中斷標志位(TFTF0 0或或TFTF1 1 )清)清0 0 (中斷響應完由硬件自動清中斷響應完由硬件自動清0 0。)二、定時中斷的撤銷(自動撤銷)二、定時中斷的撤銷(自動撤銷)即:即:串行中斷標志位(串行中斷標志位(TITI或或RI RI )清)清0 0。 三、串行中斷的撤銷三、串行中斷的撤銷 中斷響應后,還需測試這兩個標志位的狀中斷響應后,還需測試這兩個標志位的狀態,以判定是接收操作還是發送操作,然后態,以判定是接收操作還是發送操作,然后才能清除。才能清除。 串行中斷請求的撤銷串行中斷請求的撤銷使用使用軟件軟件方法方法,在中,在中斷服務子

31、程序中進行。斷服務子程序中進行。 n在中斷服務程序編程時在中斷服務程序編程時, ,首先要對首先要對中斷系統進行初始化中斷系統進行初始化, ,也就是對幾個特也就是對幾個特殊功能寄存器的有關控制位進行賦值。殊功能寄存器的有關控制位進行賦值。具體來說具體來說, ,就是要完成下列工作:就是要完成下列工作:n (1)(1)開中斷和允許中斷源中斷開中斷和允許中斷源中斷n (2)(2)確定各中斷源的優先級確定各中斷源的優先級; ;n (3) (3)若是外部中斷若是外部中斷, ,則應規定是電平觸則應規定是電平觸發還是邊沿觸發。發還是邊沿觸發。中斷程序舉例中斷程序舉例 例例1:若規定外部中斷:若規定外部中斷1為

32、邊沿觸發方式為邊沿觸發方式, 在中在中斷服務程序中將寄存器斷服務程序中將寄存器B的內容左環移一位。的內容左環移一位。試編寫主程序與中斷服務程序。試編寫主程序與中斷服務程序。ORG 0000H LJMP MAIN ORG 0013HLJMP INTT1 ;中斷服務程序轉至中斷服務程序轉至INTT1處處 MAIN:SETB EA ;開中斷開中斷 SETB EX1 ;允許外中斷允許外中斷1中斷中斷 SETB IT1 ;邊沿觸發邊沿觸發 MOV B,0FEH ;設設B的初值的初值 SJMP $ ;暫停等待中斷暫停等待中斷INTT1: MOV A,B ;AB RL A ;左環移一位左環移一位 MOV B

33、,A ;回送回送 (MOV P1,A) ;輸出到輸出到P1口口 RETI ;中斷返回中斷返回此例的實際意義:在此例的實際意義:在INT1INT1引腳接一個脈引腳接一個脈沖按鈕,每按一下按鈕就申請一次中斷沖按鈕,每按一下按鈕就申請一次中斷,中斷服務則是:依次點亮八盞燈中的,中斷服務則是:依次點亮八盞燈中的一盞。一盞。P1.0P1.0P1.7P1.7INT1INT1300 ORG0000H AJMP MAINORG 0003H LJMP INTT0ORG 0013H LJMP INTT1 例例2:2:當外中斷當外中斷0 0響應時,由響應時,由P1.2P1.2口輸出口輸出點亮燈點亮燈, ,當外中斷當

34、外中斷1 1響應時,由響應時,由P1.2P1.2口輸口輸出熄滅燈。出熄滅燈。ORG0030HMAIN: SETBEASETBEX0 SETB EX1SETBIT0SETB IT1 SJMP$INTT0: CLR P1.2 RETIINTT1: SETB P1.2 RETI END ORG0000H AJMP MAINORG 0003H LJMP INTT0ORG 0013H LJMP INTT1 例例3:3:無中斷時,燈全亮,當外中斷無中斷時,燈全亮,當外中斷0 0響響應時,低四位燈亮應時,低四位燈亮, ,當外中斷當外中斷1 1響應時,響應時,高四位燈亮。高四位燈亮。ORG 0030HMAIN:MOVSP,#60H MOVP1,#00HSETBEASETBEX0 SETB EX1SETBIT0SETB IT1 SJMP $INTT0: PUSH P1MOV P1,#0F0HPOP P1 RETIINTT1: PUSH P1 MOV P1,#0FH POP P1 RETI END1.1.無中斷時,燈循環亮,當外中斷無中斷時,燈循環亮,當外中斷0 0響響應時,低四位燈亮應時,低四位燈亮, ,當外中斷當外中斷1 1響應時,響應時,高四位燈亮。高四位燈亮。思考思考: ORG0000

溫馨提示

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

評論

0/150

提交評論