微機(jī)系統(tǒng)及其接口技術(shù):第5章-5 中斷控制系統(tǒng)_第1頁(yè)
微機(jī)系統(tǒng)及其接口技術(shù):第5章-5 中斷控制系統(tǒng)_第2頁(yè)
微機(jī)系統(tǒng)及其接口技術(shù):第5章-5 中斷控制系統(tǒng)_第3頁(yè)
微機(jī)系統(tǒng)及其接口技術(shù):第5章-5 中斷控制系統(tǒng)_第4頁(yè)
微機(jī)系統(tǒng)及其接口技術(shù):第5章-5 中斷控制系統(tǒng)_第5頁(yè)
已閱讀5頁(yè),還剩54頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、n 5.1 基本概念n中斷的定義中斷的定義 CPU執(zhí)行程序時(shí),由于發(fā)生了某種隨機(jī)的執(zhí)行程序時(shí),由于發(fā)生了某種隨機(jī)的事件事件(外部或內(nèi)部外部或內(nèi)部),引起,引起CPU暫時(shí)中斷正暫時(shí)中斷正在運(yùn)行的程序在運(yùn)行的程序,轉(zhuǎn)去執(zhí)行一段特殊的服務(wù),轉(zhuǎn)去執(zhí)行一段特殊的服務(wù)程序程序(稱為稱為中斷服務(wù)程序中斷服務(wù)程序或中斷處理程序或中斷處理程序),以處理該事件,該事件處理完后又以處理該事件,該事件處理完后又返回被返回被中斷的程序繼續(xù)執(zhí)行中斷的程序繼續(xù)執(zhí)行,這一過(guò)程稱為,這一過(guò)程稱為中斷中斷。n引起引起CPU中斷的事件:中斷的事件:中斷源中斷源n外設(shè)外設(shè)請(qǐng)求輸入輸出數(shù)據(jù),報(bào)告故障等;請(qǐng)求輸入輸出數(shù)據(jù),報(bào)告故障等;n

2、事件事件掉電、硬件故障、軟件錯(cuò)誤、非法操作、定時(shí)掉電、硬件故障、軟件錯(cuò)誤、非法操作、定時(shí)時(shí)間到等;時(shí)間到等;n中斷源分為:中斷源分為:外部中斷外部中斷、內(nèi)部中斷內(nèi)部中斷n內(nèi)部中斷內(nèi)部中斷CPU內(nèi)部執(zhí)行程序時(shí)自身產(chǎn)生的中斷;內(nèi)部執(zhí)行程序時(shí)自身產(chǎn)生的中斷;n外部中斷外部中斷CPU以外的設(shè)備、部件產(chǎn)生的中斷;以外的設(shè)備、部件產(chǎn)生的中斷;n 8086/8088的外部中斷信號(hào):的外部中斷信號(hào):INTR、NMInINTR可屏蔽中斷請(qǐng)求,高電平有效,受可屏蔽中斷請(qǐng)求,高電平有效,受IF標(biāo)志的控標(biāo)志的控制。制。IF=1時(shí),執(zhí)行完當(dāng)前指令后時(shí),執(zhí)行完當(dāng)前指令后CPU對(duì)它作出響應(yīng);對(duì)它作出響應(yīng); nNMI非屏蔽中

3、斷請(qǐng)求,上升沿有效,任何時(shí)候非屏蔽中斷請(qǐng)求,上升沿有效,任何時(shí)候CPU都要響應(yīng)此中斷請(qǐng)求信號(hào)。都要響應(yīng)此中斷請(qǐng)求信號(hào)。5.1 基本概念n中斷系統(tǒng)的目的中斷系統(tǒng)的目的 n維持系統(tǒng)正常工作,提高系統(tǒng)效率;維持系統(tǒng)正常工作,提高系統(tǒng)效率;n實(shí)時(shí)處理;實(shí)時(shí)處理;n為故障處理作準(zhǔn)備。為故障處理作準(zhǔn)備。 n8088/8086的中斷系統(tǒng)采用的中斷系統(tǒng)采用向量中斷向量中斷機(jī)制機(jī)制n能夠處理能夠處理256個(gè)中斷;個(gè)中斷;n用中斷向量號(hào)用中斷向量號(hào)0255或或00HFFH區(qū)別;區(qū)別;n可屏蔽中斷可屏蔽中斷還需要借助專用中斷控制器還需要借助專用中斷控制器Intel 8259A實(shí)實(shí)現(xiàn)優(yōu)先權(quán)管理?,F(xiàn)優(yōu)先權(quán)管理。5.1

