




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、1.微機系統微機系統I/O端口的編址方式有哪些分類?端口的編址方式有哪些分類?8086系系統采用的是何種方式?可訪問端口最多有多少個?統采用的是何種方式?可訪問端口最多有多少個?地址編號范圍為何?地址編號范圍為何?2. CPU與外設之間的數據傳送方式有哪幾種?比較與外設之間的數據傳送方式有哪幾種?比較各自傳送數據的過程有何不同?各自傳送數據的過程有何不同?3.總線有哪幾種的分類?總線有哪幾種的分類?總線寬度與帶寬的概念有總線寬度與帶寬的概念有何不同?何不同? PC/XT、ISA、EISA、PCI,屬于何種總,屬于何種總線?各提供多少根數據線?線?各提供多少根數據線?思考題2022年5月14日2
2、教學目標教學目標 掌握掌握8088/8086中斷源類型、中斷向量表、中斷源類型、中斷向量表、中斷優先級、中斷嵌套和中斷處理過程;中斷優先級、中斷嵌套和中斷處理過程; 熟悉熟悉8259A的基本功能,理解其內部結構和的基本功能,理解其內部結構和引腳特性;引腳特性; 了解了解8259A的級聯,工作方式和其初始化命的級聯,工作方式和其初始化命令字編程和操作命令字編程。令字編程和操作命令字編程。第第7 7章章 中斷系統中斷系統教學內容教學內容 7.1 8088/8086中斷系統中斷系統 7.2 中斷控制器中斷控制器8259A 7.3 8259A的應用舉例的應用舉例教學重點 中斷向量表中斷向量表 中斷處理
3、過程中斷處理過程 8259A的級聯的級聯 8259A的工作方式(的工作方式(難點難點) 8259A初始化命令字編程和操作命令字編程初始化命令字編程和操作命令字編程7.1 8088/80867.1 8088/8086中斷系統中斷系統 7.1.1 7.1.1 中斷源類型中斷源類型 7.1.2 7.1.2 中斷向量表中斷向量表 7.1.3 7.1.3 中斷優先級和中斷嵌套中斷優先級和中斷嵌套 7.1.4 7.1.4 中斷處理過程中斷處理過程 7.1.5 7.1.5 中斷服務程序的設計中斷服務程序的設計 中斷:中斷:由于內部事件、外部事件或由程序預先安由于內部事件、外部事件或由程序預先安排的事件所引起
4、的排的事件所引起的CPU暫時停止正在運行的程序,暫時停止正在運行的程序,而轉去執行請求而轉去執行請求CPU服務的內部服務的內部/外部事件或預先外部事件或預先安排事件的安排事件的服務程序服務程序,待服務程序處理完畢后又,待服務程序處理完畢后又返回去繼續執行被暫停的程序的過程。返回去繼續執行被暫停的程序的過程。CPU相 應 中 斷入 口返 回中 斷 申 請主 程 序中 斷 服 務 程 序中斷返回中斷申請和返回中斷申請和返回中斷優點:中斷優點:并行操作并行操作 、實時處理、故障處理、分時操作、實時處理、故障處理、分時操作7.1.1 8086的中斷類型的中斷類型 8086CPU 共有共有256個中斷源
5、,分別對應個中斷源,分別對應00HFFH 或或0255 個個中斷類型碼中斷類型碼,256個中斷源分為兩大類個中斷源分為兩大類:內部中斷和外部中斷內部中斷和外部中斷1內部中斷內部中斷 (1 1)專用中斷。)專用中斷。 0型中斷型中斷除法出錯中斷。除法出錯中斷。 1型中斷型中斷單步中斷。單步中斷。 3型中斷型中斷斷點中斷(斷點中斷(INT)。)。 4型中斷型中斷溢出中斷(溢出中斷(INTO指令)指令) (2 2)軟件中斷)軟件中斷 INT n INT n ;類型號就是;類型號就是n n由執行指令或來源于由執行指令或來源于CPU內部的原因引起的中斷內部的原因引起的中斷。2 2外部中斷外部中斷 (外設
6、請求引起,又稱為外設請求引起,又稱為硬件中斷)硬件中斷) (1 1)非屏蔽中斷非屏蔽中斷NMINMI。上升沿有效上升沿有效,不能用軟件屏蔽中斷。,不能用軟件屏蔽中斷。 (2 2)可屏蔽中斷可屏蔽中斷INTRINTR。高電平有效高電平有效。IF=0 IF=0 屏蔽屏蔽 INTRINTR中斷請求信號來自中斷控制器中斷請求信號來自中斷控制器8259A8259A。類型類型0中斷入口(除法出中斷入口(除法出錯)錯)類型類型1中斷入口(單步中斷)中斷入口(單步中斷)類型類型2中斷入口(中斷入口(NMI)類型類型3中斷入口(斷點中斷中斷入口(斷點中斷)類型類型4中斷入口(溢出中斷中斷入口(溢出中斷)類型類型
7、5中斷入口中斷入口類型類型3131中斷入中斷入口口類型類型32中斷入中斷入類型類型255中斷入口中斷入口IPCSIPCSIPCS00000400800C01001407C0803FC專專用用中中斷斷系系統統備備用用供供用用戶戶使使用用7.1.2 7.1.2 中斷向量表中斷向量表 256256個中斷向量對應的中斷服個中斷向量對應的中斷服務程序的入口地址的表格。務程序的入口地址的表格。 中斷向量表:中斷向量表: 256256個中個中斷向量對應的中斷服務程序斷向量對應的中斷服務程序的入口地址的入口地址集中起來放到存集中起來放到存儲器的儲器的0 0段最前面區域內,形段最前面區域內,形成的一個表,就稱為
8、中斷向成的一個表,就稱為中斷向量表。量表。 中斷向量地址:中斷向量地址: 中斷向量在表中的位置稱為中斷向量在表中的位置稱為中斷向量地址中斷類型號中斷向量地址中斷類型號4 4中斷向量地址中斷向量地址 【例例7-1】鍵盤中斷的向量號為鍵盤中斷的向量號為09H,它對應的中,它對應的中斷服務程序的入口邏輯地址為斷服務程序的入口邏輯地址為0BA9H:0125H。鍵盤中斷對應的向量位于鍵盤中斷對應的向量位于0000:0024H開始的開始的4個單元。這個單元。這4個單元的內容如下:個單元的內容如下:7.1.3 7.1.3 中斷優先級和中斷嵌套中斷優先級和中斷嵌套 1. 8086中斷類型的優先級中斷類型的優先
9、級根據中斷源要求的輕重緩急,排好中斷處理的優先次序,根據中斷源要求的輕重緩急,排好中斷處理的優先次序,即優先級。即優先級。CPU先響應優先級最高的中斷請求。先響應優先級最高的中斷請求。8086CPU依次處理各類中斷相應順序如下:依次處理各類中斷相應順序如下:0級:除單步中斷外的所有內部中斷級:除單步中斷外的所有內部中斷- INT N1級:不可屏蔽中斷級:不可屏蔽中斷- NMI2級:可屏蔽中斷級:可屏蔽中斷-INTR 3級:單步中斷級:單步中斷- INT 3解決中斷的優先級的方法有以下幾種:解決中斷的優先級的方法有以下幾種:軟件查詢確定中斷優先級軟件查詢確定中斷優先級 硬件優先級排隊電路確定優先
10、級硬件優先級排隊電路確定優先級確定中斷優先級的硬件電路確定中斷優先級的硬件電路圖圖 中 斷 1申 請響 應主 程 序 中 斷 1服 務 程 序IRETIRETIRET中 斷 2申 請返回響 應中 斷 3申 請返回 中 斷 2服 務 程 序響 應返回 中 斷 3服 務 程 序2. 中斷嵌套:CPU暫停正在進行的級別較低的中斷服務程暫停正在進行的級別較低的中斷服務程序,轉而執行優先級高的中斷服務,待優先級高的中斷服務序,轉而執行優先級高的中斷服務,待優先級高的中斷服務結束后,再返回到剛才被中斷的較低優先級的那一級,繼續結束后,再返回到剛才被中斷的較低優先級的那一級,繼續為它進行中斷服務的過程。為它
11、進行中斷服務的過程。7.1.4 中斷處理過程中斷處理過程8086在在多個中斷源同時提出中斷請求的情況,找出中斷級多個中斷源同時提出中斷請求的情況,找出中斷級別別優先級最高的優先級最高的1個。個。在取得其中斷類型碼后的處理過程:在取得其中斷類型碼后的處理過程:將中斷類型碼將中斷類型碼*4,作為中斷向量表的指針。,作為中斷向量表的指針。把把CPU的標志寄存器入棧,的標志寄存器入棧,復制追蹤標志復制追蹤標志TF的狀態,清除的狀態,清除IF和和TF標志,標志,保存主程序的斷點,即把主程序斷點處的保存主程序的斷點,即把主程序斷點處的IP和和CS值壓入堆棧值壓入堆棧保護,先壓入保護,先壓入CS值,再壓入值
12、,再壓入IP值。值。從中斷向量表中取中斷服務程序的入口地址,分別送至從中斷向量表中取中斷服務程序的入口地址,分別送至CS和和IP中,先取中,先取CS值,再取值,再取IP值。值。按新地址執行中斷服務程序。按新地址執行中斷服務程序。 8086中斷處理過程流程圖中斷處理過程流程圖 7.2 中斷控制器8259A 8086 CPU的的INTR引腳只有引腳只有1條,而外部硬件中斷條,而外部硬件中斷源設備可能有多個,必須解決以下問題:源設備可能有多個,必須解決以下問題:(1)多個外部中斷請求信號與)多個外部中斷請求信號與INTR引腳的連接引腳的連接問題;問題;(2)CPU如何識別是哪一個中斷源發出的中斷請如
13、何識別是哪一個中斷源發出的中斷請求問題;求問題;(3)由于一次只能有一個外設發送中斷請求,當)由于一次只能有一個外設發送中斷請求,當多個中斷源同時申請中斷時,如何確定哪個優多個中斷源同時申請中斷時,如何確定哪個優先級別最高的問題先級別最高的問題。 中斷控制器中斷控制器8259A8259A就是為這些目的而設計的就是為這些目的而設計的。 7.2.1 7.2.1 8259A8259A的基本功能的基本功能 7.2.2 7.2.2 8259A8259A的內部結構和引腳特性的內部結構和引腳特性 7.2.3 7.2.3 8259A8259A的工作方式的工作方式 7.2.4 7.2.4 8259A8259A的
14、編程命令的編程命令 8259A是可編程中斷控制器;一片是可編程中斷控制器;一片8259可管理可管理8級外部級外部中斷請求,通過級聯最多可管理中斷請求,通過級聯最多可管理64級中斷;可通過編程設置級中斷;可通過編程設置不同的工作方式;可對多個中斷源進行優先級排隊,且無須不同的工作方式;可對多個中斷源進行優先級排隊,且無須程序查詢就可直接或間接轉入中斷程序的入口地址。程序查詢就可直接或間接轉入中斷程序的入口地址。7.2.1 8259A的基本功能的基本功能教學內容 7.2.2 8259A7.2.2 8259A的內部結構和引腳的內部結構和引腳 中斷請求寄存器中斷請求寄存器 中斷屏蔽寄存器中斷屏蔽寄存器
15、 優先級判別器優先級判別器 中斷服務寄存器中斷服務寄存器 1.1.內部結構內部結構 中斷請求寄存器中斷請求寄存器IRRIRR外界中斷請求信號連接到外界中斷請求信號連接到IR0IR0IR7IR7,IRRIRR的的DiDi位為位為1 1表示表示IRiIRi引腳有中斷請求;引腳有中斷請求;為為0 0表示無請求表示無請求 中斷屏蔽寄存器中斷屏蔽寄存器IMRIMRIMRIMR的的DiDi位為位為1 1表示表示IRiIRi中斷被屏蔽(禁止);為中斷被屏蔽(禁止);為0 0,表示允許,表示允許 優先權判別器優先權判別器PRPR 優先權判別器(優先權判別器(PRPR)用來識別各中斷請求的優先)用來識別各中斷請
16、求的優先級別,找出最高優先級的級別,找出最高優先級的1 1個個 中斷服務寄存器中斷服務寄存器ISRISRISRISR中的中的DiDi位為位為1 1表示表示IRiIRi中斷正在服務中;為中斷正在服務中;為0 0表示表示沒有被服務沒有被服務28259A的引腳特性的引腳特性8259ACSWRRDD7D6D5D4D3D2D1D0CAS0CAS1GNDINTAIR7INTCAS2A0VCCIR6IR5IR4IR3IR2IR1IR0EN/SP28272625242322212019171815161234567891012111413 8259A 8259A的工作過程的工作過程1外設中斷源通過外設中斷源通
17、過IR0IR0IR7IR7向向8259A8259A發中斷請求,使發中斷請求,使8259A的的IRRIRR的相應位置的相應位置1 1。(中斷請求)(中斷請求)2若屏蔽寄存器若屏蔽寄存器IMRIMR允許后允許后(對應的位為(對應的位為0 0)進入優先權)進入優先權判別器,將其中最高優先權的判別器,將其中最高優先權的中斷請求由中斷請求由INTINT輸出,送至輸出,送至CPUCPU的的INTRINTR端。(端。(中斷判優)中斷判優)3.3.若若CPUCPU處于開中斷狀態處于開中斷狀態(IF=1)(IF=1)則在當前指令執行結束后,由則在當前指令執行結束后,由INTA發出兩個負脈沖作為響應發出兩個負脈沖
18、作為響應信號信號。1根地址線:兩個端口地址根地址線:兩個端口地址 A0=0 為偶地址為偶地址 A0=1為奇地址為奇地址 1 1)第一個負脈沖告訴)第一個負脈沖告訴8259A8259A,CPUCPU響應其中斷請求。響應其中斷請求。82598259完成如下工作:完成如下工作:(1)使)使ISR相應位置相應位置1,表示,表示CPU已為該中斷請求服務。已為該中斷請求服務。(2)使)使IRR的相應位清的相應位清0。 2 2)8259A8259A接收到第二個負脈沖接收到第二個負脈沖,將中斷類型號送上數將中斷類型號送上數據總線據總線(CPU讀取中斷類型號讀取中斷類型號nX4,得到,得到CS與與IP的的值,保
19、護斷點,轉入值,保護斷點,轉入中斷服務中斷服務程序)。(程序)。(中斷響應)中斷響應) 4在在CPU CPU 執行中斷服務過程中,執行中斷服務過程中,82598259繼續進行中斷繼續進行中斷管理,若有更高級的中斷請求,則實現中斷嵌套,否管理,若有更高級的中斷請求,則實現中斷嵌套,否則被屏蔽。(則被屏蔽。(中斷服務)中斷服務) 5. 執行到執行到IRETIRET指令,則指令,則8259A8259A自動(或由軟件)清除自動(或由軟件)清除ISRISR的相應位,恢復斷點返回到主程序繼續工作的相應位,恢復斷點返回到主程序繼續工作。 (中斷返回)(中斷返回)總結8259管理外部中斷處理過程: 中斷請求中
20、斷請求:中斷源產生中斷請求(:中斷源產生中斷請求( 中斷判優中斷判優:多個中斷源同時提出中斷請求的情況。多個中斷源同時提出中斷請求的情況。根據中斷源的輕重緩急,給每個中斷源確定一個中斷級根據中斷源的輕重緩急,給每個中斷源確定一個中斷級別別優先權。優先權。 中斷響應中斷響應:優先權最高的中斷請求就被送到優先權最高的中斷請求就被送到CPU的的中斷請求引腳上中斷請求引腳上INTR(IF=1時)時)INTA 中斷處理中斷處理:完成中斷服務程序,按下面模式設計完成中斷服務程序,按下面模式設計 (1)保護現場)保護現場 (2)執行中斷服務程序)執行中斷服務程序 (3)恢復現場)恢復現場 中斷返回中斷返回:
21、執行中斷返回指令執行中斷返回指令IRET ,返回到原程序,返回到原程序的斷點處繼續原程序的執行。的斷點處繼續原程序的執行。3. 8259A3. 8259A級聯級聯問題:問題:3片片8259級聯,可管理多少個外部中斷級聯,可管理多少個外部中斷中斷級連總結:中斷級連總結: 一個系統中,一個系統中,8259A可以級連,有一個主可以級連,有一個主8259A,其余(最多,其余(最多8個)從個)從8259A 級連時,主級連時,主8259A的三條級連線的三條級連線CAS0CAS2作為輸出線,連至每個從作為輸出線,連至每個從8259A的的CAS0CAS2 每個從每個從8259A的中斷請求信號的中斷請求信號IN
22、T,連至主連至主8259A的一個中斷請求輸入端的一個中斷請求輸入端IR 主主8259A的的INT線連至線連至CPU的中斷請求的中斷請求INTR輸入端輸入端 SP/EN在非緩沖方式下,規定該在非緩沖方式下,規定該8259A是主是主片(片(SP1)還是從片(還是從片(SP0)1優先級管理方式優先級管理方式(1)全嵌套方式。 8259中斷優先級按中斷優先級按IR0IR7順序,順序,固定固定IR0為最高為最高并且并且只允許中斷級別高的中斷源在中斷級別低的中斷服務程只允許中斷級別高的中斷源在中斷級別低的中斷服務程序中嵌套,不能相反。序中嵌套,不能相反。在對在對8259A進行初始化以后,沒進行初始化以后,
23、沒有設置其他優先級方式,則自動按此方式工作。有設置其他優先級方式,則自動按此方式工作。(2)特殊全嵌套方式)特殊全嵌套方式。 當執行某一級中斷服務程序時,可響應同級當執行某一級中斷服務程序時,可響應同級(1個個8259從片)的中斷請求,從而實現對同級中斷請求的特殊嵌從片)的中斷請求,從而實現對同級中斷請求的特殊嵌套。特殊全嵌套方式用于多片級聯。套。特殊全嵌套方式用于多片級聯。7.2.3 8259A的工作方式的工作方式2優先級控制方式優先級控制方式(1)優先級自動循環方式。 優先級順序不是固定不變的,一個設備得到優先級順序不是固定不變的,一個設備得到中斷服務后,其優先級自動降為最低。其初中斷服務
24、后,其優先級自動降為最低。其初始的優先級順序規定為始的優先級順序規定為IR0,IR1,IR2,IR7 用于系統中多個中斷源優先級相等的場合用于系統中多個中斷源優先級相等的場合(2)優先級特殊循環方式。)優先級特殊循環方式。 其初始的優先級不是固定其初始的優先級不是固定IR0為最高,然后開始循環,為最高,然后開始循環,而是由程序指定而是由程序指定IR0IR7中任意一個為最高優先級,中任意一個為最高優先級,然后再按順序自動循環,決定優先級。然后再按順序自動循環,決定優先級。 3中斷結束方式中斷結束方式(1)自動中斷結束方式。 在中斷服務程序中,中斷返回之前,在中斷服務程序中,中斷返回之前,不需要不
25、需要發出中斷結束命令發出中斷結束命令就會自動清除該中斷源所就會自動清除該中斷源所對應的對應的ISR位,結束中斷。位,結束中斷。 用在多個中斷不會嵌套的系統中。用在多個中斷不會嵌套的系統中。(2)非自動中斷結束方式。)非自動中斷結束方式。 在中斷服務程序返回之前,在中斷服務程序返回之前,必須發中斷結束必須發中斷結束命令命令才能使才能使ISR中的當前服務位清除。中的當前服務位清除。返返 回回4. 8259A與系統總線的連接方式與系統總線的連接方式緩沖方式緩沖方式 :SP/EN為接緩沖器的驅動信號為接緩沖器的驅動信號非緩沖方式:非緩沖方式:主片(主片(SP/EN1)還是從片)還是從片(SP/EN0)
26、5. 引入中斷請求的方式(外設)引入中斷請求的方式(外設)邊沿觸發方式邊沿觸發方式電平觸發方式電平觸發方式7.3.5 8259A7.3.5 8259A的編程命令的編程命令 初始化命令字ICW1-ICW2-ICW3-ICW4:初始化命令字是由8259A初始化程序按順序填寫的。通常只寫1次,且在整個系統工作過程中保持不變。 操作命令字OCW1、OCW2、OCW3: 操作命令字是程序執行過程中隨時可多次寫入的,希望改變8259A的工作方式、隨時屏蔽(或允許)某些中斷、讀出8259A當前的IRR、ISR狀態信息。1初始化命令字初始化命令字ICW初始化命令字初始化命令字ICW1(1片片/多片)多片)初始
27、化命令字初始化命令字ICW2(類型碼)類型碼)初始化命令字初始化命令字ICW3(從片位置從片位置)初始化命令字初始化命令字ICW4 (工作方式)(工作方式)寫在寫在 奇地址中奇地址中N N Y Y 寫寫ICW1 寫寫ICW2 寫寫ICW3 要要ICW4? 寫寫ICW4 級聯級聯? 初始化完完初始化完完寫在寫在偶地址中偶地址中圖圖7-13 8259A初始化流程初始化流程ADIA0 D7 D6 D5 D4 D3 D2 D1 D00LTIM1SNGLICW4A0 D7 D6 D5 D4 D3 D2 D1 D0T7T61T3T4T5A0 D7 D6 D5 D4 D3 D2 D1 D01ID2A0 D7
28、 D6 D5 D4 D3 D2 D1 D0001000ID1ID0ICW11LTIMSNGLIC4D7D6D5D4D3D2D1D0表示可以任意表示可以任意為為1為為0都可以(建議為都可以(建議為0) 1只能為只能為1,作為標志,作為標志中斷觸發方式:中斷觸發方式:LTIM1,電平觸發方式,電平觸發方式LTIM0,邊沿觸發方式,邊沿觸發方式 規定單片或級連方式:規定單片或級連方式:SNGL1,單片方式,單片方式SNGL0,級連方式,級連方式是否寫入是否寫入ICW4IC41,要寫入,要寫入ICW4IC40,不寫入,不寫入ICW4,即,即ICW4規定的位全為規定的位全為0ICW2T7T6T5T4T3
29、D7D6D5D4D3D2D1D0設置中斷向量號設置中斷向量號nT7T3為中斷向量號的高為中斷向量號的高5位位n低低3位由位由8259A自動確定:自動確定:nIR0為為000、IR1為為001、IR7為為111ICW3S7S6S5S4S3S2/ID2S1/ID1S0/ID0D7D6D5D4D3D2D1D0級連命令字級連命令字n主片主片8259A:Si1對應對應IRi接有從片;接有從片;否則否則IRi沒有連接從片沒有連接從片n從片從片8259A:ID0ID2編碼說明從片編碼說明從片INT引腳接到主片哪個引腳接到主片哪個IR引腳引腳ICW4000SFNMBUFM/SAEOIPMD7D6D5D4D3D
30、2D1D0嵌套方式:嵌套方式:n特殊全嵌套方式(特殊全嵌套方式(SFNM1)n普通全嵌套方式(普通全嵌套方式(SFNM0)數據線的緩沖方式:數據線的緩沖方式:n緩沖方式(緩沖方式(BUF1)n非緩沖方式(非緩沖方式(BUF0) 主片主片/從片選擇:從片選擇:n主片(主片(M/S=1)n從片(從片(M/S=0)中斷結束方式:中斷結束方式:n自動中斷結束(自動中斷結束(AEOI1)n非自動中斷結束(非自動中斷結束(AEOI0)微處理器類型:微處理器類型:n16位位80 x86( PM1)n8位位8080/8085( PM0) 工作方式編程工作方式編程 8259工作方式編程主要完成的任務是對中斷請求
31、的工作方式編程主要完成的任務是對中斷請求的屏蔽、優先級循環控制、中斷結束方式、內部控制屏蔽、優先級循環控制、中斷結束方式、內部控制寄存器的查詢等。寄存器的查詢等。 8259A工作期間,可以隨時接受操作命令字工作期間,可以隨時接受操作命令字OCW OCW共有共有3個:個:OCW1OCW3 寫入時沒有順序要求,需要哪個寫入時沒有順序要求,需要哪個OCW就寫入那個就寫入那個OCWD7D6D5D4D3D2D1D0OCW1M7M6M5M4M3M2M1M0D7D6D5D4D3D2D1D0屏蔽命令字屏蔽命令字內容寫入中斷屏蔽寄存器內容寫入中斷屏蔽寄存器IMRDiMi對應對應IRi,為,為1禁止禁止IRi中斷
32、;中斷;為為0允許允許IRi中斷。各位互相獨立。中斷。各位互相獨立。OCW2RSLEOI00L2L1L0D7D6D5D4D3D2D1D0R、SL和和EOI配合使配合使用用產生中斷結束產生中斷結束EOI命命令和改變優先權順序令和改變優先權順序L2L0的的3位編碼位編碼指定指定IR引腳引腳 OCW30ESMMSMM01PRRRISD7D6D5D4D3D2D1D0ESMM、SMM設置中斷屏蔽方式設置中斷屏蔽方式P、RR和和RIS規定隨后讀取的規定隨后讀取的狀態字狀態字含義含義讀取狀態字讀取狀態字 CPU可讀出可讀出IRR、ISR、IMR和查詢字和查詢字 A0為低,由為低,由OCW3中中RR和和RIS
33、位設定讀位設定讀取取IRR或或ISR,由,由OCW3中中P位設定讀取位設定讀取查詢字查詢字 而而A0引腳為高電平時讀取的都是引腳為高電平時讀取的都是IMR 查詢字反映查詢字反映8259A是否有中斷請求是否有中斷請求MOVOUTNOPINAL,0000 1011B42H,ALAL,42H;允許讀;允許讀ISR的的OCW3字字;寫入;寫入OCW3字字;讀出;讀出ISRMOV OUT NOP IN AL,0000 1010B 42H,AL AL,42H ;允許讀 IRR 的 OCW3字 ;寫入 OCW3字 ;延時 ;讀出 IRR ERROR: MOV OUT NOP IN CMP JNZ AL,00
34、H 43H,AL AL,43H AL,00H ERROR ;開放所有中斷源 ;寫入 OCW1字 ;延時 ;讀出 IMR 狀態 ;檢查 IR7IR0是否全為 0 ;不為 0,有錯 7. 3 8259應用舉例應用舉例假設通過設置初始化命令字假設通過設置初始化命令字ICW2,設置,設置8259中斷向量碼為中斷向量碼為68H,IR3的外設中斷服務程的外設中斷服務程序的過程名為序的過程名為 INTT。編程。編程將中斷服務程序將中斷服務程序的入口地址寫入中斷向量表。的入口地址寫入中斷向量表。則有兩種方法:則有兩種方法:1.1.編程將中斷服務程序編程將中斷服務程序INTRINTR的段地址和偏移地址存入的段地
35、址和偏移地址存入對應的中斷向量表地址。對應的中斷向量表地址。2.2.利用利用DOSDOS系統功能調用系統功能調用 INT 21H INT 21H 完成完成。入口參數:入口參數:(AL)=(AL)=中斷類型碼中斷類型碼 (DS)=(DS)=INTR的段地址的段地址(DX)=偏移地址偏移地址 (AH)=功能號功能號25HMOV AL,6BH ; (AL)=中斷類型號中斷類型號MOV DX,SEG INTTMOV DS,DX ;DS中斷服務程序段基址中斷服務程序段基址MOV DX,OFFSET INTT ;中斷程序偏移;中斷程序偏移地址地址MOV AH,25H ;(;(AH)=功能號功能號 INT
36、21HMOV AX,00H MOV ES,AX MOV BX,6BH*4 ;中斷號;中斷號4BX MOV AX,OFFSET INTT ;中斷程序偏移值;中斷程序偏移值AX MOV ES:BX,AX ;裝入偏移地址;裝入偏移地址 MOV AX,SEG INTT ;中斷程序的段基址;中斷程序的段基址 MOV ES:BX+2,AX ;裝入段基址;裝入段基址 小結1.8086的中斷可分為外部中斷(又稱硬件中斷)和內的中斷可分為外部中斷(又稱硬件中斷)和內部中斷(又稱軟件中斷)。部中斷(又稱軟件中斷)。2.8086采用中斷向量表來管理采用中斷向量表來管理256種中斷。種中斷。3.不同的中斷類型具有不同
37、的中斷類型碼,可以采用軟不同的中斷類型具有不同的中斷類型碼,可以采用軟件查詢、硬件優先級排隊電路等方法來確定中斷優先件查詢、硬件優先級排隊電路等方法來確定中斷優先級。級。4.8086微處理器的中斷處理過程可分為中斷請求、中微處理器的中斷處理過程可分為中斷請求、中斷響應、中斷處理和中斷返回。斷響應、中斷處理和中斷返回。5.8259A能夠直接管理能夠直接管理8級中斷,實現中斷優先級判別,級中斷,實現中斷優先級判別,提供中斷向量(即中斷類型號)和屏蔽中斷等功能。提供中斷向量(即中斷類型號)和屏蔽中斷等功能。如果采用級聯方式,不需附加任何外部電路就能管理如果采用級聯方式,不需附加任何外部電路就能管理6
38、4級中斷輸入,具有多種工作方式,級中斷輸入,具有多種工作方式,6.8259A的初始化編程和操作命令字的編程。的初始化編程和操作命令字的編程。補充:補充:1、8259有幾個端口地址有幾個端口地址, 在固定優先級方式時若正在在固定優先級方式時若正在服務服務 IR4引腳上的中斷請求引腳上的中斷請求,則可進行中斷嵌套的是哪則可進行中斷嵌套的是哪些引腳上的中斷請求些引腳上的中斷請求,若若 5 片片8259級聯可管理多少個級聯可管理多少個外部中斷源外部中斷源 。2、8259 管理外部可屏蔽中斷的過程有哪些?管理外部可屏蔽中斷的過程有哪些?3、要檢測、要檢測8259 管理的管理的8個中斷源當前哪個被屏蔽,個
39、中斷源當前哪個被屏蔽,應該如何操作?應該如何操作?作業作業: P254 1, 3 , 4 ,7類型類型0中斷入口(除法出中斷入口(除法出錯)錯)類型類型1中斷入口(單步中斷)中斷入口(單步中斷)類型類型2中斷入口(中斷入口(NMI)類型類型3中斷入口(斷點中斷中斷入口(斷點中斷)類型類型4中斷入口(溢出中斷中斷入口(溢出中斷)類型類型5中斷入口中斷入口類型類型3131中斷入口中斷入口類型類型32中斷入中斷入類型類型255中斷入口中斷入口IPCSIPCSIPCS00000400800C01001407C0803FC專專用用中中斷斷系系統統備備用用供供用用戶戶使使用用82598259應用總結:采用
40、中斷方式傳送數據應用總結:采用中斷方式傳送數據問題問題1 1:增加:增加1 1個外部設備時個外部設備時問題問題2 2:增加:增加8 8個同優先個同優先級別的外部設備時級別的外部設備時微機控制外部設備時考慮:微機控制外部設備時考慮:1、采用何種方式傳送數據?、采用何種方式傳送數據?2、由主板、由主板8259的哪個引腳的哪個引腳 接入中斷請求信號或級聯接入中斷請求信號或級聯?3、哪些中斷類型碼可用?、哪些中斷類型碼可用?對照對照 P177 P177 表表7-17-116CS MEMIRQ10IRQ11IRQ12IRQ13IRQ140DACKDRQ05DACKDRQ56DACKDRQ67DACK15
41、VGNDD1D18C1C18LA23LA22LA21LA20LA19LA18LA17MEMRMEMWSD8SD9SD10SD11SD12SD13SD14SD15DRQ716CS I/OMASTERSBHEGNDRESETDRV5VIRQ25VDRQ212VCARDLCTD(8槽)(17槽為RESERVED)12VGNDIOWIOR1DACKDRQ10DACKCLOCKIRQ7IRQ6IRQ5T/CALE5VOSCGNDB1B10B20B31A1CHCK I/OD7D6D5D4D3D2D1D0I/O CHRDYA10AENA19A18A17A16A15A14A13A12A11A10A9A8A7A
42、6A5A4A3A2A1A0A31A20DACK2IRQ3IRQ4DRQ33DACKMEMWMEMR中斷向量地址指針中斷向量地址指針00020H00024H00028H001C0H001C4H001C8H001CCH001D0H001D4H001D8H001DCH0002CH00030H00034H00038H0003CH8259A引腳引腳主片主片IR0主片主片IR1主片主片IR2從片從片IR0從片從片IR1從片從片IR2從片從片IR3從片從片IR4從片從片IR5從片從片IR6從片從片IR7主片主片IR3主片主片IR4主片主片IR5主片主片IR6主片主片IR7中斷類型號中斷類型號08H09H0AH70H71H72H73H74H75H76H77H0BH0CH0DH 0EH0FH 優先級優先級0(最高)(最高)123456789101112131415(最低(最低) 中斷源中斷源定時器定時器 鍵盤鍵盤 從片從片8259A8259A 時鐘時鐘/ /日歷鐘日歷鐘 IRQIRQ9 9(保留)(保留) IR
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
評論
0/150
提交評論