胡漢才版單片機第6章MCS-51中斷系統(tǒng)匯編_第1頁
胡漢才版單片機第6章MCS-51中斷系統(tǒng)匯編_第2頁
胡漢才版單片機第6章MCS-51中斷系統(tǒng)匯編_第3頁
胡漢才版單片機第6章MCS-51中斷系統(tǒng)匯編_第4頁
胡漢才版單片機第6章MCS-51中斷系統(tǒng)匯編_第5頁
已閱讀5頁,還剩203頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、單擊此處添加(tin ji)標題單片機原理(yunl)與接口技術(shù)共二百零八頁2022年7月21日第6章 MCS-51 中斷(zhngdun)系統(tǒng)-2-第6章 MCS-51 中斷(zhngdun)系統(tǒng)共二百零八頁目 錄2022年7月21日第6章 MCS-51 中斷(zhngdun)系統(tǒng)-3-概 述1MCS-51 的中斷系統(tǒng)2中斷控制器8259A3MCS-51 對外部中斷源的擴展4共二百零八頁第6章 MCS-51中斷(zhngdun)系統(tǒng)2022年7月21日第6章 MCS-51 中斷(zhngdun)系統(tǒng)-4- 人們通過輸入設(shè)備向計算機輸入原始的程序和數(shù)據(jù),計算機則通過輸出設(shè)備向外界輸出運算結(jié)果,

2、因此外部設(shè)備也是微型計算機或單片微型計算機的重要組成部分。 微型計算機和外部設(shè)備之間不是直接相連,而是通過不同接口電路來達到彼此間信息傳送的,這種信息傳送方式通??梢苑譃椋和絺魉汀惒絺魉?、中斷傳送和DMA傳送等四種,但中斷傳送尤為重要。共二百零八頁第6章 MCS-51中斷(zhngdun)系統(tǒng)2022年7月21日第6章 MCS-51 中斷(zhngdun)系統(tǒng)-5-同步傳送和異步傳送同步傳送方式 中發(fā)送方和接收方的時鐘是統(tǒng)一的、字符與字符間的傳輸是同步無間隔的。異步傳送方式 并不要求發(fā)送方和接收方的時鐘完全一樣,字符與字符間的傳輸是異步的。共二百零八頁第6章 MCS-51中斷(zhngdu

3、n)系統(tǒng)2022年7月21日第6章 MCS-51 中斷(zhngdun)系統(tǒng)-6-中斷傳送在中斷傳送方式中,以外設(shè)為主動方,每次外設(shè)準備好就可以向CPU發(fā)出一次中斷請求,使CPU暫停當前正在執(zhí)行的程序,轉(zhuǎn)去與外設(shè)進行一次數(shù)據(jù)傳輸工作,當完成了本次數(shù)據(jù)的輸入或輸出后,再回到原先被打斷的地方繼續(xù)執(zhí)行原來的程序。中斷方式可以大大提高CPU的效率和系統(tǒng)的實時性。 共二百零八頁第6章 MCS-51中斷(zhngdun)系統(tǒng)2022年7月21日第6章 MCS-51 中斷(zhngdun)系統(tǒng)-7-DMA傳送方式DMA方式即直接存儲器存取方式,是一種在DMA控制器的控制下實現(xiàn)的外設(shè)與存儲器之間的直接數(shù)據(jù)傳輸

4、方式。在整個DMA傳輸過程中,是不需要CPU參與的,完全是通過硬件邏輯電路用固定的順序發(fā)地址和讀寫信號來實現(xiàn)的,數(shù)據(jù)不需要經(jīng)過CPU而是在外設(shè)和存儲器之間高速傳輸。共二百零八頁2022年7月21日第6章 MCS-51 中斷(zhngdun)系統(tǒng)-8-概 述6.1 共二百零八頁6.1 概 述2022年7月21日第6章 MCS-51 中斷(zhngdun)系統(tǒng)-9-中斷是指計算機暫時停止原程序執(zhí)行轉(zhuǎn)而為外部設(shè)備服務(wù)(fw)(執(zhí)行中斷服務(wù)(fw)程序),并在服務(wù)(fw)完后自動返回原程序執(zhí)行的過程。6.1.1 中斷的定義和作用CPU執(zhí)行主程序A主程序CPU繼續(xù)執(zhí)行主程序A斷點中斷請求響應(yīng)中斷CPU執(zhí)

5、行中斷處理程序B中斷返回中斷源中斷又可以定義為CPU自動執(zhí)行中斷服務(wù)程序并返回原程序執(zhí)行的過程。共二百零八頁6.1 概 述2022年7月21日第6章 MCS-51 中斷(zhngdun)系統(tǒng)-10-中斷源:可以(ky)引起中斷的事件稱為中斷源(如定時器溢出等)。中斷請求:由中斷源向CPU發(fā)出請求中斷的信號稱中斷請求。中斷響應(yīng):CPU在滿足條件下接受中斷申請,終止現(xiàn)行程序執(zhí)行轉(zhuǎn)而為申請中斷的對象服務(wù)稱中斷響應(yīng)。中斷服務(wù)程序:處理中斷事件的程序稱為中斷服務(wù)程序。斷點:現(xiàn)行程序被中斷的地址稱為斷點。中斷返回:中斷服務(wù)程序結(jié)束后返回到原程序稱中斷返回。共二百零八頁6.1 概 述2022年7月21日第6

6、章 MCS-51 中斷(zhngdun)系統(tǒng)-11- 中斷概念(ginin)類比 看電視中斷處理中斷請求實際生活中斷返回電話鈴響接聽電話看電視主程序計算機事件發(fā)生事件處理主程序中斷概念示意圖 共二百零八頁6.1 概 述2022年7月21日第6章 MCS-51 中斷(zhngdun)系統(tǒng)-12-中斷過程示意圖中斷(zhngdun)源中斷申請共二百零八頁6.1 概 述2022年7月21日第6章 MCS-51 中斷(zhngdun)系統(tǒng)-13-1.可以提高CPU的工作效率CPU可以和多個外設(shè)同時工作,外設(shè)有數(shù)據(jù)時給出中斷申請,CPU才會去響應(yīng)(xingyng),其它時間只需要完成自己的工作。CPU的

7、利用率高。2.可以提高實時數(shù)據(jù)的處理時效3.實現(xiàn)人機聯(lián)系中斷的作用:中斷與子程序的區(qū)別:子程序是預(yù)先安排好的,而中斷是隨時發(fā)生的共二百零八頁6.1 概 述2022年7月21日第6章 MCS-51 中斷(zhngdun)系統(tǒng)-14-中斷源是指引起中斷原因的設(shè)備(shbi)或部件,或發(fā)出中斷請求信號的源泉。通常,中斷源有以下幾種:1.外部設(shè)備中斷源2.控制對象中斷源3.故障中斷源4.定時脈沖中斷源6.1.2 中斷源共二百零八頁6.1 概 述2022年7月21日第6章 MCS-51 中斷(zhngdun)系統(tǒng)-15- 1) 外部設(shè)備中斷源:外部設(shè)備主要為計算機輸入和輸出數(shù)據(jù),故它是最原始最廣泛的中斷