4、基本概念5.2 8088/8086的中斷系統(tǒng)5.2.1中斷類型中斷類型1. 軟件中斷(內(nèi)部中斷)由于由于CPU內(nèi)部執(zhí)行程序出現(xiàn)異常引起內(nèi)部執(zhí)行程序出現(xiàn)異常引起的程序中斷的程序中斷n除法錯(cuò)中斷:除法錯(cuò)中斷:向量號(hào)為向量號(hào)為0n斷斷 點(diǎn)點(diǎn) 中中 斷:斷:向量號(hào)為向量號(hào)為3n溢溢 出出 中中 斷:斷:向量號(hào)為向量號(hào)為4; 條件:條件:OF1n指指 令令 中中 斷:斷:向量號(hào)為向量號(hào)為nn單單 步步 中中 斷:斷:向量號(hào)為向量號(hào)為1; 條件:條件:TF1且且IF1注意注意: 中斷優(yōu)先級(jí)除中斷優(yōu)先級(jí)除單步中斷單步中斷外都比外都比硬件中斷高硬件中斷高且且不能被屏蔽不能被屏蔽。軟件中斷的中斷向量號(hào)已定軟件中

5、斷的中斷向量號(hào)已定2. 硬件中斷(外部中斷)由由8088/8086外部提出中斷請(qǐng)求外部提出中斷請(qǐng)求引起的程序中斷引起的程序中斷n非屏蔽中斷:非屏蔽中斷:向量號(hào)為向量號(hào)為2n外部通過(guò)非屏蔽中斷外部通過(guò)非屏蔽中斷NMI請(qǐng)求,必須響應(yīng);請(qǐng)求,必須響應(yīng);n非屏蔽中斷主要用于處理系統(tǒng)的意外或故障。非屏蔽中斷主要用于處理系統(tǒng)的意外或故障。n可屏蔽中斷:可屏蔽中斷:向量號(hào)來(lái)自中斷控制器向量號(hào)來(lái)自中斷控制器n外部通過(guò)可屏蔽中斷外部通過(guò)可屏蔽中斷INTR請(qǐng)求,由請(qǐng)求,由IF控制是否響控制是否響應(yīng);響應(yīng)時(shí)產(chǎn)生應(yīng);響應(yīng)時(shí)產(chǎn)生INTA*信號(hào);信號(hào);n可屏蔽中斷主要用于與外設(shè)交換數(shù)據(jù)??善帘沃袛嘀饕糜谂c外設(shè)交換數(shù)據(jù)。

6、IF控制可屏蔽中斷的響應(yīng)控制可屏蔽中斷的響應(yīng)3.中斷標(biāo)志IF的狀態(tài)nIF0:可屏蔽中斷不會(huì)被響應(yīng)可屏蔽中斷不會(huì)被響應(yīng)n關(guān)中斷、禁止中斷、中斷屏蔽關(guān)中斷、禁止中斷、中斷屏蔽n系統(tǒng)復(fù)位,使系統(tǒng)復(fù)位,使IF0n任何一個(gè)中斷被響應(yīng),使任何一個(gè)中斷被響應(yīng),使IF0n執(zhí)行指令執(zhí)行指令CLI,使,使IF0nIF1:可屏蔽中斷會(huì)被響應(yīng)可屏蔽中斷會(huì)被響應(yīng)n開(kāi)中斷、允許中斷、中斷開(kāi)放開(kāi)中斷、允許中斷、中斷開(kāi)放n執(zhí)行指令執(zhí)行指令STI,使,使IF1n執(zhí)行指令執(zhí)行指令I(lǐng)RET恢復(fù)原恢復(fù)原IF狀態(tài)狀態(tài)明確明確IF標(biāo)志的狀態(tài)是關(guān)鍵標(biāo)志的狀態(tài)是關(guān)鍵5.2.2 8088的中斷向量表n中斷向量:中斷向量:中斷服務(wù)程序的中斷服務(wù)

7、程序的入口地址入口地址(首地址);(首地址);n邏輯地址含有邏輯地址含有段地址段地址CS和和偏移地址偏移地址IP(32位);位);n每個(gè)中斷向量的每個(gè)中斷向量的低字低字是是偏移地址偏移地址、高字高字是是段地址段地址,需占用需占用4個(gè)字節(jié);個(gè)字節(jié);n8088微處理器從物理地址微處理器從物理地址00000H開(kāi)始,依次安排開(kāi)始,依次安排各個(gè)中斷向量,向量號(hào)從各個(gè)中斷向量,向量號(hào)從0開(kāi)始;開(kāi)始;n256個(gè)中斷占用個(gè)中斷占用1KB區(qū)域,就形成區(qū)域,就形成中斷向量表。中斷向量表。向量號(hào)為向量號(hào)為N的中斷向量的的中斷向量的物理地址物理地址N45.2.2 8088的中斷向量表(續(xù))請(qǐng)查閱附錄請(qǐng)查閱附錄5.1例

8、5.1 中斷類型號(hào)為27H中斷向量指針的低地址= 27H 4= 9CH中斷向量指針的高地址= 27H 4+2= 9EH即該中斷向量存放在 0000H: 009CH 開(kāi)始的4個(gè)連續(xù)單元中。如果這4個(gè)單元中的內(nèi)容如下: 0000: 009C 2AH 0000: 009D 43H 0000: 009E 65H 0000: 009F 87H例5.1 中斷類型號(hào)為27H則該中斷類型號(hào)27H的中斷向量(中斷服務(wù)程序入口地址)的邏輯地址是 8765H: 432AH即 (CS)=8765H、(IP)=432AH物理地址是 8B97AH5.2.3 中斷響應(yīng)過(guò)程 1. 硬件中斷響應(yīng)總線周期硬件中斷響應(yīng)總線周期n

9、非屏蔽中斷(非屏蔽中斷(NMI):不受中斷標(biāo)志位的控制,:不受中斷標(biāo)志位的控制,中斷類型號(hào)為中斷類型號(hào)為2,所以中斷向量放在,所以中斷向量放在0000:0008開(kāi)始開(kāi)始的的4個(gè)單元中。個(gè)單元中。NMI中斷一般用于緊急情況的處理。中斷一般用于緊急情況的處理。n 可屏蔽中斷(可屏蔽中斷(INTR):受中斷標(biāo)志位的控制,:受中斷標(biāo)志位的控制,IF=1,CPU才能響應(yīng)才能響應(yīng)INTR中斷。中斷。CPU響應(yīng)響應(yīng)INTR中斷中斷時(shí),往時(shí),往INTA*引腳上發(fā)引腳上發(fā)兩個(gè)負(fù)脈沖兩個(gè)負(fù)脈沖,外設(shè)接到,外設(shè)接到第二個(gè)第二個(gè)負(fù)脈沖負(fù)脈沖后,立即往數(shù)據(jù)總線上送出中斷類型碼,供后,立即往數(shù)據(jù)總線上送出中斷類型碼,供C

10、PU讀取。讀取。 1. 硬件中斷響應(yīng)總線周期(續(xù))硬件中斷響應(yīng)總線周期(續(xù))中斷響應(yīng)總線周期中斷響應(yīng)總線周期要求中斷控制器將中斷源的要求中斷控制器將中斷源的類型碼送入問(wèn)數(shù)據(jù)總類型碼送入問(wèn)數(shù)據(jù)總線,供線,供CPU讀取讀取通知中斷控制器中斷申請(qǐng)已通知中斷控制器中斷申請(qǐng)已被響應(yīng),準(zhǔn)備類型碼被響應(yīng),準(zhǔn)備類型碼 先判斷先判斷IF是否為是否為1,若,若IF=1則進(jìn)入中斷響應(yīng),此時(shí)則進(jìn)入中斷響應(yīng),此時(shí)CPU要讀要讀取取中斷類型碼中斷類型碼,然后進(jìn)入所有中斷都要做的事。,然后進(jìn)入所有中斷都要做的事。 1)將將標(biāo)志寄存器標(biāo)志寄存器FR的內(nèi)容壓入堆棧;的內(nèi)容壓入堆棧; 2)將中斷允許標(biāo)志將中斷允許標(biāo)志IF和單步標(biāo)

11、志和單步標(biāo)志TF清零清零; 3)將斷點(diǎn)保護(hù)到堆棧中。當(dāng)前指令下面的一條指令的段寄存將斷點(diǎn)保護(hù)到堆棧中。當(dāng)前指令下面的一條指令的段寄存 器器CS的值和指令指針存器的值和指令指針存器IP的值壓入堆棧,先壓的值壓入堆棧,先壓CS,再,再 壓壓IP的值;的值; 4)根據(jù)當(dāng)前中斷的中斷類型碼查中斷向量表,得到中斷向量根據(jù)當(dāng)前中斷的中斷類型碼查中斷向量表,得到中斷向量 (中斷服務(wù)程序入口地址)分別裝入(中斷服務(wù)程序入口地址)分別裝入CS和和IP,從而轉(zhuǎn)到相,從而轉(zhuǎn)到相 應(yīng)的中斷服務(wù)程序;應(yīng)的中斷服務(wù)程序; 5)執(zhí)行中斷服務(wù)程序,結(jié)束后恢復(fù)斷點(diǎn),從而繼續(xù)執(zhí)行原來(lái)執(zhí)行中斷服務(wù)程序,結(jié)束后恢復(fù)斷點(diǎn),從而繼續(xù)執(zhí)行