8、源。通常鍵盤、打印機都可以用作中斷源。 2) 控制對象中斷源:計算機用作實時控制時,被控對象常常被用作中斷源,用于產(chǎn)生中斷請求信號,要求CPU及時采集系統(tǒng)的控制參量、越限參數(shù)以及要求發(fā)送和接收數(shù)據(jù),等等。例如:電壓、電流、溫度、壓力、流量和流速等越限報警的某些物理量,溫度、壓力等。共二百零八頁6.1 概 述2022年7月21日第6章 MCS-51 中斷(zhngdun)系統(tǒng)-16- 3) 故障中斷源:故障源是產(chǎn)生故障信息的源泉。把它作為中斷源是要CPU 以中斷方式對已經(jīng)發(fā)生的故障進行分析和處理。有內(nèi)、外之分,如被零除中斷,掉電等 。 4) 定時脈沖中斷源:也叫定時器中斷,是一種定時脈沖電路 。

9、有內(nèi)、外之分。共二百零八頁6.1 概 述2022年7月21日第6章 MCS-51 中斷(zhngdun)系統(tǒng)-17-6.1.3 中斷(zhngdun)分類 2) 非屏蔽中斷:CPU 不能控制此類中斷。只要有此中斷請求,就必須響應(yīng)。(Zilog公司的Z80 CPU) 1) 可屏蔽中斷:CPU 是否響應(yīng)中斷是可以控制的 (例:可用開中斷、關(guān)中斷指令控制中斷是否被執(zhí)行.MCS-51) 3) 軟件中斷:利用中斷指令使CPU響應(yīng)中斷,CPU只要執(zhí)行指令,就可以轉(zhuǎn)入相應(yīng)中斷服務(wù)程序執(zhí)行。(Intel公司8088、8086)共二百零八頁6.1 概 述2022年7月21日第6章 MCS-51 中斷(zhngd

10、un)系統(tǒng)-18-目的:為避免同一時間因響應(yīng)若干中斷源的中斷請求而帶來的混亂。同一瞬間,CPU只能響應(yīng)若干個中斷源中的一個(y )中斷請求。 中斷嵌套方法:在某一瞬間,CPU因響應(yīng)某一中斷源的中斷請求而正在執(zhí)行它的中斷服務(wù)程序時,若CPU此時的中斷是開放的,那它必然可以把正在執(zhí)行的中斷服務(wù)程序暫停下來轉(zhuǎn)而響應(yīng)和處理中斷優(yōu)先權(quán)更高中斷源的中斷請求,等到處理完后再轉(zhuǎn)回來繼續(xù)執(zhí)行原來的中斷服務(wù)程序,這就是中斷嵌套。6.1.4 中斷嵌套共二百零八頁6.1 概 述2022年7月21日第6章 MCS-51 中斷(zhngdun)系統(tǒng)-19-實現(xiàn)中斷嵌套的必要條件:中斷服務(wù)程序開頭(ki tu)應(yīng)設(shè)置一條開

11、中斷指令(因為CPU會因響應(yīng)中斷而自動關(guān)閉中斷)。要有中斷優(yōu)先權(quán)更高中斷源的中斷請求存在。 兩者不可缺一。共二百零八頁6.1 概 述2022年7月21日第6章 MCS-51 中斷(zhngdun)系統(tǒng)-20- 中斷嵌套過程:CPU在執(zhí)行某個中斷時,若有更高優(yōu)先級的中斷請求,則先響應(yīng)高級(goj)中斷,然后再執(zhí)行低優(yōu)先級中斷,最后返回主程序。嵌套深度為2的中斷嵌套。共二百零八頁6.1 概 述2022年7月21日第6章 MCS-51 中斷(zhngdun)系統(tǒng)-21-1.CPU執(zhí)行安排在主程序開頭的開中斷指令后,若來了一個B中斷請求,CPU便可響應(yīng)B中斷而進入B中斷服務(wù)程序執(zhí)行。2.CPU執(zhí)行設(shè)置

12、在B中斷服務(wù)程序開頭的一條開中斷指令后使CPU中斷再次開放,若此時又來了優(yōu)先級更高的A中斷請求,則CPU響應(yīng)A中斷而進入A中斷服務(wù)程序執(zhí)行。3.CPU執(zhí)行到A中斷服務(wù)程序末尾(mwi)的一條中斷返回指令RETI后自動返回B中斷服務(wù)程序執(zhí)行。4.CPU執(zhí)行到B中斷服務(wù)程序末尾的一條中斷返回指令RETI后又可返回主程序執(zhí)行。共二百零八頁6.1 概 述2022年7月21日第6章 MCS-51 中斷(zhngdun)系統(tǒng)-22-1.進行中斷優(yōu)先權(quán)排隊51內(nèi)部(nib)集成了中斷優(yōu)先權(quán)排隊電路,在軟件配合下可對其5個中斷進行優(yōu)先權(quán)排隊。計算機給每個中斷源規(guī)定了優(yōu)先級別,稱為優(yōu)先權(quán)。這樣,當多個中斷源同時

13、發(fā)出中斷請求時,優(yōu)先權(quán)高的中斷能先被響應(yīng),只有優(yōu)先權(quán)高的中斷處理結(jié)束后才能響應(yīng)優(yōu)先權(quán)低的中斷。6.1.5 中斷系統(tǒng)功能共二百零八頁6.1 概 述2022年7月21日第6章 MCS-51 中斷(zhngdun)系統(tǒng)-23-2.實現(xiàn)中斷嵌套當CPU響應(yīng)某一中斷時,若有優(yōu)先權(quán)高的中斷源發(fā)出中斷請求,則CPU能中斷正在(zhngzi)進行的中斷服務(wù)程序,響應(yīng)高級中斷,高級中斷處理結(jié)束以后,再繼續(xù)進行被中斷的中斷服務(wù)程序。若發(fā)出新的中斷請求的中斷源的優(yōu)先權(quán)級別與正在處理的中斷源同級或更低,CPU不響應(yīng)該中斷請求,直至正在處理的中斷服務(wù)程序執(zhí)行完以后再去處理新的中斷請求。6.1.5 中斷系統(tǒng)功能共二百零八