12、原來(lái) 的程序。的程序。2. 中斷響應(yīng)和中斷處理過(guò)程中斷響應(yīng)和中斷處理過(guò)程6) 得到中斷服務(wù)程序入口地址后,查看得到中斷服務(wù)程序入口地址后,查看NMI是否有,接著是否有,接著 查看查看TEMP,若,若TEMP=1,則在中斷前,則在中斷前CPU已處于單步已處于單步 方式,就和方式,就和NMI一樣重新保護(hù)現(xiàn)場(chǎng)和斷點(diǎn),轉(zhuǎn)入單步一樣重新保護(hù)現(xiàn)場(chǎng)和斷點(diǎn),轉(zhuǎn)入單步中中 斷服務(wù)程序。斷服務(wù)程序。 若若TEMP=0,即中斷前,即中斷前CPU處于非單步方式,則處于非單步方式,則CPU轉(zhuǎn)轉(zhuǎn) 去執(zhí)行最先引起中斷的中斷服務(wù)程序。去執(zhí)行最先引起中斷的中斷服務(wù)程序。2. 中斷響應(yīng)和中斷處理過(guò)程(續(xù))中斷響應(yīng)和中斷處理過(guò)程(

13、續(xù))例5.2 中斷操作過(guò)程某中斷類型號(hào)為某中斷類型號(hào)為72H,給出中斷操作過(guò)程。,給出中斷操作過(guò)程。 取中斷類型號(hào)72H; 計(jì)算中斷向量地址 72H4=1C8H; 72H4+2=1CAH; 取中斷服務(wù)程序入口地址的偏移量送IP,(IP)=2050H, 段地址送CS,(CS)=A000H; 轉(zhuǎn)入中斷服務(wù)程序A000H:2050H; 中斷返回到INT 72H指令的下一條指令: MOV AX , BX例5.2 中斷操作過(guò)程5.3 8259A中斷控制器nIntel 8259A是可編程中斷控制器;是可編程中斷控制器;n可用于管理可用于管理Intel 8080/8085、8086/8088、80286/8

14、0386的可屏蔽中斷;的可屏蔽中斷;n8259A的基本功能:的基本功能:n一片一片8259A可以管理可以管理8級(jí)級(jí)中斷,可擴(kuò)展至中斷,可擴(kuò)展至64級(jí);級(jí);n每一級(jí)中斷都可每一級(jí)中斷都可單獨(dú)被屏蔽或允許單獨(dú)被屏蔽或允許;n在中斷響應(yīng)周期,可提供相應(yīng)的中斷向量號(hào);在中斷響應(yīng)周期,可提供相應(yīng)的中斷向量號(hào);n8259A設(shè)計(jì)有多種工作方式,可通過(guò)編程選擇。設(shè)計(jì)有多種工作方式,可通過(guò)編程選擇。8259A的主要任務(wù)的主要任務(wù) 接受外部的中斷請(qǐng)求;接受外部的中斷請(qǐng)求; 管理所有外部的中斷請(qǐng)求管理所有外部的中斷請(qǐng)求(排隊(duì)排隊(duì)、判優(yōu)判優(yōu)、屏蔽屏蔽、嵌套嵌套); 向向CPU產(chǎn)生中斷請(qǐng)求產(chǎn)生中斷請(qǐng)求INTR及中斷類型

15、號(hào);及中斷類型號(hào); 進(jìn)行中斷結(jié)束處理;進(jìn)行中斷結(jié)束處理; 接受接受CPU命令及返回狀態(tài)。命令及返回狀態(tài)。5.3.1 8259A的引腳5.3.2 內(nèi)部結(jié)構(gòu)n中斷請(qǐng)求寄存器中斷請(qǐng)求寄存器IRRn保存保存8條外界中斷請(qǐng)求信號(hào)條外界中斷請(qǐng)求信號(hào)IR0IR7的請(qǐng)求狀態(tài);的請(qǐng)求狀態(tài);nDi位為位為1表示表示IRi引腳有中斷請(qǐng)求;為引腳有中斷請(qǐng)求;為0表示無(wú)請(qǐng)求。表示無(wú)請(qǐng)求。n中斷服務(wù)寄存器中斷服務(wù)寄存器ISRn保存正在被保存正在被8259A服務(wù)著的中斷狀態(tài);服務(wù)著的中斷狀態(tài);nDi位為位為1表示表示IRi中斷正在服務(wù)中;為中斷正在服務(wù)中;為0表示沒(méi)有被服務(wù)。表示沒(méi)有被服務(wù)。n中斷屏蔽寄存器中斷屏蔽寄存器I

16、MRn保存對(duì)中斷請(qǐng)求信號(hào)保存對(duì)中斷請(qǐng)求信號(hào)IR的屏蔽狀態(tài);的屏蔽狀態(tài);nDi位為位為1表示表示IRi中斷被屏蔽(禁止);為中斷被屏蔽(禁止);為0表示允許。表示允許。5.3.2 內(nèi)部結(jié)構(gòu)n數(shù)據(jù)總線緩沖器數(shù)據(jù)總線緩沖器n讀寫控制邏輯讀寫控制邏輯,一片8259A只占用兩個(gè)端口地址,由A0來(lái)選擇,其它高位地址譯碼輸出作為片選信號(hào)CS*。WR*、RD*分別為寫信號(hào)和讀信號(hào)。n級(jí)聯(lián)緩沖器級(jí)聯(lián)緩沖器/比較器比較器,擴(kuò)充中斷用。n優(yōu)先級(jí)判別器優(yōu)先級(jí)判別器PR,當(dāng)有多個(gè)中斷同時(shí)請(qǐng)求中斷時(shí),判別當(dāng)前優(yōu)先級(jí)最高的中斷請(qǐng)求進(jìn)入系統(tǒng)。n控制邏輯控制邏輯,控制芯片內(nèi)個(gè)部件協(xié)調(diào)一致地工作。5.3.2 內(nèi)部結(jié)構(gòu)5.3.3

17、與處理器接口 A0 RD* WR* CS*功能功能 0 1 0 0 1 1 0 0 0 0 1 0 1 0 1 0 1 1 0 1寫入寫入ICW1、OCW2和和OCW3寫入寫入ICW2ICW4和和OCW1讀出讀出IRR、ISR和查詢字和查詢字讀出讀出IMR數(shù)據(jù)總線高阻狀態(tài)數(shù)據(jù)總線高阻狀態(tài)數(shù)據(jù)總線高阻狀態(tài)數(shù)據(jù)總線高阻狀態(tài)5.3.4 8259A的工作方式 普通普通全嵌套方式全嵌套方式:普通全嵌套方式是:普通全嵌套方式是8259A初始初始化后自動(dòng)進(jìn)入的基本工作方式。此時(shí)優(yōu)先級(jí)從化后自動(dòng)進(jìn)入的基本工作方式。此時(shí)優(yōu)先級(jí)從IR0到到IR7依次降低。當(dāng)某一中斷處理時(shí),可響依次降低。當(dāng)某一中斷處理時(shí),可響應(yīng)比

18、它高的中斷,但應(yīng)比它高的中斷,但禁止比它低的或同級(jí)中斷禁止比它低的或同級(jí)中斷進(jìn)進(jìn)入。當(dāng)某一中斷請(qǐng)求處理結(jié)束時(shí),入。當(dāng)某一中斷請(qǐng)求處理結(jié)束時(shí),CPU向向8259A發(fā)送中斷結(jié)束命令發(fā)送中斷結(jié)束命令EOI,以使,以使ISR中相應(yīng)位清零。中相應(yīng)位清零。 特殊全嵌套方式特殊全嵌套方式:與:與的普通全嵌套方式差不的普通全嵌套方式差不多,區(qū)別是多,區(qū)別是CPU處理某一中斷時(shí),允許比它高的處理某一中斷時(shí),允許比它高的和與它同級(jí)的中斷請(qǐng)求進(jìn)入,而只和與它同級(jí)的中斷請(qǐng)求進(jìn)入,而只禁止比它低的禁止比它低的中斷請(qǐng)求中斷請(qǐng)求。1. 優(yōu)先級(jí)管理方式優(yōu)先級(jí)管理方式 自動(dòng)循環(huán)方式自動(dòng)循環(huán)方式:任何一級(jí)中斷請(qǐng)求被處理完后,:任

19、何一級(jí)中斷請(qǐng)求被處理完后, CPU向向8259A發(fā)送中斷結(jié)束命令發(fā)送中斷結(jié)束命令EOI,以使,以使ISR中優(yōu)先級(jí)最高的置中優(yōu)先級(jí)最高的置1位清零,并重新賦給它位清零,并重新賦給它最低最低優(yōu)先級(jí)優(yōu)先級(jí),而將最高優(yōu)先級(jí)賦給,而將最高優(yōu)先級(jí)賦給比它低一級(jí)比它低一級(jí)的中斷的中斷請(qǐng)求,其它中斷請(qǐng)求的優(yōu)先級(jí)則以循環(huán)方式類推。請(qǐng)求,其它中斷請(qǐng)求的優(yōu)先級(jí)則以循環(huán)方式類推。 特殊循環(huán)方式:特殊循環(huán)方式:用戶根據(jù)要求用置優(yōu)先級(jí)命令用戶根據(jù)要求用置優(yōu)先級(jí)命令指定最低優(yōu)先級(jí),例如設(shè)置指定最低優(yōu)先級(jí),例如設(shè)置IRi為最低優(yōu)先級(jí),為最低優(yōu)先級(jí),則最高優(yōu)先級(jí)為則最高優(yōu)先級(jí)為IRi+1,其它各級(jí)按循環(huán)方式類,其它各級(jí)按循環(huán)方