14、頁6.1 概 述2022年7月21日第6章 MCS-51 中斷(zhngdun)系統(tǒng)-24-3.自動響應(yīng)中斷-在每個指令周期(zhuq)的最后,檢測中斷請求并響應(yīng)。6.1.5 中斷系統(tǒng)功能CPU響應(yīng)中斷時,自動做三件事:一是自動關(guān)閉中斷和把原執(zhí)行程序的斷點地址壓入堆棧,以便中斷返回指令RETI可以按照此地址返回原程序執(zhí)行;二是按中斷源提供(或預(yù)先約定)的中斷矢量自動轉(zhuǎn)入相應(yīng)中斷服務(wù)程序執(zhí)行;三是自動或通過指令來撤除本次中斷請求,以避免再次響應(yīng)本次中斷請求。 共二百零八頁6.1 概 述2022年7月21日第6章 MCS-51 中斷(zhngdun)系統(tǒng)-25-4.實現(xiàn)(shxin)中斷返回-執(zhí)行

15、中斷程序后,用RETI指令實現(xiàn)返回主程序。6.1.5 中斷系統(tǒng)功能執(zhí)行中斷服務(wù)程序后,CPU返回主程序的過程:首先恢復原保留寄存器的內(nèi)容和標志位的狀態(tài),這稱為恢復現(xiàn)場,由用戶編程完成。然后,再加返回指令RETI,恢復PC值,使CPU返回斷點,這稱為恢復斷點?;謴同F(xiàn)場和斷點后,CPU將繼續(xù)執(zhí)行原主程序,中斷響應(yīng)過程到此為止。 共二百零八頁2022年7月21日第6章 MCS-51 中斷(zhngdun)系統(tǒng)-26-MCS-51的中斷(ZHNGDUN)系統(tǒng)6.2 共二百零八頁6.2 MCS-51的中斷(zhngdun)系統(tǒng)2022年7月21日第6章 MCS-51 中斷(zhngdun)系統(tǒng)-27-中

16、斷過程是在硬件基礎(chǔ)上再配以相應(yīng)的軟件而實現(xiàn)的,不同的計算機其硬件結(jié)構(gòu)和軟件指令是不完全相同的,因此,中斷系統(tǒng)也是不相同的。共二百零八頁6.2 MCS-51的中斷(zhngdun)系統(tǒng)2022年7月21日第6章 MCS-51 中斷(zhngdun)系統(tǒng)-28-51單片機中斷系統(tǒng)結(jié)構(gòu)IE0TF0IE1TF1INT0INT1T0T1TIRIEX0ET0EX1ET1ES1EAPX0PT0PX1PT1PS中斷向量地址高低查詢循序PC高級中斷請求PC低級中斷請求中斷向量地址高低01IT1IT01010101010TXRX查詢循序01SCONIEIPTCON硬件查詢中斷源中斷選擇中斷標志中斷源允許全局中斷允

17、許中斷優(yōu)先級查詢電路共二百零八頁6.2 MCS-51的中斷(zhngdun)系統(tǒng)2022年7月21日第6章 MCS-51 中斷(zhngdun)系統(tǒng)-29- MCS-51中斷系統(tǒng)在4個特殊功能寄存器控制下工作。 TCON:定時/計數(shù)器控制寄存器; SCON:串行口控制寄存器; IE: 中斷允許控制寄存器; IP: 中斷優(yōu)先級控制寄存器。 通過對這4個特殊功能寄存器的相應(yīng)位進行置位或清零操作,實現(xiàn)各種中斷控制功能。共二百零八頁6.2 MCS-51的中斷(zhngdun)系統(tǒng)2022年7月21日第6章 MCS-51 中斷(zhngdun)系統(tǒng)-30-8031/8051/8751有5個中斷源(52系

18、列有6個)2個外部中斷源2個定時溢出中斷源1個串行口中斷6.2.1 MCS-51的中斷源和中斷標志外部中斷0(INT0)外部中斷1(INT1)T0溢出中斷(TF0)T1溢出中斷(TF1)串行口中斷(RI或TI)共二百零八頁6.2 MCS-51的中斷(zhngdun)系統(tǒng)2022年7月21日第6章 MCS-51 中斷(zhngdun)系統(tǒng)-31-中斷源(1) 外部中斷源 INT0、INT1:由引腳P3.2、P3.3輸入的兩個外部中斷源;可直接觸發(fā)TCON的IE0、IE1標志位;觸發(fā)方式:邊沿觸發(fā)、電平觸發(fā);觸發(fā)方式由TCON中的IT0、IT1來選擇。EAIE0INT0EX0PX001IT010高

19、優(yōu)先級低優(yōu)先級IEIPTCON共二百零八頁6.2 MCS-51的中斷(zhngdun)系統(tǒng)2022年7月21日第6章 MCS-51 中斷(zhngdun)系統(tǒng)-32-TcTs T TS5S6S4S3S2S5S6S4S3S2S1 CPU 在每個機器周期的S5P2期間,會自動查詢各個中斷申請標志位,若查到某標志位被置位1,將啟動中斷機制。CPU識別中斷申請的依據(jù):共二百零八頁6.2 MCS-51的中斷(zhngdun)系統(tǒng)2022年7月21日第6章 MCS-51 中斷(zhngdun)系統(tǒng)-33-(1) 外部中斷源 INT0、INT1:觸發(fā)方式:電平觸發(fā)和負邊沿觸發(fā)設(shè)定電平觸發(fā)方式(IT0=0或I

20、T1=0)時,CPU檢測到INT0#/INT1#低電平時,中斷請求有效。設(shè)定負邊沿觸發(fā)方式(IT0=1或IT1=1)時,則CPU需兩次檢測INT0#/INT1#才能確定,即前一次檢測為高電平且后一次檢測為低電平時中斷請求有效。共二百零八頁6.2 MCS-51的中斷(zhngdun)系統(tǒng)2022年7月21日第6章 MCS-51 中斷(zhngdun)系統(tǒng)-34-邊沿觸發(fā)方式中斷請求輸入端出現(xiàn)上升沿為有效中斷請求信號電平觸發(fā)方式中斷請求端出現(xiàn)高電平為有效的中斷請求信號中斷響應(yīng)后必須及時撤出高電平共二百零八頁6.2 MCS-51的中斷(zhngdun)系統(tǒng)2022年7月21日第6章 MCS-51 中

21、斷(zhngdun)系統(tǒng)-35-(2) 定時器溢出中斷源 T0、T1定時器溢出中斷由內(nèi)部的定時器中斷源產(chǎn)生,屬于內(nèi)部中斷。用于需要定時控制的場合。當計滿溢出時,使標志位TF0、TF1置“1”,產(chǎn)生中斷請求;TF0:定時器T0的溢出中斷標志位;TF1:定時器T1的溢出中斷標志位。EATF0T0ET0PT010IEIPTCON高優(yōu)先級低優(yōu)先級共二百零八頁6.2 MCS-51的中斷(zhngdun)系統(tǒng)2022年7月21日第6章 MCS-51 中斷(zhngdun)系統(tǒng)-36-(2) 定時器溢出中斷源 T0、T1計數(shù)器溢出中斷:對外部時鐘計數(shù),一個脈沖加1。定時器溢出中斷:內(nèi)部時鐘一個機器周期加1。