20、式類推。推。1. 優(yōu)先級(jí)管理方式優(yōu)先級(jí)管理方式 (續(xù))續(xù)) 自動(dòng)中斷結(jié)束方式自動(dòng)中斷結(jié)束方式,中斷處理結(jié)束時(shí)自動(dòng)將,中斷處理結(jié)束時(shí)自動(dòng)將ISR中相應(yīng)位清中相應(yīng)位清零,只需將初始化命令字零,只需將初始化命令字ICW4中的中的AEOI置為置為1即可實(shí)現(xiàn)這即可實(shí)現(xiàn)這種方式。種方式。 普通中斷結(jié)束方式普通中斷結(jié)束方式,用在,用在8259A的的全嵌套方式全嵌套方式下,即在下,即在CPU處理完一個(gè)中斷請(qǐng)求時(shí)需向處理完一個(gè)中斷請(qǐng)求時(shí)需向8259A發(fā)送一個(gè)發(fā)送一個(gè)EOI命令,命令,8259A收到收到EOI后,將后,將ISR中最高優(yōu)先級(jí)的置中最高優(yōu)先級(jí)的置1位清零(即當(dāng)前正在位清零(即當(dāng)前正在處理的中斷)。用操

21、作命令字處理的中斷)。用操作命令字OCW2中的中的EOI=1, SL=0, R=0的設(shè)置來(lái)實(shí)現(xiàn)。的設(shè)置來(lái)實(shí)現(xiàn)。 特殊中斷結(jié)束方式特殊中斷結(jié)束方式,在,在非全嵌套方式非全嵌套方式下,通過(guò)向下,通過(guò)向8259A發(fā)一發(fā)一條特殊中斷結(jié)束命令來(lái)判斷要清除條特殊中斷結(jié)束命令來(lái)判斷要清除ISR中置中置1位中的哪一位。位中的哪一位。用操作命令字用操作命令字OCW2中的中的EOI=1, SL=1, R=0的設(shè)置來(lái)實(shí)現(xiàn),的設(shè)置來(lái)實(shí)現(xiàn),此時(shí)此時(shí)OCW2中的中的L2、L1、L0這這3位指出了到底要清除位指出了到底要清除ISR中中的哪一位。的哪一位。2. 中斷結(jié)束方式中斷結(jié)束方式3.屏蔽中斷源方式屏蔽中斷源方式 普通屏

22、蔽方式普通屏蔽方式,將,將IMR中某一位或幾位置中某一位或幾位置1,則其,則其 對(duì)應(yīng)的中斷被屏蔽(即這些中斷被禁止)。對(duì)應(yīng)的中斷被屏蔽(即這些中斷被禁止)。 特殊屏蔽方式特殊屏蔽方式,一般情況處理一個(gè)中斷時(shí),禁止,一般情況處理一個(gè)中斷時(shí),禁止同級(jí)或低級(jí)中斷進(jìn)入,但有些場(chǎng)合,在處理某個(gè)中同級(jí)或低級(jí)中斷進(jìn)入,但有些場(chǎng)合,在處理某個(gè)中斷時(shí),斷時(shí),僅希望對(duì)本級(jí)屏蔽僅希望對(duì)本級(jí)屏蔽,可以響應(yīng)高級(jí)或低級(jí)中可以響應(yīng)高級(jí)或低級(jí)中斷斷,此時(shí)采用這種方式。特殊屏蔽方式通過(guò)操作命,此時(shí)采用這種方式。特殊屏蔽方式通過(guò)操作命令字令字OCW3中的中的ESMM和和SMM同時(shí)置為同時(shí)置為1,并將,并將IMR對(duì)應(yīng)于本級(jí)中斷的位

23、置對(duì)應(yīng)于本級(jí)中斷的位置1來(lái)實(shí)現(xiàn)。來(lái)實(shí)現(xiàn)。n邊沿觸發(fā)方式邊沿觸發(fā)方式n8259A將中斷請(qǐng)求輸入端出現(xiàn)的將中斷請(qǐng)求輸入端出現(xiàn)的上升沿作為中斷請(qǐng)求信號(hào);上升沿作為中斷請(qǐng)求信號(hào);n電平觸發(fā)方式電平觸發(fā)方式n中斷請(qǐng)求端出現(xiàn)的高電平是有中斷請(qǐng)求端出現(xiàn)的高電平是有效的中斷請(qǐng)求信號(hào)。效的中斷請(qǐng)求信號(hào)。4. 中斷觸發(fā)方式中斷觸發(fā)方式5.數(shù)據(jù)線連接方式數(shù)據(jù)線連接方式n緩沖方式緩沖方式n8259A的數(shù)據(jù)線需加緩沖器予以驅(qū)動(dòng);的數(shù)據(jù)線需加緩沖器予以驅(qū)動(dòng);n8259A把把SP*/EN*引腳作為輸出端,輸出允引腳作為輸出端,輸出允許信號(hào),用以鎖存或開(kāi)啟緩沖器;許信號(hào),用以鎖存或開(kāi)啟緩沖器;n非緩沖方式非緩沖方式nSP*/