22、定時時間由用戶通過程序設(shè)定,CPU在定時器溢出中斷服務(wù)程序中進行計時。定時器T0/T1在定時脈沖作用下從全“1”變?yōu)槿?”時可以自動向CPU提出溢出中斷請求,以表明定時器T0或T1的定時時間已到。共二百零八頁6.2 MCS-51的中斷(zhngdun)系統(tǒng)2022年7月21日第6章 MCS-51 中斷(zhngdun)系統(tǒng)-37-(3) 串行口中斷源 TI、RI由內(nèi)部串行口中斷源產(chǎn)生,屬內(nèi)部中斷。當接收或發(fā)送完一組串行數(shù)據(jù)時,內(nèi)部串行口中斷請求標志位RI或TI置位(由硬件自動執(zhí)行),請求中斷。串行口分為串行口發(fā)送中斷和串行口接收中斷。發(fā)送中斷和接收中斷,由SCON中的TI和RI判斷。EATI

23、RIES1PS10TXRXIEIPSCON高優(yōu)先級低優(yōu)先級共二百零八頁6.2 MCS-51的中斷(zhngdun)系統(tǒng)2022年7月21日第6章 MCS-51 中斷(zhngdun)系統(tǒng)-38-8031中斷標志位分別安排在定時器控制寄存器TCON、串行口控制寄存器SCON中,它們均屬于特殊功能寄存器SFR。 S5P2檢測中斷請求信號,設(shè)立中斷標志位;下一個機器周期檢查標志位,決定是否響應(yīng)中斷。中斷標志共二百零八頁6.2 MCS-51的中斷(zhngdun)系統(tǒng)2022年7月21日第6章 MCS-51 中斷(zhngdun)系統(tǒng)-39-定時器控制寄存器TCON,是SFR之一,鎖存中斷請求標志,字

24、節(jié)地址88H,可位尋址。 位編碼位名稱TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0位地址8FH 8EH 8DH 8CH 8BH 8AH 89H 88H功 能 T1中斷標志位T1啟??刂莆籘0中斷標志位TCON.0/INT1中斷標志位/INT0中斷標志位/INT1觸發(fā)方式位/INT0觸發(fā)方式位T0啟??刂莆籘CON.1TCON.2TCON.3TCON.4TCON.5TCON.6TCON.7共二百零八頁6.2 MCS-51的中斷(zhngdun)系統(tǒng)2022年7月21日第6章 MCS-51 中斷(zhngdun)系統(tǒng)-40-位編碼位名稱TF1 TR1 TF0 TR0 IE1 IT

25、1 IE0 IT0位地址8FH 8EH 8DH 8CH 8BH 8AH 89H 88H狀 態(tài) TCON.0TCON.1TCON.2TCON.3TCON.4TCON.5TCON.6TCON.7外部中斷 0采用電平觸發(fā)0外部中斷 0采用邊沿觸發(fā)1 11 外部中斷1 采用邊沿觸發(fā)0 外部中斷1 采用電平觸發(fā) 0 0 0 0單片機復位時或無中斷請求發(fā)生時,這些位均為0外部中斷1發(fā)出中斷請求時外部中斷0發(fā)出中斷請求時111T0發(fā)出中斷請求時T1發(fā)出中斷請求時停止T0計數(shù)啟動T0開始計數(shù)停止T1計數(shù)啟動T1開始計數(shù)0011外部中斷定時器溢出中斷共二百零八頁6.2 MCS-51的中斷(zhngdun)系統(tǒng)2

26、022年7月21日第6章 MCS-51 中斷(zhngdun)系統(tǒng)-41-串行控制寄存器SCON 是SFR之一,鎖存中斷請求標志,字節(jié)地址98H,可位尋址。 位編碼位名稱SM0 SM1 SM2 REN TB8 RB8 TI RI位地址9FH 9EH 9DH 9CH 9BH 9AH 99H 98H功 能 SCON.0串行發(fā)送中斷標志位串行接收中斷標志位SCON.1SCON.2SCON.3SCON.4SCON.5SCON.6SCON.7共二百零八頁6.2 MCS-51的中斷(zhngdun)系統(tǒng)2022年7月21日第6章 MCS-51 中斷(zhngdun)系統(tǒng)-42-共二百零八頁6.2 MCS-

27、51的中斷(zhngdun)系統(tǒng)2022年7月21日第6章 MCS-51 中斷(zhngdun)系統(tǒng)-43-(1)TCON的中斷標志位TCON為T/C控制寄存器,也鎖存T0和T1的溢出中斷標志和INT0和INT1的中斷標志等。當中斷源有中斷時,由硬件自動對相應(yīng)位置“1” 。響應(yīng)中斷后由硬件自動清除相應(yīng)的標志位。TF1TR1TF0TR0IE1IT1IE0IT0(MSB)(LSB)TCON(88H)共二百零八頁6.2 MCS-51的中斷(zhngdun)系統(tǒng)2022年7月21日第6章 MCS-51 中斷(zhngdun)系統(tǒng)-44-(2)SCON的中斷標志位SCON為串口控制寄存器, 鎖存TI和R

28、I的中斷標志。串口的發(fā)送和接收中斷(邏輯或)共用一個中斷源。當發(fā)送或接收有中斷時,由硬件對TI或RI置“1” 。中斷響應(yīng)后需要由軟件判斷TI和RI位,并只能由軟件清除TI或RI標志位。SM0SM1SM2RENTB0RB0TIRI(MSB)(LSB)SCON(98H)圖共二百零八頁6.2 MCS-51的中斷(zhngdun)系統(tǒng)2022年7月21日第6章 MCS-51 中斷(zhngdun)系統(tǒng)-45-中斷請求的控制包括對中斷允許的控制和對中斷優(yōu)先權(quán)的控制。由中斷允許寄存器IE(Interrupt Enable)和中斷優(yōu)先級控制器IP(interruptpriority) 組成。IE用于控制5個

29、中斷源中哪些中斷請求被允許向CPU提出,哪些被禁止。IP用于控制5個中斷源的中斷請求的優(yōu)先權(quán)最高,被CPU最先處理。6.2.2 MCS-51對中斷請求的控制共二百零八頁6.2 MCS-51的中斷(zhngdun)系統(tǒng)2022年7月21日第6章 MCS-51 中斷(zhngdun)系統(tǒng)-46-中斷的開放和關(guān)閉是通過中斷允許控制寄存器IE 進行兩級控制的。所謂“兩級控制”:第一級控制是中斷允許總控位EA;第二級控制是各中斷源的中斷允許控制位它們都集成在中斷允許控制寄存器IE中。1.對中斷允許的控制共二百零八頁6.2 MCS-51的中斷(zhngdun)系統(tǒng)2022年7月21日第6章 MCS-51

30、中斷(zhngdun)系統(tǒng)-47-位編碼IE.7IE.6IE.5IE.4IE.3IE.2IE.1IE.0位名稱 EA ET2 ES ET1 EX1ET0 EX0位地址 AFH ADH ACH ABH AAH A9H A8H功 能 允許中斷總控位定時器T1的溢出中斷允許控制位 外部中斷1的中斷允許控制位定時器T0的溢出中斷允許控制位外部中斷0的中斷允許控制位串行口中斷允許控制位定時器T2的溢出中斷允許控制位共二百零八頁6.2 MCS-51的中斷(zhngdun)系統(tǒng)2022年7月21日第6章 MCS-51 中斷(zhngdun)系統(tǒng)-48-位編碼IE.7IE.6IE.5IE.4IE.3IE.2I

31、E.1IE.0位名稱 EA ET2 ES ET1 EX1ET0 EX0位地址 AFH ADH ACH ABH AAH A9H A8H功 能 開通外部中斷/INT0禁止其他中斷00 0 0 0 0 0開通總中斷1所有中斷仍被禁止0 0 0 0 0 10 1 0 0 1 0開通T0和串行口中斷禁止其他中斷 1 1 1 1 1 1開通所有中斷關(guān)閉總中斷共二百零八頁6.2 MCS-51的中斷(zhngdun)系統(tǒng)2022年7月21日第6章 MCS-51 中斷(zhngdun)系統(tǒng)-49-MCS-51單片機復位后,IE被清“0” ,即所有中斷被禁止。要使某一個中斷源被允許中斷,除了IE相應(yīng)的位的被置“1

32、” ,還必須使EA位=1。改變IE的內(nèi)容,可由位操作指令來實現(xiàn),即:SETB bitCLR bit也可按字節(jié)來實現(xiàn):MOV IE,#XXH共二百零八頁6.2 MCS-51的中斷(zhngdun)系統(tǒng)2022年7月21日第6章 MCS-51 中斷(zhngdun)系統(tǒng)-50-MCS-51單片機的中斷控制由用戶通過設(shè)定中斷允許寄存器IE來實現(xiàn),如單片機開放中斷,允許外部事件1中斷、定時器T0溢出中斷和串行口中斷。 設(shè)定程序如下: MOV IE, #10010110B 或: SETB EA; CPU開放中斷 SETB EX1; 允許中斷 SETB ET0; 允許定時/計數(shù)器溢出中斷 SETB ES;

33、 允許串行口中斷共二百零八頁6.2 MCS-51的中斷(zhngdun)系統(tǒng)2022年7月21日第6章 MCS-51 中斷(zhngdun)系統(tǒng)-51-中斷的開放和關(guān)閉是通過中斷允許控制寄存器IE 進行兩級控制的。所謂“兩級控制”,是指有一個中斷允許總控位EA作為第一級控制,第二級才是各中斷源的中斷允許控制位,它們都集成在中斷允許控制寄存器IE中。2.對中斷優(yōu)先級的控制共二百零八頁6.2 MCS-51的中斷(zhngdun)系統(tǒng)2022年7月21日第6章 MCS-51 中斷(zhngdun)系統(tǒng)-52-MCS-51的中斷源優(yōu)先級是由中斷優(yōu)先寄存器IP來進行控制的。5個中斷源劃分為兩個中斷優(yōu)先級

34、:高優(yōu)先級和低優(yōu)先級。 能實現(xiàn)兩級中斷嵌套;相應(yīng)位置“1”,定義為高級中斷相應(yīng)位清“0”,定義為低級中斷共二百零八頁6.2 MCS-51的中斷(zhngdun)系統(tǒng)2022年7月21日第6章 MCS-51 中斷(zhngdun)系統(tǒng)-53-主程序或子程序中斷服務(wù)1中斷服務(wù)2斷點共二百零八頁6.2 MCS-51的中斷(zhngdun)系統(tǒng)2022年7月21日第6章 MCS-51 中斷(zhngdun)系統(tǒng)-54- 當多個中斷源同時請求中斷,或者CPU正在處理一個中斷,又有了新的中斷請求,MCS-51單片機的處理原則是:(1)多個中斷源同時向CPU請求中斷時,首先響應(yīng)高優(yōu)先級中斷源的中斷請求;(2

35、)高優(yōu)先級中斷請求可以中斷低優(yōu)先級的中斷處理,從而實現(xiàn)中斷嵌套。低優(yōu)先級中斷請求不能中斷高優(yōu)先級或相同優(yōu)先級的中斷處理。共二百零八頁6.2 MCS-51的中斷(zhngdun)系統(tǒng)2022年7月21日第6章 MCS-51 中斷(zhngdun)系統(tǒng)-55- 在一般情況下,首先把各個中斷源分成若干個優(yōu)先級,然后再按如下原則進行處理:(1)不同級的中斷源同時申請中斷時先高后低;(2)同級的中斷源同時申請中斷時事先規(guī)定;(3)處理低級中斷又收到高級中斷請求時停低轉(zhuǎn)高;(4)處理高級中斷又收到低級中斷請求時高不理低。 共二百零八頁6.2 MCS-51的中斷(zhngdun)系統(tǒng)2022年7月21日第6

36、章 MCS-51 中斷(zhngdun)系統(tǒng)-56-位編碼IP.7IP.6IP.5IP.4IP.3IP.2IP.1IP.0位名稱 PT2 PS PT1 PX1PT0 PX0位地址 BDH BCH BBH BAH B9H B8H功 能保留位保留位 定時器T2中斷優(yōu)先級控制位串行口中斷優(yōu)先級控制位定時器T1中斷優(yōu)先級控制位定時器T0中斷優(yōu)先級控制位/INT0中斷優(yōu)先級控制位/INT1中斷優(yōu)先級控制位 1 1 1 1 1 1高級中斷(同為1時亦稱其為同級中斷)低級中斷(同為0時亦稱其為同級中斷) 0 0 0 0 0 0優(yōu)先級相同如何處理?共二百零八頁6.2 MCS-51的中斷(zhngdun)系統(tǒng)2