24、EN*引腳為輸入端;引腳為輸入端;n若若8259A級(jí)連,由其確定是主片或從片級(jí)連,由其確定是主片或從片 。6. 中斷級(jí)連n一個(gè)系統(tǒng)中,一個(gè)系統(tǒng)中,8259A可以級(jí)連,有一個(gè)主可以級(jí)連,有一個(gè)主8259A,若干個(gè)(若干個(gè)(最多最多8個(gè)個(gè))從)從8259A;n級(jí)連時(shí),主級(jí)連時(shí),主8259A的三條級(jí)連線的三條級(jí)連線CAS0CAS2作作為輸出線,連至每個(gè)從為輸出線,連至每個(gè)從8259A的的CAS0CAS2;n每個(gè)每個(gè)從從8259A的中斷請(qǐng)求信號(hào)的中斷請(qǐng)求信號(hào)INT,連至,連至主主8259A的一個(gè)中斷請(qǐng)求輸入端的一個(gè)中斷請(qǐng)求輸入端IR;n主主8259A的的INT線連至線連至CPU的中斷請(qǐng)求輸入端;的中斷

25、請(qǐng)求輸入端;nSP*/EN*在非緩沖方式下,規(guī)定該在非緩沖方式下,規(guī)定該8259A是是主片主片(SP*1)還是還是從片(從片(SP*0)。5.3.5 8259A的編程n初始化編程初始化編程n8259A開(kāi)始工作前,必須進(jìn)行初始化編程;開(kāi)始工作前,必須進(jìn)行初始化編程;n給給8259A寫入寫入初始化命令字初始化命令字ICW。n中斷操作編程中斷操作編程n在在8259A工作期間;工作期間;n可以寫入可以寫入操作命令字操作命令字OCW將選定的操作傳送將選定的操作傳送給給8259A,使之按新的要求工作;,使之按新的要求工作;n還可以讀取還可以讀取8259A的信息,以便了解他的工作的信息,以便了解他的工作狀態(tài)

26、。狀態(tài)。1. 初始化命令字ICWn初始化命令字初始化命令字ICW最多有最多有4個(gè);個(gè);n8259A在開(kāi)始工作前必須寫入;在開(kāi)始工作前必須寫入;n必須按照必須按照ICW1ICW4順序?qū)懭?;順序?qū)懭?;nICW1和和ICW2是必須送的;是必須送的;nICW3和和ICW4由工作方式?jīng)Q定。由工作方式?jīng)Q定。流程流程D7D6D5D4D3D2D1D0ICW1 (A0=0)1LTIMSNGLIC4D7D6D5D4D3D2D1D0表示可以任意表示可以任意為為1為為0都可以(建議為都可以(建議為0) 1只能為只能為1,作為標(biāo)志,作為標(biāo)志中斷觸發(fā)方式:中斷觸發(fā)方式:LTIM1,電平觸發(fā)方式,電平觸發(fā)方式LTIM0,邊

27、沿觸發(fā)方式,邊沿觸發(fā)方式 規(guī)定單片或級(jí)連方式:規(guī)定單片或級(jí)連方式:SNGL1,單片方式,單片方式SNGL0,級(jí)連方式,級(jí)連方式是否寫入是否寫入ICW4IC41,要寫入,要寫入ICW4IC40,不寫入,不寫入ICW4,即,即ICW4規(guī)定的位全為規(guī)定的位全為0ICW2 (A0=1)T7T6T5T4T3D7D6D5D4D3D2D1D0設(shè)置中斷向量號(hào)設(shè)置中斷向量號(hào)nT7T3為中斷向量號(hào)的高為中斷向量號(hào)的高5位位n低低3位由位由8259A自動(dòng)確定:自動(dòng)確定:nIR0為為000、IR1為為001、IR7為為111ICW3 (A0=1)S7S6S5S4S3S2/ID2S1/ID1S0/ID0D7D6D5D4

28、D3D2D1D0級(jí)連命令字級(jí)連命令字n主片主片8259A:Si1對(duì)應(yīng)對(duì)應(yīng)IRi接有從片;接有從片;否則否則IRi沒(méi)有連接從片沒(méi)有連接從片n從片從片8259A:ID0ID2編碼說(shuō)明從片編碼說(shuō)明從片INT引腳接到主片哪個(gè)引腳接到主片哪個(gè)IR引腳引腳ICW3 (A0=1)例:主片的IR3和IR6兩個(gè)輸入端分別連接了從片A和B的INT。則 主片的ICW3 = 01001000B =48H 從片A的ICW3=00000011B=03H 從片B的ICW3=00000110B=06HICW4 (A0=1)000SFNMBUFM/SAEOIPMD7D6D5D4D3D2D1D0嵌套方式:嵌套方式:n特殊全嵌套方

29、式(特殊全嵌套方式(SFNM1)n普通全嵌套方式(普通全嵌套方式(SFNM0)數(shù)據(jù)線的緩沖方式:數(shù)據(jù)線的緩沖方式:n緩沖方式(緩沖方式(BUF1)n非緩沖方式(非緩沖方式(BUF0) 主片主片/從片選擇:從片選擇:n主片(主片(M/S=1)n從片(從片(M/S=0)中斷結(jié)束方式:中斷結(jié)束方式:n自動(dòng)中斷結(jié)束(自動(dòng)中斷結(jié)束(AEOI1)n非自動(dòng)中斷結(jié)束(非自動(dòng)中斷結(jié)束(AEOI0)微處理器類型:微處理器類型:n16位位80 x86( PM1)n8位位8080/8085( PM0)2. 操作命令字OCWn8259A工作期間,可以隨時(shí)接受操作命工作期間,可以隨時(shí)接受操作命令字令字OCW;nOCW共有

30、共有3個(gè):個(gè):OCW1OCW3;n寫入時(shí)沒(méi)有順序要求,需要哪個(gè)寫入時(shí)沒(méi)有順序要求,需要哪個(gè)OCW就寫入那個(gè)就寫入那個(gè)OCW。D7D6D5D4D3D2D1D0OCW1 (A0=1)M7M6M5M4M3M2M1M0D7D6D5D4D3D2D1D0屏蔽命令字屏蔽命令字內(nèi)容寫入中斷屏蔽寄存器內(nèi)容寫入中斷屏蔽寄存器IMRDiMi對(duì)應(yīng)對(duì)應(yīng)IRi,為,為1禁止禁止IRi中斷;中斷;為為0允許允許IRi中斷。各位互相獨(dú)立。中斷。各位互相獨(dú)立。OCW2 (A0=0)RSLEOI00L2L1L0D7D6D5D4D3D2D1D0R、SL和和EOI配合使配合使用用產(chǎn)生中斷結(jié)束產(chǎn)生中斷結(jié)束EOI命命令和改變優(yōu)先權(quán)順序令

31、和改變優(yōu)先權(quán)順序SL=1時(shí)有效時(shí)有效L2L0的的3位編碼位編碼指定指定IR引腳引腳 OCW2 (A0=0)OCW3 (A0=0)0ESMMSMM01PRRRISD7D6D5D4D3D2D1D0設(shè)置中斷屏蔽方式設(shè)置中斷屏蔽方式 1 0 清除特殊屏蔽清除特殊屏蔽 1 1 設(shè)置特殊屏蔽設(shè)置特殊屏蔽 0 x 無(wú)動(dòng)作無(wú)動(dòng)作P=1查詢命令、查詢命令、P=0無(wú)無(wú)查詢命令查詢命令RR和和RIS1 0 在下一個(gè)讀周期讀在下一個(gè)讀周期讀IRR1 1 在下一個(gè)讀周期讀在下一個(gè)讀周期讀ISR0 x 無(wú)動(dòng)作無(wú)動(dòng)作 3. 讀取狀態(tài)字nCPU可讀出可讀出IRR、ISR、IMR和和查詢字查詢字;nA0為低為低,由,由OCW3

32、中中RR和和RIS位設(shè)定讀取位設(shè)定讀取IRR或或ISR,由,由OCW3中中P位設(shè)定讀取查詢位設(shè)定讀取查詢字;字;n而而A0引腳為高電平引腳為高電平時(shí)讀取的都是時(shí)讀取的都是IMR;n查詢字反映查詢字反映8259A是否有中斷請(qǐng)求。是否有中斷請(qǐng)求。D7D6D5D4D3D2D1D0查詢字IW2W1W0D7D6D5D4D3D2D1D0中斷位中斷位I位為位為1,有外設(shè)請(qǐng)求中斷有外設(shè)請(qǐng)求中斷W2W0的編碼的編碼當(dāng)前中斷請(qǐng)求的當(dāng)前中斷請(qǐng)求的最高優(yōu)先級(jí)最高優(yōu)先級(jí)5.3.6 8259A在IBM PC/XT上的應(yīng)用應(yīng)用注意事項(xiàng)n利用利用上升沿上升沿做為中斷請(qǐng)求做為中斷請(qǐng)求IRQ的有效信號(hào);的有效信號(hào);nIRQ0IRQ7的中斷向量號(hào)依次為的中斷向量號(hào)依次為08H0FH;nI/O端口號(hào)為端口號(hào)為20H和和21H;n采用普通全嵌套優(yōu)先權(quán)方式,中斷優(yōu)先權(quán)從高到采用普通全嵌套優(yōu)先權(quán)方式,中斷優(yōu)先權(quán)從高到低順序?yàn)榈晚樞驗(yàn)镮RQ0IRQ7,且不能改變;,且不能改變;n采用普通中斷結(jié)束采用普通中斷結(jié)束EOI方式,需要在中斷服

溫馨提示

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

評(píng)論

0/150

提交評(píng)論