37、022年7月21日第6章 MCS-51 中斷(zhngdun)系統(tǒng)-57-51的中斷系統(tǒng)有兩個不可尋址的“優(yōu)先級激活觸發(fā)器”:一個是指示某高優(yōu)先級的中斷正在執(zhí)行,所有后來的中斷均被阻止。另一個是指示某低優(yōu)先級的中斷正在執(zhí)行,所有同級中斷都被阻止,但不阻斷高優(yōu)先級的中斷請求。當幾個同一優(yōu)先級的中斷請求時,優(yōu)先響應(yīng)哪一個中斷,取決于內(nèi)部的查詢順序。查詢順序如下:共二百零八頁6.2 MCS-51的中斷(zhngdun)系統(tǒng)2022年7月21日第6章 MCS-51 中斷(zhngdun)系統(tǒng)-58-2個優(yōu)先級中,同級中斷的優(yōu)先次序如下:中斷源中斷標志同級內(nèi)優(yōu)先級外部中斷0 (INT0)IE0最高定時器

38、0溢出中斷 (T0)TF0外部中斷1 (INT1)IE1定時器1溢出中斷 (T1)TF1串口中斷RI或TI定時器2溢出中斷 (T2)TF2或EXF最低共二百零八頁6.2 MCS-51的中斷(zhngdun)系統(tǒng)2022年7月21日第6章 MCS-51 中斷(zhngdun)系統(tǒng)-59- 例如:某軟件中對寄存器IE、 IP設(shè)置如下: MOV IE, 8FH MOV IP, 06H則此時該系統(tǒng)中: CPU中斷允許; 允許外部中斷0、外部中斷1、定時器0、定時器1提出的中斷申請; 允許中斷源的中斷優(yōu)先次序為: 定時器/計數(shù)器0 外部中斷1 外部中斷0 定時器/計數(shù)器1 EAXET2ESET1EX1E

39、T0EX010001111IE共二百零八頁6.2 MCS-51的中斷(zhngdun)系統(tǒng)2022年7月21日第6章 MCS-51 中斷(zhngdun)系統(tǒng)-60-1) 正在進行的中斷過程不能被新的同級或低優(yōu)先級的中斷請求所中斷,一直到該中斷服務(wù)程序結(jié)束,返回主程序且執(zhí)行了主程序中的一條指令后,CPU才能響應(yīng)新的中斷請求。2) 正在進行的低優(yōu)先級中斷服務(wù)程序能被高優(yōu)先級中斷請求所中斷,實現(xiàn)兩級中斷嵌套。3) CPU同時接收到幾個中斷請求時,首先響應(yīng)優(yōu)先級最高的中斷請求。以上所述可歸納為下面3條基本規(guī)則: 共二百零八頁6.2 MCS-51的中斷(zhngdun)系統(tǒng)2022年7月21日第6章

40、MCS-51 中斷(zhngdun)系統(tǒng)-61-中斷響應(yīng)-條件6.2.3 MCS-51 對中斷的響應(yīng) 同時滿足以下4個條件時,才可能響應(yīng)中斷。 (1)有中斷請求; (2) 對應(yīng)中斷允許位為1; (3) 開中斷(即EA=1)。 (4) 當前一條指令執(zhí)行完。 共二百零八頁6.2 MCS-51的中斷(zhngdun)系統(tǒng)2022年7月21日第6章 MCS-51 中斷(zhngdun)系統(tǒng)-62-TF1TF0IE1IT1IE0IT0EAET2ESET1EX1ET0EX0TCONTIRISCONIEPSPT1PX1PT0PX0IPB8HA8H98H88H(1) 有中斷請求;(2) 對應(yīng)中斷允許位為1;(

41、3) 開中斷(即EA=1)。(4) 當前一條指令執(zhí)行完。 共二百零八頁6.2 MCS-51的中斷(zhngdun)系統(tǒng)2022年7月21日第6章 MCS-51 中斷(zhngdun)系統(tǒng)-63-遇以下任一情況,硬件將受阻,不產(chǎn)生LCALL指令:CPU正在處理同級或高優(yōu)先級中斷;當前查詢的機器周期不是所執(zhí)行指令的最后一個機器周期。即在完成所執(zhí)行指令前,不會響應(yīng)中斷,從而保證指令在執(zhí)行過程中不被打斷;正在執(zhí)行RET、RETI或任何訪問IE或IP寄存器的指令時,不相應(yīng)中斷。只有在這些指令后面至少再執(zhí)行一條指令時才能接受中斷請求。共二百零八頁6.2 MCS-51的中斷(zhngdun)系統(tǒng)2022年7

42、月21日第6章 MCS-51 中斷(zhngdun)系統(tǒng)-64- 若由于上述條件的阻礙中斷未能得到響應(yīng),當條件消失時該中斷標志已不再有效,那么該中斷將不被響應(yīng)。就是說,中斷標志曾經(jīng)有效,但未獲響應(yīng),查詢過程在下個機器周期將重新進行。共二百零八頁6.2 MCS-51的中斷(zhngdun)系統(tǒng)2022年7月21日第6章 MCS-51 中斷(zhngdun)系統(tǒng)-65-不響應(yīng)中斷的條件 (滿足之一)(1) 正在執(zhí)行同級或高優(yōu)先級的中斷服務(wù)程序; (2) 不是指令的最后一個機器周期; (該條指令沒有執(zhí)行完)(3) 執(zhí)行RETI 或 讀寫 IE/IP指令期間不能響應(yīng), 或不是其后面一條指令的最后一個機

43、器周期。(即如果是RETI或讀寫IP/IE指令后,需再執(zhí)行一條指令后才能響應(yīng)中斷) ;(4)軟件封鎖(EA0)共二百零八頁6.2 MCS-51的中斷(zhngdun)系統(tǒng)2022年7月21日第6章 MCS-51 中斷(zhngdun)系統(tǒng)-66- 單片機一旦響應(yīng)中斷請求, 就由硬件自動完成以下功能: (1)把當前程序計數(shù)器PC的內(nèi)容(中斷點地址)壓入堆棧,以便在RETI后返回原程序執(zhí)行; (2)關(guān)閉中斷,以防止在響應(yīng)中斷期間受其它中斷的干擾。 (3)把被響應(yīng)的中斷源所對應(yīng)的中斷服務(wù)程序的入口地址(中斷矢量)送入PC, 從而轉(zhuǎn)入相應(yīng)的中斷服務(wù)程序。 共二百零八頁6.2 MCS-51的中斷(zhn

44、gdun)系統(tǒng)2022年7月21日第6章 MCS-51 中斷(zhngdun)系統(tǒng)-67-各中斷源服務(wù)程序入口地址是固定的。中斷源服務(wù)程序的入口地址中斷源中斷標志中斷入口同級內(nèi)優(yōu)先級外部中斷0 (INT0)IE00003H最高定時器0溢出中斷 (T0)TF0000BH外部中斷1 (INT1)IE10013H定時器1溢出中斷 (T1)TF1001BH串口中斷RI或TI0023H定時器2溢出中斷 (T2)TF2或EXF002BH最低共二百零八頁6.2 MCS-51的中斷(zhngdun)系統(tǒng)2022年7月21日第6章 MCS-51 中斷(zhngdun)系統(tǒng)-68- 中斷響應(yīng)指令 LCALL 00

45、03H LCALL 000BH LCALL 0013H LCALL 001BH LCALL 0023H共二百零八頁6.2 MCS-51的中斷(zhngdun)系統(tǒng)2022年7月21日第6章 MCS-51 中斷(zhngdun)系統(tǒng)-69-MCS-51單片機CPU響應(yīng)中斷的過程 共二百零八頁6.2 MCS-51的中斷(zhngdun)系統(tǒng)2022年7月21日第6章 MCS-51 中斷(zhngdun)系統(tǒng)-70-中斷處理過程共二百零八頁6.2 MCS-51的中斷(zhngdun)系統(tǒng)2022年7月21日第6章 MCS-51 中斷(zhngdun)系統(tǒng)-71-中斷響應(yīng)時間 是指從中斷請求標志位置位

46、到CPU開始執(zhí)行中斷服務(wù)程序的第一條指令所持續(xù)的時間。CPU并非每時每刻對每一個中斷請求都予以響應(yīng)。不同的中斷請求其響應(yīng)時間也是不同的。在38個機械周期之間。6.2.4 MCS-51對中斷的響應(yīng)時間共二百零八頁6.2 MCS-51的中斷(zhngdun)系統(tǒng)2022年7月21日第6章 MCS-51 中斷(zhngdun)系統(tǒng)-72-最短:3個機器周期第一機器周期:查詢中斷標志狀態(tài);第二、三機器周期:保護斷點及跳轉(zhuǎn)使程序轉(zhuǎn)入中斷入口地址處。共二百零八頁6.2 MCS-51的中斷(zhngdun)系統(tǒng)2022年7月21日第6章 MCS-51 中斷(zhngdun)系統(tǒng)-73-最長:8個機器周期若正

47、在執(zhí)行RETI等指令需1個機器周期。下一條指令最長需4個機器周期(如乘法指令)。響應(yīng)中斷需3個機器周期。共二百零八頁6.2 MCS-51的中斷(zhngdun)系統(tǒng)2022年7月21日第6章 MCS-51 中斷(zhngdun)系統(tǒng)-74- 中斷源發(fā)出中斷請求后,相應(yīng)的中斷請求標志位自動置“1”,而CPU響應(yīng)中斷后,必須及時清除中斷請求“1”標志。否則中斷響應(yīng)返回后,將再次進入該中斷,引起死循環(huán)出錯。MCS-51對中斷請求的撤除共二百零八頁6.2 MCS-51的中斷(zhngdun)系統(tǒng)2022年7月21日第6章 MCS-51 中斷(zhngdun)系統(tǒng)-75-1.定時器溢出中斷請求的撤除CP

48、U在響應(yīng)中斷后,由硬件自動清除相應(yīng)的中斷請求標志TF0、TF1。用戶不必專門撤除它們。共二百零八頁6.2 MCS-51的中斷(zhngdun)系統(tǒng)2022年7月21日第6章 MCS-51 中斷(zhngdun)系統(tǒng)-76-2.串行口中斷請求的撤除需由軟件指令進行清除: CLR TI CLR RI人工清除共二百零八頁6.2 MCS-51的中斷(zhngdun)系統(tǒng)2022年7月21日第6章 MCS-51 中斷(zhngdun)系統(tǒng)-77-3.外部中斷請求的撤除邊沿觸發(fā)方式的外部中斷/INT0和/INT1請求 CPU在響應(yīng)中斷后,由硬件自動清除相應(yīng)的中斷請求標志IE0與IE1。共二百零八頁6.2

49、MCS-51的中斷(zhngdun)系統(tǒng)2022年7月21日第6章 MCS-51 中斷(zhngdun)系統(tǒng)-78-電平觸發(fā)方式的外部中斷/INT0和/INT1請求由軟、硬件相結(jié)合進行清除。 INSVR: ANL P1, #0FEH ;P1.0=0,Q=1 撤銷中斷 ORL P1, #01H ;P1.0=1,為下次中斷作準備 CLR IE0 ;清除中斷申請 END共二百零八頁6.2 MCS-51的中斷(zhngdun)系統(tǒng)2022年7月21日第6章 MCS-51 中斷(zhngdun)系統(tǒng)-79- MCS-51響應(yīng)中斷后,自動執(zhí)行中斷服務(wù)程序。在中斷服務(wù)程序中,只要遇到RETI指令(不論在什么

50、位置),單片機就結(jié)束本次中斷服務(wù),返回原程序。因此,在中斷服務(wù)程序的最后必須有一條RETI指令,用于中斷返回。中斷返回共二百零八頁6.2 MCS-51的中斷(zhngdun)系統(tǒng)2022年7月21日第6章 MCS-51 中斷(zhngdun)系統(tǒng)-80- 在中斷服務(wù)程序中,PUSH指令與POP指令必須成對使用,否則不能正確返回斷點。而且最后一條指令必須為中斷返回指令RETI。 RETI的具體功能:1) 將中斷響應(yīng)時壓入堆棧保存的斷點地址從棧頂彈出送回PC,CPU從中斷的地方繼續(xù)執(zhí)行程序;2) 將相應(yīng)中斷優(yōu)先級狀態(tài)觸發(fā)器清0,通知中斷系統(tǒng),中斷服務(wù)程序已執(zhí)行完畢。共二百零八頁6.2 MCS-51

51、的中斷(zhngdun)系統(tǒng)2022年7月21日第6章 MCS-51 中斷(zhngdun)系統(tǒng)-81-ORG 0013HLJMP WBZD1一般在入口地址處放置一條跳轉(zhuǎn)指令,轉(zhuǎn)到相應(yīng)的中斷服務(wù)程序入口處。如對外部中斷1的中斷響應(yīng):共二百零八頁6.2 MCS-51的中斷(zhngdun)系統(tǒng)2022年7月21日第6章 MCS-51 中斷(zhngdun)系統(tǒng)-82-在中斷服務(wù)程序編程時,首先要對中斷系統(tǒng)進行初始化,也就是對幾個特殊功能寄存器的有關(guān)控制位進行賦值。具體來說, 就是要完成下列工作:6.2.6 中斷系統(tǒng)的初始化(1)開中斷和允許中斷源中斷;(2)確定各中斷源的優(yōu)先級;(3)若是外部中

52、斷,則應(yīng)規(guī)定是電平觸發(fā)還是邊沿觸發(fā)。共二百零八頁6.2 MCS-51的中斷(zhngdun)系統(tǒng)2022年7月21日第6章 MCS-51 中斷(zhngdun)系統(tǒng)-83-寄存器復位狀態(tài)寄存器復位狀態(tài)PC0000HTMOD00HACC00HTCON00HB00HTH000HPSW00HTL000HSP07HTH100HDPTR0000HTL100HP0P3FFHSCON00HIP00000SBUFIE000000PCON000000共二百零八頁6.2 MCS-51的中斷(zhngdun)系統(tǒng)2022年7月21日第6章 MCS-51 中斷(zhngdun)系統(tǒng)-84-程序的初始化復位后,PC指向

53、0000H,一般在0000H處放置一條SJMP或AJMP指令跳轉(zhuǎn)到0030H后,避開被占用區(qū)域; (由于中斷服務(wù)的入口地址0003H、000BH、0013H、001BH、0023H、002BH被占用,故選在0030H以后。)在中斷服務(wù)程序各入口地址處放置一條LJMP指令,指向?qū)嶋H中斷服務(wù)程序;一般將SP指向30H后,避開內(nèi)部RAM的工作寄存器組和位尋址區(qū)。 (復位后,SP指向內(nèi)部RAM的07H單元,因內(nèi)部RAM的00H1FH為R0R7的4個區(qū),而20H2FH為位尋址區(qū)。)共二百零八頁6.2 MCS-51的中斷(zhngdun)系統(tǒng)2022年7月21日第6章 MCS-51 中斷(zhngdun)

54、系統(tǒng)-85-85 入口表程序ORG 0000HLJMP MAIN ; 跳到主程序入口ORG 0003HLJMP RINT0 ; 跳到 /INT0 中服程序入口ORG 000BHLJMP RT0 ; 跳到 T0 中服程序入口ORG 0013HLJMP RINT1 ; 跳到 /INT1 中服程序入口ORG 001BHLJMP RT1 ; 跳到 T1 中服程序入口ORG 0023HLJMP RPS ; 跳到串行口中服程序入口共二百零八頁6.2 MCS-51的中斷(zhngdun)系統(tǒng)2022年7月21日第6章 MCS-51 中斷(zhngdun)系統(tǒng)-86-【例6.1】若規(guī)定外部中斷/INT1為低電

55、平觸發(fā)方式,高優(yōu)先級,寫出有關(guān)的初始化程序。 解: 采用位操作指令實現(xiàn):SETB EA;開總中斷 SETB EX1;允許外中斷1中斷SETB PX1;外中斷1定為高優(yōu)先級CLR IT1;電平觸發(fā)EAET2ESET1EX1ET0EX0TF1TR1TF0TR0IE1IT1IE0IT0IETCONPT2PSPT1PX1PT0PX0IP共二百零八頁6.2 MCS-51的中斷(zhngdun)系統(tǒng)2022年7月21日第6章 MCS-51 中斷(zhngdun)系統(tǒng)-87- 采用字節(jié)型指令 MOV IE,#84H ;開/INT1中斷 ORL IP,#04H ;令/INT1為高優(yōu)先級 ANL TCON,#0

56、FBH ;令/INT1為電平觸發(fā) 顯然,采用位操作指令進行中斷系統(tǒng)初始化是比較簡單的,因為用戶不必記住各控制位在寄存器中的確切位置,而各控制位名稱是比較容易記憶的。共二百零八頁2022年7月21日第6章 MCS-51 中斷(zhngdun)系統(tǒng)-88- 例6-#:若規(guī)定外部(wib)中斷0為電平觸發(fā)方式,高優(yōu)先級,試寫出有關(guān)的初始化程序。解:一般可采用位操作指令來實現(xiàn): SETB PX0;外中斷0定為高優(yōu)先級 CLR IT0 ;電平觸發(fā) SETB EX0 ;允許外中斷0中斷 SETB EA ;開中斷 TF1TF0IE1IT1IE0IT0EAET2ESET1EX1ET0EX0TCONTIRISC

57、ONIEPSPT1PX1PT0PX0IPB8HA8H98H88H共二百零八頁2022年7月21日第6章 MCS-51 中斷(zhngdun)系統(tǒng)-89-采用(ciyng)中斷時的完整程序結(jié)構(gòu) ORG 0000H LJMP MAIN ; 跳到主程序入口 ORG 0003H LJMP RINT0 ; 跳到 /INT0 中服程序入口 MAIN:SETB EA ; 主程序入口 SJMP $ ; 主程序結(jié)束RINT0:PUSH ACC ; 中斷服務(wù)程序入口 RETI ; 退出中斷服務(wù)程序 END ; 結(jié)束匯編表程序主程序中服程序共二百零八頁2022年7月21日第6章 MCS-51 中斷(zhngdun)

58、系統(tǒng)-90-例:現(xiàn)有(xin yu)外部中斷1提出申請, 且主程序中有R0、DPTR、累加器A需保護, 則編制程序應(yīng)為: ORG 0000H LJMP MAIN ORG 0013H ;外部中斷1 LJMP INT11 ORG 0100H MAIN: ; 主程序開始 SJMP MAINORG 1000HINT11: PUSH ACC ; 中斷程序 PUSH DPH PUSH DPL PUSH 00H POP 00H POP DPL POP DPH POP ACC RETI END 共二百零八頁2022年7月21日第6章 MCS-51 中斷(zhngdun)系統(tǒng)-91-例6-# 編制一外部中斷的服

59、務(wù)程序?,F(xiàn)場保護:PSW、A -典型的中斷服務(wù)程序如下-INT:CLR EA ;CPU關(guān)中斷,防止有高級中斷 PUSH PSW ;現(xiàn)場保護 PUSH ACC SETB EA ;CPU開中斷 . . ;中斷處理程序段 CLR EA ;CPU關(guān)中斷,防止有高級中斷 POP ACC ;現(xiàn)場恢復 POP PSW SETB EA ;CPU開中斷 RETI ;中斷返回(fnhu),恢復斷點共二百零八頁2022年7月21日第6章 MCS-51 中斷(zhngdun)系統(tǒng)-92-中斷(ZHNGDUN)控制器8259A6.3 共二百零八頁6.3 中斷(zhngdun)控制器8259A2022年7月21日第6章

60、MCS-51 中斷(zhngdun)系統(tǒng)-93-8259A(以下簡稱8259)是 Intel公司生產(chǎn)的一種可編程序中斷控制器(Interupt Controler),可以配合MCS-51來擴張外部中斷源個數(shù)。具有強大的中斷管理功能。作為一種可編程中斷控制器,是一種集成芯片。它用來管理輸入到CPU的各種外部中斷申請,能提供中斷向量、屏蔽各種中斷輸入等功能。一片8259有8級中斷優(yōu)先級控制能力;9片8259級聯(lián)可以組成64級中斷優(yōu)先級管理系統(tǒng),使CPU的外部中斷源擴張到64個。共二百零八頁6.3 中斷(zhngdun)控制器8259A2022年7月21日第6章 MCS-51 中斷(zhngdun)

溫馨提示

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

評論

0/150

提交評論