微型計(jì)算機(jī)接口第5章中斷技術(shù).ppt
《微型計(jì)算機(jī)接口第5章中斷技術(shù).ppt》由會(huì)員分享,可在線閱讀,更多相關(guān)《微型計(jì)算機(jī)接口第5章中斷技術(shù).ppt(79頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
第5章中斷技術(shù),本章內(nèi)容中斷技術(shù)的基本概念中斷技術(shù)的工作原理系統(tǒng)配置的中斷資源的應(yīng)用中斷向量修改及中斷服務(wù)程序的編寫,1,5.1中斷基本概念中斷是指CPU在正常運(yùn)行程序時(shí),由于外部/內(nèi)部事件,或由程序引起CPU中斷正在運(yùn)行的程序,而轉(zhuǎn)到為中斷事件服務(wù)的程序中去,服務(wù)完畢,再返回執(zhí)行原程序,這一過程稱為中斷。外部中斷的特征:具有隨機(jī)性。,2,5.2中斷的類型5.2.1外部中斷1.可屏蔽中斷INTR這是由外部設(shè)備通過中斷控制器用中斷請(qǐng)求線INTR向微處理器申請(qǐng)而產(chǎn)生的中斷,但微處理器可以用CLI指令來屏蔽(禁止),即不響應(yīng)它的中斷請(qǐng)求,因此把這種中斷稱為可屏蔽中斷。2.不可屏蔽中斷NMI由系統(tǒng)硬件引發(fā)的中斷,如協(xié)處理器出錯(cuò)、通道等。它的優(yōu)先級(jí)高于外部硬件中斷,且不受中斷允許標(biāo)志位(IF)的影響,所以是不可屏蔽中斷。,3,5.2.2內(nèi)部中斷內(nèi)部中斷是由用戶在程序中發(fā)出中斷指令I(lǐng)NTnH產(chǎn)生的,指令中的操作數(shù)n稱為軟中斷號(hào)。內(nèi)部中斷包括DOS中斷功能和BIOS中斷功能兩部分,可供用戶在編寫應(yīng)用程序是調(diào)用。1.DOS功能調(diào)用DOS是存放在磁盤上的操作系統(tǒng)軟件,其中內(nèi)部中斷INT21H是DOS的內(nèi)核。它是一個(gè)很重要、功能龐大的中斷服務(wù)程序,包含0~6CH個(gè)子功能,包括對(duì)設(shè)備、文件、目錄及內(nèi)存的管理功能,涉及各個(gè)方面,可供系統(tǒng)軟件和應(yīng)用程序調(diào)用,同時(shí),由于它處在ROM-BIOS層的上一個(gè)層次,與系統(tǒng)硬件層有ROM-BIOS在邏輯上的隔離,所以,它對(duì)系統(tǒng)硬件的依賴性大大減少,兼容性好。2.BIOS功能調(diào)用BIOS是一組存放在ROM中、獨(dú)立于DOS的I/O中斷服務(wù)程序。它在系統(tǒng)硬件的上一層,直接對(duì)系統(tǒng)中的I/O設(shè)備進(jìn)行設(shè)備級(jí)控制,可供上層軟件和應(yīng)用程序調(diào)用。,4,除了上述外部中斷和內(nèi)部中斷兩類中斷之外,微機(jī)的中斷系統(tǒng)還包括一些特殊中斷,這些中斷既不是由外部設(shè)備提出申請(qǐng)而產(chǎn)生的,也不是由用戶在程序中發(fā)中斷指令I(lǐng)NTnH而發(fā)生的,而是由內(nèi)部的突發(fā)事件所引起的中斷,即在執(zhí)行指令的過程中,CPU發(fā)現(xiàn)某種突發(fā)事件時(shí)就啟動(dòng)內(nèi)部邏輯轉(zhuǎn)去執(zhí)行預(yù)先規(guī)定的中斷號(hào)所對(duì)應(yīng)的中斷服務(wù)程序。這類中斷也是不可屏蔽中斷,其中斷處理過程具有與內(nèi)部中斷相同的特點(diǎn),因此,有的書上把它們歸結(jié)為內(nèi)部中斷這一類。這類中斷有如下幾種。(1)0號(hào)中斷─除數(shù)為零中斷;(2)1號(hào)中斷─單步中斷;(3)3號(hào)中斷─斷點(diǎn)中斷;(4)4號(hào)中斷─溢出中斷。3.內(nèi)部中斷的應(yīng)用DOS調(diào)用和BIOS調(diào)用是用戶使用系統(tǒng)資源的重要方法和基本途徑,也是用戶編寫MS-DOS應(yīng)用程序使用很頻繁的方法,應(yīng)學(xué)會(huì)使用。,5,4、中斷過程分為四個(gè)階段中斷請(qǐng)求→中斷響應(yīng)→中斷服務(wù)→中斷返回1.中斷請(qǐng)求①外設(shè)先發(fā)送“中斷請(qǐng)求”信號(hào)給CPU。②CPU檢查“中斷請(qǐng)求”輸入線。③CPU有權(quán)決定是否響應(yīng)中斷:a.若允許申請(qǐng),用ST1指令打開中斷觸發(fā)器IF;b.若不允許申請(qǐng),用CLI指令關(guān)閉中斷觸發(fā)器IF。④沒有獲得允許中斷請(qǐng)求稱為中斷被屏蔽。,⑤不允許中斷請(qǐng)求的情況:如:在實(shí)時(shí)控制時(shí),需采集一段連續(xù)數(shù)據(jù)為防上數(shù)據(jù)丟失,不允許其他中斷請(qǐng)求;又:執(zhí)行管理程序中某些重要程序,CLI指令進(jìn)行屏蔽。2.中斷響應(yīng)①CPU在當(dāng)前指令執(zhí)行結(jié)束時(shí),響應(yīng)中斷,進(jìn)入中斷的響應(yīng)周期;②發(fā)出二個(gè)中斷回答信號(hào)INTA完成一個(gè)中斷響應(yīng)周期;③進(jìn)行斷點(diǎn)及標(biāo)志保存如:段地址(CS),偏移地址(IP)標(biāo)志FR以及壓入堆棧。④讀取中斷類型號(hào),找到中斷源;⑤裝入中斷服務(wù)程序的入口地址(CS,IP),中斷響應(yīng)中斷響應(yīng)是當(dāng)中央處理機(jī)發(fā)現(xiàn)已有中斷請(qǐng)求時(shí),中止現(xiàn)行程序執(zhí)行,并自動(dòng)引出中斷處理程序的過程。中斷響應(yīng)過程:?保留程序斷點(diǎn)及處理機(jī)有關(guān)信息?自動(dòng)轉(zhuǎn)入相應(yīng)的中斷處理程序執(zhí)行中斷響應(yīng)的實(shí)質(zhì)交換指令地址及處理機(jī)的狀態(tài)信息3.中斷服務(wù)①轉(zhuǎn)入中斷服務(wù)程序后,其服務(wù)程序的內(nèi)容有:a.與CPU交換數(shù)據(jù),進(jìn)行I/O操作;b.外部期望CPU給以控制,進(jìn)行參數(shù)修改。②在程序開頭,將可能使用的寄存器內(nèi)容進(jìn)棧,即保護(hù)現(xiàn)場(chǎng)。③在服務(wù)程序的未尾,將入棧的寄存器內(nèi)容彈出,即恢復(fù)現(xiàn)場(chǎng)。,4.中斷返回中斷服務(wù)程序結(jié)束,執(zhí)行中斷返回。①自動(dòng)交保存在堆棧中的標(biāo)志FR,斷點(diǎn)(IP,CS)依次彈出并裝入。②回到中斷前的地址開始繼續(xù)執(zhí)行。三、中斷源、中斷識(shí)別、優(yōu)先級(jí)1、中斷源:發(fā)出中斷請(qǐng)求的外設(shè)或引起中斷的內(nèi)部原因稱為中斷源。,指令中斷:INT10H、INT21H等,外設(shè)中斷:鍵盤、打印機(jī)、顯示器等,硬件故障中斷:奇偶錯(cuò)、電源故障等,程序性中斷:除法溢出、非法操作碼等,2、中斷識(shí)別:CPU響應(yīng)中斷后,只知道有中斷請(qǐng)求但不知道是哪一個(gè)中斷源,尋找中斷源的操作過程稱為中斷識(shí)別。CPU識(shí)別中斷的方法:(確定中斷源,實(shí)現(xiàn)程序的轉(zhuǎn)移)中斷識(shí)別的目的:形成該中斷服務(wù)程序的入口地址。,向量中斷:中斷向量、中斷號(hào)在CPU響應(yīng)中斷后,由中斷控制器將服務(wù)程序入口地址送到CPU的過程。,查詢中斷:軟、硬件查詢確定中斷源采用軟件查詢技術(shù)來確定發(fā)出中斷請(qǐng)求。,5.3中斷號(hào)5.3.1中斷號(hào)與中斷號(hào)的獲取1.什么是中斷號(hào)中斷號(hào)是系統(tǒng)分配給每個(gè)中斷源的代號(hào),以便識(shí)別和處理。中斷號(hào)在中斷處理過程中起到很重要的作用,在采用向量中斷方式的中斷系統(tǒng)中,CPU必須通過中斷號(hào)才可以找到中斷服務(wù)程序的入口地址,實(shí)現(xiàn)程序的轉(zhuǎn)移。2.中斷號(hào)的獲取CPU對(duì)系統(tǒng)中不同類型的中斷源,獲取它們的中斷號(hào)的方法是不同的??善帘沃袛嗟闹袛嗵?hào)是在中斷響應(yīng)周期從中斷控制器獲取的。內(nèi)部中斷INTnH的中斷號(hào)(nH)是由中斷指令直接給出的。不可屏蔽中斷NMI以及CPU內(nèi)部一些特殊中斷的中斷號(hào)是由系統(tǒng)預(yù)先設(shè)置好的,如NMI的中斷號(hào)為02H,非法除數(shù)的中斷號(hào)為0H等。,11,5.3.2中斷響應(yīng)周期當(dāng)CPU收到外部設(shè)備通過中斷控制器提出的中斷請(qǐng)求INT后,如果當(dāng)前一條指令已執(zhí)行完,且中斷標(biāo)志位IF=1時(shí)(即允許中斷),又沒有DMA請(qǐng)求,那么,CPU進(jìn)入中斷響應(yīng)周期,發(fā)出兩個(gè)連續(xù)中斷應(yīng)答信號(hào)完成一個(gè)中斷響應(yīng)周期。圖5.1表示是中斷響應(yīng)周期時(shí)序。從圖5.1可知,一個(gè)中斷響應(yīng)周期完成的操作有:,12,1.置位中斷服務(wù)寄存器ISR當(dāng)CPU發(fā)出第一個(gè)脈沖時(shí),CPU輸出有效的總線鎖定信號(hào),使總線在此期間處于封鎖狀態(tài),防止其他處理器或DMA控制器占用總線。與此同時(shí),中斷控制器將判優(yōu)后允許的中斷級(jí)在ISR中的相應(yīng)位置1,以登記正在服務(wù)的中斷級(jí)別,在中斷服務(wù)程序執(zhí)行完畢之后,該寄存器自身不能清零,需要向中斷控制器發(fā)中斷結(jié)束命令EOI才能清零。2.讀取中斷號(hào)當(dāng)總線控制器發(fā)出第二個(gè)2脈沖時(shí),總線鎖定信號(hào)撤除,總線被解封,地址允許信號(hào)ALE也變?yōu)榈碗娖剑o(wú)效),即允許數(shù)據(jù)線工作。正好此時(shí)中斷控制器將當(dāng)前中斷服務(wù)程序的中斷號(hào)送到數(shù)據(jù)線上,由CPU讀入。5.3.3中斷號(hào)的分配系統(tǒng)對(duì)外部中斷和內(nèi)部中斷一律統(tǒng)一編號(hào),共有256個(gè)號(hào),微機(jī)系統(tǒng)的中斷號(hào)分配如表5.1所示。表中兩塊灰色區(qū)域的中斷號(hào)分別是系統(tǒng)分配給PC微機(jī)系統(tǒng)中的中斷控制器主片與從片的中斷號(hào),用戶可以采用修改其中斷向量的方法進(jìn)行應(yīng)用。,13,,表5.1,14,15,5.4中斷觸發(fā)方式與中斷排隊(duì)方式5.4.1中斷觸發(fā)方式中斷觸發(fā)方式是指外部設(shè)備以什么邏輯信號(hào)去向中斷控制器申請(qǐng)中斷,中斷控制器允許用邊沿或電平信號(hào)申請(qǐng)中斷,即邊沿觸發(fā)和電平觸發(fā)兩種方式。觸發(fā)方式在中斷控制器初始化時(shí)設(shè)定。5.4.2中斷排隊(duì)方式外部中斷、內(nèi)部中斷是按優(yōu)先級(jí)提供服務(wù)的。中斷優(yōu)先級(jí)從高到低的順序是:內(nèi)部中斷→不可屏蔽中斷→可屏蔽中斷。當(dāng)系統(tǒng)有多個(gè)中斷源時(shí),就可能出現(xiàn)同時(shí)有幾個(gè)中斷源都申請(qǐng)中斷,而微處理器在一個(gè)時(shí)刻只能響應(yīng)并處理一個(gè)中斷請(qǐng)求。為此,要進(jìn)行中斷排隊(duì),微處理器一般是按“優(yōu)先級(jí)高的先服務(wù)”的原則提供服務(wù)。但也有其他一些中斷排隊(duì)的方式。,16,1.按優(yōu)先級(jí)排隊(duì)根據(jù)任務(wù)的輕重緩急,給每個(gè)中斷源指定CPU響應(yīng)的優(yōu)先級(jí),任務(wù)緊急的先響應(yīng),可以暫緩的后響應(yīng)。2.循環(huán)輪流排隊(duì)不分級(jí)別高低,CPU輪流響應(yīng)各個(gè)中斷源的中斷請(qǐng)求,并為其服務(wù)。3.中斷嵌套在實(shí)際應(yīng)用中,當(dāng)CPU正在處理某個(gè)中斷源,即正在執(zhí)行中斷服務(wù)程序時(shí),會(huì)出現(xiàn)優(yōu)先級(jí)更高的中斷源申請(qǐng)中斷。為了使更緊急的、級(jí)別更高的中斷源及時(shí)得到服務(wù),需要暫時(shí)打斷(掛起)當(dāng)前正在執(zhí)行的級(jí)別較低的中斷服務(wù)程序,去處理級(jí)別更高的中斷源,待處理完以后,再返回到被打斷了的中斷服務(wù)程序繼續(xù)執(zhí)行。但級(jí)別相同或級(jí)別低的中斷源不能打斷級(jí)別高的中斷服務(wù),這就是所謂的中斷嵌套。INTR可以進(jìn)行中斷嵌套。NMI不可以進(jìn)行中斷嵌套。,17,5.5中斷向量與中斷向量表當(dāng)發(fā)生中斷,就意味著要發(fā)生程序的轉(zhuǎn)移,即由主程序轉(zhuǎn)移到服務(wù)程序去。那么,如何才能進(jìn)入中斷服務(wù)程序,即如何找到中斷服務(wù)程序的入口地址是解決問題的關(guān)鍵。為此,采用向量中斷方式(不是查詢中斷方式),設(shè)置中斷向量及中斷向量表,通過中斷向量表中的中斷向量查找中斷服務(wù)程序的入口地址。5.5.1中斷向量與中斷向量表1.什么是中斷向量CPU響應(yīng)中斷后,中斷源提供中斷號(hào),再由中斷號(hào)生成地址信息,由此地址信息對(duì)程序的執(zhí)行進(jìn)行導(dǎo)向,引導(dǎo)到中斷服務(wù)程序中去,故把這個(gè)地址信息稱為中斷向量(存儲(chǔ)單元)。中斷向量包括中斷服務(wù)程序的段基址CS(高位字),偏移地址IP(低位字)共4個(gè)字節(jié)。,18,2.中斷向量指針與中斷類型號(hào)什么叫“中斷向量指針”?指出中斷向量存放在中斷向量表的位置(或地址)。中斷類型號(hào)X4=中斷向量最低字節(jié)的指針,中斷號(hào)4=偏移地址IP;中斷號(hào)4+2=段基址CS。例如,8號(hào)中斷中斷源的中斷向量:IP8=84=20H~21H;CS8=84+2=22H~23H.,在PC系列中由中斷類型號(hào)提供的,即向量地址=0000:類型號(hào)4如:硬盤“1NT13H”它的向量地址=0000:13H4=0000:004CH004CH開始連續(xù)4個(gè)單元中用來存放“INT13H”的中斷向量:,中斷向量0070(CS):0fc9h(IP),2.什么是中斷向量表所有的中斷向量集中存放到存儲(chǔ)器的某一區(qū)域,這一區(qū)域稱之為中斷向量表。微機(jī)系統(tǒng)規(guī)定把存儲(chǔ)器的0000H~03FFH共1024個(gè)地址單元作為中斷向量存儲(chǔ)區(qū),這表明中斷向量表的起始地址是固定的,并且從存儲(chǔ)器的物理地址0開始。中斷向量表如圖5.2所示。每個(gè)中斷向量包含4個(gè)字節(jié),這4個(gè)字節(jié)在中斷向量表中的存放規(guī)律是向量的偏移量(IP)存放在兩個(gè)低字節(jié)單元中,向量的基址(CS)存放在兩個(gè)高字節(jié)單元中。,21,例:PC機(jī),0000 ̄03FF共1024(1K),圖5.2中斷向量表,22,5.5.2中斷向量表的填寫中斷向量表的填寫分系統(tǒng)填寫和用戶填寫兩種情況。系統(tǒng)設(shè)置的中斷服務(wù)程序,其中斷向量由系統(tǒng)負(fù)責(zé)填寫。用戶開發(fā)的中斷系統(tǒng),在編寫中斷服務(wù)程序時(shí),其中斷向量由用戶負(fù)責(zé)填寫,可采用MOV指令直接向中斷向量表中填寫中斷向量。不過,一般用戶都是通過修改中斷向量的方法使用系統(tǒng)的中斷資源,而很少由用戶自己直接填寫中斷向量。,23,5.6中斷處理過程5.6.1可屏蔽中斷的處理過程1.中斷申請(qǐng)與響應(yīng)握手當(dāng)外部設(shè)備要求CPU服務(wù)時(shí),需向CPU發(fā)出中斷請(qǐng)求信號(hào),申請(qǐng)中斷。CPU若發(fā)現(xiàn)有外部中斷請(qǐng)求,并且處在開中斷條件(IF=1),又沒有DMA申請(qǐng),則CPU在當(dāng)前指令執(zhí)行結(jié)束時(shí),進(jìn)入中斷響應(yīng)總線周期,響應(yīng)中斷請(qǐng)求,并且通過中斷回答信號(hào),從中斷控制器讀取中斷源的中斷號(hào),完成中斷申請(qǐng)與中斷響應(yīng)的握手過程。這一階段的主要目標(biāo)是獲取外部中斷源的中斷號(hào)。2.標(biāo)志位的處理與斷點(diǎn)保存微處理器獲得外部中斷源的中斷號(hào)后,CPU把標(biāo)志寄存器FLAGS壓入堆棧,并置IF=0,關(guān)閉中斷;置TF=0,防止單步執(zhí)行。然后將當(dāng)前程序的代碼段寄存器CS和指令指針I(yè)P壓入堆棧,這樣就把斷點(diǎn)(返回地址)保存到了堆棧的棧頂。這一階段的主要目標(biāo)是完成由主程向服務(wù)程序轉(zhuǎn)移前的準(zhǔn)備工作。,24,3.向中斷服務(wù)程序轉(zhuǎn)移并執(zhí)行中斷服務(wù)程序?qū)⒁勋@得的中斷號(hào)乘以4得到地址指針,在中斷向量表中,讀取中斷服務(wù)程序的入口地址CS∶IP,再把它寫入代碼段和指令指示器,實(shí)現(xiàn)程序控制的轉(zhuǎn)移。這一階段的主要目標(biāo)是完成主程序向中斷服務(wù)程序的轉(zhuǎn)移,或稱為中斷服務(wù)程序的加載。4.返回?cái)帱c(diǎn)中斷服務(wù)程序執(zhí)行完畢后,要返回主程序,因此,一定要恢復(fù)斷點(diǎn)和標(biāo)志寄存器的內(nèi)容,否則,主程序無(wú)法繼續(xù)執(zhí)行。為此,在中斷服務(wù)程序的末尾,執(zhí)行中斷返回指令I(lǐng)RET,將棧頂?shù)膬?nèi)容依次彈出到IP、CS和FLAGS,就恢復(fù)了主程序的執(zhí)行。這一階段的主要目標(biāo)是完成中斷服務(wù)程序向主程序的轉(zhuǎn)移。,25,5.6.2不可屏蔽中斷和軟中斷的處理過程由于它們的不可屏蔽性,并且其中斷號(hào)的獲取方法與可屏蔽中斷不一樣,所以其中斷處理過程也有所差別。其主要差別是:不需通過中斷響應(yīng)周期獲取中斷號(hào),是由系統(tǒng)分配的;中斷服務(wù)程序結(jié)束,不需發(fā)中斷結(jié)束命令EOI,是自動(dòng)結(jié)束方式。其他處理過程與可屏蔽中斷的一樣。,26,5.7中斷外部中斷的解決方案5.7.1中斷控制器82C59A的外部特性,82C59A的外部引腳如圖5.3所示,3組信號(hào)線如下:(1)面向CPU的信號(hào)線。包括用于CPU發(fā)命令及讀取中斷號(hào)的8根數(shù)據(jù)線D0~D7,一對(duì)中斷請(qǐng)求線INT和中斷回答線,以及、控制線與地址線、A0。(2)面向I/O設(shè)備的信號(hào)線。8根中斷申請(qǐng)線IR0~I(xiàn)R7,其作用有二:一是接收外設(shè)的中斷申請(qǐng),可接收8個(gè)外部中斷源的中斷申請(qǐng);二是作外部中斷優(yōu)先級(jí)排隊(duì)用,可進(jìn)行8級(jí)中斷排隊(duì),采用完全中斷嵌套排隊(duì)方式時(shí),連接IR0的設(shè)備優(yōu)先級(jí)最高,連接IR7的設(shè)備優(yōu)先級(jí)最低。(3)面向同類芯片的中斷級(jí)聯(lián)信號(hào)線。中斷級(jí)聯(lián)信號(hào)線用于擴(kuò)展中斷源,包括主/從芯片的設(shè)定線/EN,3根用以傳送從片識(shí)別碼的級(jí)聯(lián)線CAS0~CAS2。,圖5.382C59A引腳圖,27,5.7.2中斷控制器82C59A的工作方式1.中斷觸發(fā)方式(1)邊沿觸發(fā)方式IR0~I(xiàn)R7輸入線上出現(xiàn)由低電平到高電平的跳變,表示有中斷請(qǐng)求。(2)電平觸發(fā)方式IR1~I(xiàn)R7輸入線出現(xiàn)高電平時(shí),表示有中斷請(qǐng)求。2.中斷級(jí)聯(lián)方式82C59A可以單片使用,也可以多片使用,兩片以上使用時(shí)才有級(jí)聯(lián)問題。級(jí)聯(lián)問題分兩個(gè)方面:從主片看,它的哪一根或哪幾根中斷申請(qǐng)輸入線IR上有從片連接;從從片看,它的中斷申請(qǐng)輸出線INT與主片的哪一根中斷申請(qǐng)輸入線IR相連。,28,3.中斷屏蔽方式82C59A的中斷屏蔽是指對(duì)外設(shè)中斷申請(qǐng)的屏蔽,即允許還是不允許外設(shè)申請(qǐng)中斷,而不是對(duì)已經(jīng)提出的中斷申請(qǐng)響不響應(yīng)的問題。82C59A有常規(guī)屏蔽方式和特殊屏蔽方式兩種,常規(guī)屏蔽方式使用較多。(1)常規(guī)屏蔽方式這是通過82C59A屏蔽寄存器寫入8位屏蔽碼來屏蔽或開放8個(gè)中斷申請(qǐng)線(IR0~I(xiàn)R7)上的中斷申請(qǐng),要屏蔽哪個(gè)中斷申請(qǐng),就將屏蔽碼的相應(yīng)位置1;不屏蔽的,即開放中斷的,則相應(yīng)位置0。例如,屏蔽碼11111011B,表示僅開放IR2,其他均屏蔽。(2)特殊屏蔽方式用于開放低級(jí)別的中斷申請(qǐng)。允許比正在服務(wù)的中斷級(jí)別低的中斷申請(qǐng)中斷,而屏蔽同級(jí)的中斷再次申請(qǐng)中斷。4.中斷優(yōu)先級(jí)排隊(duì)方式82C59A提供了3種中斷優(yōu)先級(jí)排隊(duì)方式:完全嵌套方式、特殊嵌套方式和優(yōu)先級(jí)循環(huán)方式。,29,5.中斷結(jié)束方式(1)自動(dòng)結(jié)束方式這是中斷響應(yīng)之后,在中斷響應(yīng)周期,就自動(dòng)清零該中斷源在ISR寄存器中被置1的位。在中斷服務(wù)程序中不需發(fā)出中斷結(jié)束命令EOI。(2)非自動(dòng)結(jié)束方式這是ISR中被置1的位,在服務(wù)完畢后,不能自動(dòng)清零,而必須在中斷服務(wù)程序中發(fā)出中斷結(jié)束命令EOI,才能清零,故稱為非自動(dòng)結(jié)束。非自動(dòng)結(jié)束方式是常用的方式,其中又有兩種命令格式。常規(guī)結(jié)束命令:該命令使ISR寄存器中優(yōu)先級(jí)最高的置1位清零(復(fù)位)。指定結(jié)束命令:該命令明確指定ISR寄存器中哪一個(gè)置1的位清零,即服務(wù)完畢,具體指定哪一級(jí)中斷結(jié)束。指定結(jié)束方式應(yīng)用較多。,30,31,5.7.3中斷控制器82C59A的編程模型,82C59A編程模型包括內(nèi)部可訪問的寄存器及相應(yīng)的7個(gè)命令字。內(nèi)部寄存器如圖5.5所示。,(1)命令寄存器8位,隱含在“控制邏輯”模塊內(nèi)部,接收并處理7個(gè)命令字,用戶可以訪問。(2)中斷請(qǐng)求寄存器(IRR)8位,以邏輯1記錄已經(jīng)提出中斷請(qǐng)求的中斷級(jí),等待CPU響應(yīng)。當(dāng)提出中斷請(qǐng)求的外設(shè)產(chǎn)生中斷時(shí),由82C59A置位,直到中斷被響應(yīng)才自動(dòng)清零。IRR的內(nèi)容可以由CPU通過OCW3命令讀出。(3)中斷服務(wù)寄存器(ISR)在中斷響應(yīng)之后,第一個(gè)獲準(zhǔn)中斷請(qǐng)求的中斷級(jí)在相應(yīng)的ISR中置位。如IR3獲準(zhǔn),ISR中的IS3置位,表明IR3正處于服務(wù)。,1.82C59A內(nèi)部寄存器,32,(4)中斷屏蔽寄存器(IMR)是對(duì)中斷請(qǐng)求IR起屏蔽作用,即對(duì)中斷請(qǐng)求IR允許還是不允許,寄存器8位對(duì)應(yīng)8級(jí)中斷屏蔽。哪一級(jí)中斷被屏蔽,哪位就寫“1”,即禁止IR提出中斷請(qǐng)求。哪一級(jí)中斷被允許,哪位就寫“0”,即開放IR提出中斷請(qǐng)求。(5)中斷申請(qǐng)優(yōu)先級(jí)分析器(PR)這是一個(gè)中斷請(qǐng)求的判優(yōu)電路。它把新來的中斷請(qǐng)求優(yōu)先級(jí)與ISR寄存器中記錄在案的中斷優(yōu)先級(jí)進(jìn)行比較,看誰(shuí)的優(yōu)先級(jí)最高,就讓誰(shuí)申請(qǐng)中斷。其操作過程全部由硬件完成,故該寄存器對(duì)用戶是不可訪問的,它不屬于82C59A的編程模型之內(nèi)。,33,2.82C59A的端口地址,中斷控制器82C59A是系統(tǒng)資源,其端口地址由系統(tǒng)分配,見第3章表3.1。主片的兩個(gè)端口地址為020H和03FH;從片的兩個(gè)端口地址為0A0H和0BFH。7個(gè)命令具體使用哪個(gè)端口地址由命令的標(biāo)志位A0指示。,34,3.82C59A的命令82C59A共有7個(gè)編程命令,分為初始化命令I(lǐng)CW1~I(xiàn)CW4和操作命令OCW1~OCW3兩類。初始化命令I(lǐng)CW確定中斷控制器的基本配置或工作方式,而操作命令OCW執(zhí)行由ICW命令定義的基本操作。值得指出的是,初始化命令是在用戶自行另外設(shè)計(jì)中斷系統(tǒng)時(shí)才會(huì)用到。如果是利用系統(tǒng)已有的中斷資來源開發(fā)中斷應(yīng)用,就不需要進(jìn)行初始化,也就不會(huì)使用這些初始化命令。下面分別介紹各的作用及格式。(1)初始化命令(ICW1~I(xiàn)CW4)4個(gè)初始化命令用來對(duì)82C59A的工作方式和中斷號(hào)進(jìn)行設(shè)置,包括中斷觸發(fā)方式、級(jí)聯(lián)方式、排隊(duì)方式及結(jié)束方式。,35,ICW1命令功能:設(shè)定中斷請(qǐng)求的觸發(fā)方式、是否多片使用、要不要寫ICW4ICW1的格式如下:,例如,若采用邊沿觸發(fā),單片使用,需要ICW4則ICW1命令字=00010011B=13H,其程序段為:MOVAL,00010011B;ICW1的內(nèi)容OUT20H,AL;寫入ICW1端口(A0=0),,36,ICW2命令功能:設(shè)定中斷號(hào)。對(duì)連接到主片和從片上的8級(jí)中斷源的中斷號(hào),高5位分別為08H與70H(見表5.3和表5.4),而低3位由連接到主/從片申請(qǐng)線IRi的編碼確定。因此,向ICW2寫入中斷號(hào)只寫高5位,低3位寫0,ICW2命令的格式如下。,例如,硬盤的中斷號(hào)是0DH,ICW2=08H。MOVAL,08HOUT21H,AL;寫入ICW2的端口(A0=1)由于硬盤中斷請(qǐng)求連接IR5,故低3位=05H,由硬件寫入。,37,ICW3命令功能:設(shè)置中斷級(jí)聯(lián)方式,主片和從片分開設(shè)置。ICW3命令的格式主片與從片不同,分別如下:a.主片的ICW3,,b.從片的ICW3,38,ICW3命令只有系統(tǒng)存在2片以上82C59A時(shí)才啟用,否則不用ICW3命令。分主片和從片,分開設(shè)置。主片IRi的哪一個(gè)輸入引腳上有從片連接,該位寫1;若無(wú),寫0。例如,若主片的IR4上有從片連接,則主片的ICW3=00010000B=10H。從片的中斷請(qǐng)求線INT連到了主片哪一個(gè)IRi上,則寫入該位的編號(hào)代碼。例如,若從片A的INT連接到主片的IR4上,則從片的ICW3=00000100B=04H。初始化主片的ICW3程序段如下。MOVAL,10H;主ICW3的內(nèi)容OUT21H,AL;寫入主ICW3的端口(A0=1)初始化從片A的ICW3程序段如下。MOVAL,04H;從ICW3的內(nèi)容OUT0A1H,AL;寫入從ICW3的端口(A0=1),39,又如,假設(shè)主片的IR3和IR6兩個(gè)輸入端分別連接了從片A與B的INT,故主片的ICW3=01001000B=48H,從片A的ICW3=00000011B=03H從片B的ICW3=00000110B=06H,初始化主片的ICW3程序段如下。MOVAL,48H;ICW3(主)的內(nèi)容OUT21H,AL;寫入ICW3(主)的端口(A0=1)初始化從片A的ICW3程序段如下。MOVAL,03H;從片A的ICW3內(nèi)容OUT0A1H,AL;寫入從片A的CW3端口(A0=1)初始化從片B的ICW3程序段如下。MOVAL,06H;從片B的ICW3的內(nèi)容OUT0A1H,AL;寫入從片B的ICW3端口(A0=1),40,41,ICW4命令功能:設(shè)置優(yōu)先級(jí)排隊(duì)和中斷結(jié)束方式ICW4的格式如下:,例如,若CPU為16位,82C59A與系統(tǒng)總線之間采用緩沖器連接,非自動(dòng)結(jié)束方式,只用1片8259A,正常完全嵌套,其初始化命令字ICW4=00001101B=0DH初始化ICW4的程序段如下。MOVAL,0DH;ICW4的內(nèi)容OUT21H,AL;寫入ICW4的端口(A0=1)又如,若CPU為16位,采用非自動(dòng)結(jié)束方式,使用兩片82C59A,非緩沖方式,為使從片也能提出中斷請(qǐng)求,主片采用特殊的完全嵌套方式,其初始化命令字ICW4=00010101B=15H初始化ICW4的程序段如下。MOVAL,15H;ICW4的內(nèi)容OUT21H,AL;寫入ICW4的端口(A0=1),42,,(2)操作命令(OCW1~OCW3)3個(gè)操作命令是對(duì)82C59A經(jīng)初始化所設(shè)置的中斷屏蔽、中斷結(jié)束、中斷排隊(duì)方式進(jìn)行實(shí)際操作。其中,OCW3很少使用。①OCW1命令功能:執(zhí)行常規(guī)的中斷屏蔽/開放操作。OCW1命令的格式如下。,43,例如,若要使中斷源IR3開放,其余被屏蔽,則OCW1=11110111B=F7H屏蔽程序段為:MOVAL,0F7H;OCW1內(nèi)容OUT21H,AL;21H為OCW1的端口,44,②OCW2命令功能:執(zhí)行中斷結(jié)束操作和優(yōu)先級(jí)排隊(duì)操作。OCW2的格式如下。,OCW2中R、SL、EOI的組合功能如表5.2所示.,45,46,表5.2OCW2中R、SL、EOI的組合功能,OCW2的具體操作:1)作中斷結(jié)束控制:當(dāng)在初始化命令I(lǐng)CW1選用非自動(dòng)結(jié)束方式時(shí),就利用OCW2來控制中斷結(jié)束。即:OCW2格式中的EOI(D5)=1SL(D6)=0,不指定中斷結(jié)束L2~L0=000,OCW2=00100000BSL(D6)=1,指定中斷結(jié)束L2~L0編碼是被指定的中斷等級(jí)例如,指定IR5為中斷結(jié)束,則OCW2=01100101B=65H。,47,2)作中斷優(yōu)先級(jí)排隊(duì)控制,R(D7),,1:需要輪換優(yōu)先權(quán),分二種若SL=,0:優(yōu)先級(jí)固定方式,則為完全嵌套方式,1:優(yōu)先權(quán)指定輪換,0:自動(dòng)輪換,,OCW3命令功能:進(jìn)行特定的中斷屏蔽/開放操作。OCW3在實(shí)際中很少使用,不做介紹,可參考文獻(xiàn)[21]。,48,5.7.4中斷控制器對(duì)CPU處理中斷的支持作用1.接受外部設(shè)備的中斷請(qǐng)求經(jīng)過優(yōu)先權(quán)判決找到哪一個(gè)中斷源的中斷請(qǐng)求級(jí)別最高,然后,再向CPU提出中斷申請(qǐng)INT。2.優(yōu)先級(jí)排隊(duì)管理根據(jù)任務(wù)輕重緩急或設(shè)備的特殊要求,分配中斷源的中斷源等級(jí)。3.提供中斷類型號(hào)為CPU實(shí)現(xiàn)程序的轉(zhuǎn)移給出中斷服務(wù)程序入口地址指針。4.實(shí)現(xiàn)中斷請(qǐng)求的屏蔽和開放5.執(zhí)行中斷結(jié)束命令,49,5.8可屏蔽中斷的體系結(jié)構(gòu)及初始化5.8.1可屏蔽中斷的體系結(jié)構(gòu)可屏蔽中斷體系由主/從兩片82C59A中斷控制器進(jìn)行級(jí)聯(lián)組成,可支持15級(jí)可屏蔽中斷處理,如圖5.8所示。,50,51,15級(jí)可屏蔽中斷的中斷號(hào)分配如表5.3和表5.4所示。,表5.4從片82C59A8級(jí)硬中斷源的中斷號(hào),表5.3主片82C59A8級(jí)硬中斷源的中斷號(hào),,5.8.2可屏蔽中斷的初始化設(shè)置1.初始化設(shè)置的內(nèi)容(1)中斷觸發(fā)方式采用邊沿觸發(fā),上跳變有效。(2)中斷屏蔽方式采用常規(guī)屏蔽方式,即使用OCW1向IMR寫入屏蔽碼。(3)中斷優(yōu)先級(jí)排隊(duì)方式采用固定優(yōu)先級(jí)的完全嵌套方式。(4)中斷結(jié)束方式采用非自動(dòng)結(jié)束方式中的不指定結(jié)束和指定結(jié)束兩種命令格式,即在中斷服務(wù)程序服務(wù)完畢中斷返回之前,發(fā)結(jié)束命令代碼20H或6XH均可(X為0~7)。(5)級(jí)聯(lián)方式采用兩片主/從連接方式,并且規(guī)定把從片的中斷申請(qǐng)輸出引腳INT連到主片的中斷請(qǐng)求輸入引腳IR2上。兩片級(jí)聯(lián)處理15級(jí)中斷。(6)15級(jí)中斷號(hào)的分配為:中斷號(hào)08H~0FH對(duì)應(yīng)IRQ0~I(xiàn)RQ7,中斷號(hào)70H~77H對(duì)應(yīng)IRQ8~I(xiàn)RQ15。(7)兩片82C59A的端口地址分配為:主片82C59A的兩個(gè)端口是20H和21H;從片82C59A的兩個(gè)端口是0A0H和0A1H,52,,2.初始化設(shè)置的程序(1)初始化流程系統(tǒng)上電期間,分別對(duì)82C59A的主片和從片進(jìn)行初始化。初始化流程如圖5.9所示。,53,,(2)系統(tǒng)對(duì)中斷控制器初始化程序段①82C59A主片匯編語(yǔ)言初始化程序段如下。,INTA00EQU020H;82C59A主片端口(A0=0)INTA01EQU021H;82C59A主片端口(A0=1)MOVAL,11H;ICW1:邊沿觸發(fā),多片,要ICW4OUTINTA00,ALJMPSHORT$+2;I/O端口延時(shí)要求(下同)MOVAL,8H;ICW2:中斷號(hào)的高5位OUTINTA01,ALJMPSHORT$+2MOVAL,04H;ICW3:主片的IR2上接從片,(A0=1)OUTINTA01,ALJMPSHORT$+2MOVAL,01H;ICW4:非緩沖,全嵌套,16位的CPU,非自動(dòng)結(jié)束OUTINTA01,AL,54,②82C59A從片匯編語(yǔ)言初始化程序段如下。INTB00EQU0A0H;82C59A從片端口(A0=0)INTB01EQU0A1H;82C59A從片端口(A0=1)MOVAL,11H;ICW1:邊沿觸發(fā),多片,要ICW4OUTINTB00,ALJMPSHORT$+2MOVAL,70H;ICW2:中斷號(hào)的高5位OUTINTB01,ALJMPSHORT$+2MOVAL,02H;ICW3:從片接主片的IR2(ID2ID1ID0=010)OUTINTB01,ALJMPSHORT$+2MOVAL,01H;ICW4:非緩沖,全嵌套,16位的CPU,非自動(dòng)結(jié)束OUTINTB01,AL系統(tǒng)一旦完成了對(duì)82C59A的初始化,所有外部硬件中斷源和服務(wù)程序(包括已開發(fā)和未開發(fā)的)都必須按初始化的規(guī)定去做,因此,為慎重起見,對(duì)系統(tǒng)的82C59A初始化編程不由用戶去做,而是在微機(jī)啟動(dòng)后由處理器按初始化設(shè)置要求自動(dòng)完成。,55,5.9系統(tǒng)中斷資源的應(yīng)用5.9.1修改中斷向量修改中斷向量是修改同一中斷號(hào)下的中斷服務(wù)程序入口地址。1.中斷向量修改的方法中斷向量修改的方法是利用DOS功能調(diào)用INT21H的35H號(hào)功能和25H號(hào)功能。INT21H系統(tǒng)功能調(diào)用為用戶程序修改中斷向量提供了兩個(gè)讀/寫中斷向量的功能號(hào),其入口/出口參數(shù)如下。(1)INT21H的35H號(hào)功能是從中斷向量表中讀取中斷向量入口參數(shù):無(wú)。AH=功能號(hào)35H,AL=中斷號(hào)N。調(diào)用:即執(zhí)行INT21H。出口參數(shù):ES∶BX=讀取的中斷向量的段基址:偏移量。(2)INT21H的25H號(hào)功能是向中斷向量表中寫入中斷向量入口參數(shù):DS∶DX=要寫入的中斷向量的段基址:偏移量。AH=功能號(hào)25H,AL=中斷號(hào)N。調(diào)用:即執(zhí)行INT21H。出口參數(shù):無(wú)。,56,2.中斷向量修改與恢復(fù)的步驟(1)調(diào)用35H號(hào)功能,從向量表中讀取某一中斷號(hào)的原中斷向量,并保存在雙字節(jié)變量中。(2)調(diào)用25H號(hào)功能,將新中斷向量寫入中斷向量表中原中斷向量的位置,取代原中斷向量。(3)新中斷服務(wù)程序完畢后,再用25H號(hào)功能將保存在雙字節(jié)變量中的原中斷向量寫回去,恢復(fù)原中斷向量。,57,5.9.2編寫中斷服務(wù)程序1.中斷服務(wù)程序的一般格式NEW_INTPROCFAR(寄存器進(jìn)棧);現(xiàn)場(chǎng)保護(hù)(服務(wù)程序主體);服務(wù)程序MOVAL,20H;向從片82C59A發(fā)結(jié)束命令MOVDX,0A1HOUTDX,ALOUT20H,AL;向主片82C59A發(fā)結(jié)束命令(寄存器出棧);恢復(fù)現(xiàn)場(chǎng)IRET;中斷返回NEW_INTENDP,58,59,2.編寫中斷服務(wù)程序需要注意的幾個(gè)問題(1)注意現(xiàn)場(chǎng)的保護(hù)在中斷服務(wù)程序中要使用的某些寄存器,要進(jìn)棧保存,以免破壞主程序所使用的這些寄存器內(nèi)容。(2)注意堆棧操作的對(duì)稱性在堆棧中存放的中斷返回地址及現(xiàn)場(chǎng)信息,要特別注意進(jìn)棧與出棧的對(duì)稱性,即進(jìn)棧與出棧的內(nèi)容和順序都要一一對(duì)應(yīng),不要出現(xiàn)進(jìn)棧與出棧不一致,以免發(fā)生中斷結(jié)束后不能正確返回?cái)帱c(diǎn),造成嚴(yán)重后果。(3)中斷服務(wù)程序要盡可能短為避免對(duì)同級(jí)或低級(jí)的中斷源造成阻塞和干擾,要求中斷服務(wù)程序執(zhí)行要快。因此,能在主程序中做的工作盡可能安排在主程序中進(jìn)行,而不要放到中斷服務(wù)程序中去。,60,5.10中斷服務(wù)程序設(shè)計(jì)5.10.1主中斷控制器的中斷服務(wù)程序設(shè)計(jì)例5.1利用系統(tǒng)中斷控制器主片82C59A的中斷服務(wù)程序設(shè)計(jì)。1.要求中斷申請(qǐng)電路如圖5.10所示。微動(dòng)開關(guān)SW的中斷請(qǐng)求接到IRQ7。要求每按下1次開關(guān)SW就申請(qǐng)1次中斷,按8次后顯示“OK!”,程序結(jié)束。試編寫中斷服務(wù)程序。2.分析IRQ7是主片82C59A的IR7引腳上的中斷請(qǐng)求輸入線,中斷號(hào)為0FH,系統(tǒng)分配給打印機(jī)中斷,當(dāng)打印機(jī)空閑不使用時(shí),用戶可以通過修改中斷向量進(jìn)行利用。,61,,3.程序設(shè)計(jì)具體程序,見教材P90-92,62,5.10.2從中斷控制器的中斷服務(wù)程序設(shè)計(jì)例5.2利用系統(tǒng)中斷控制器從片82C59A的中斷服務(wù)程序設(shè)計(jì)。1.要求中斷申請(qǐng)電路如圖5.11所示。撥動(dòng)開關(guān)SW的中斷請(qǐng)求接到IRQ10。要求每按下1次開關(guān)SW就申請(qǐng)1次中斷,顯示“OK!”,然后返回,程序結(jié)束。,63,2.分析IRQ10是從片82C59A的IR2引腳上的中斷請(qǐng)求,中斷號(hào)為72H,是系統(tǒng)保留的,用戶可以使用。由于是從片82C59A,故在執(zhí)行從片的屏蔽與開放和發(fā)中斷結(jié)束命令時(shí),都要考慮對(duì)主片進(jìn)行相應(yīng)的操作。3.程序設(shè)計(jì)具體程序見教材P93-94,5.48259A在PC系統(tǒng)中的應(yīng)用,8259A初始化編程舉例:,ICW1=13H=00010011B邊沿觸發(fā),單片要ICW4ICW2=08H=00001000B中斷號(hào)的高5位,低3位由IR2動(dòng)態(tài)產(chǎn)生ICW4=09H=00001001B全嵌套,8088非自動(dòng)結(jié)束例2.采用2片8259,主/從結(jié)構(gòu),中斷優(yōu)先級(jí)順序:IRQ0,IRQ1,IRQ8~I(xiàn)RQ15,IRQ3~I(xiàn)RQ7主片:ICW1=11H;邊沿觸發(fā),多片,要ICW4ICW2=08H;中斷號(hào)高5位ICW3=04H;主片的IR2接到從片上D2=1ICW4=01H;非緩沖,全嵌套,16位CPU從片ICW1=11H,ICW2=70H,ICW3=02H,ICW4=01H,,,Eg:?jiǎn)纹?259A的端口地址是80H和81H,采用邊沿觸發(fā),普通嵌套方式,緩沖方式,非自動(dòng)中斷結(jié)束方式,需要ICW4,中斷類型碼是18H-1FH,請(qǐng)對(duì)8259A進(jìn)行初始化。,……MOVAL,13H;設(shè)置ICW1=00010011,即采用邊沿觸發(fā),單片,需要ICW4OUT80H,AL;ICW1寫入地址A0=0MOVAL,18H;ICW2=00011000,確定ICW2的高5位OUT81H,AL;ICW2寫入地址A0=1MOVAL,0DH;ICW4=00001101,即普通嵌套方式,緩沖方式,非自動(dòng)中斷結(jié)束方式,用于8086/8088OUT81H,AL;ICW4寫入地址A0=1……,Eg:已知8259A的端口地址是20H,21H,讀取其中斷請(qǐng)求寄存器IRR和中斷服務(wù)寄存器ISR的內(nèi)容。……MOVAL,0AH;OCW3=00001010,讀IRR寄存器OUT20H,AL;OCW3輸出到8259A的地地址NOP;空操作,等待3個(gè)時(shí)鐘周期INAL,20H;從低地址讀入IRR的內(nèi)容……,Eg:設(shè)目前系統(tǒng)的最高優(yōu)先權(quán)為IR5,若執(zhí)行OCW2命令,且命令中EOI=0,R=1,SL=1,L2L1L0=011。請(qǐng)指出OCW2命令執(zhí)行后,8259A的優(yōu)先權(quán)順序。,從OCW2命令可知它是指定優(yōu)先權(quán)特殊循環(huán)方式的最低級(jí),有L2L1L0=011可知最低優(yōu)先權(quán)的為IR3,所以執(zhí)行完OCW2命令后,8259A的8個(gè)中斷源的優(yōu)先權(quán)從高至低依次為:IR4,IR5,IR6,IR7,IR0,IR1,IR2,IR3。,一個(gè)中斷系統(tǒng)有一片主8259A和3片從8259A,從8259A分別接至主8259A的IR2、IR3、IR4上。若主8259A的IMR此時(shí)設(shè)置為01010000,各從8259A的IMR均設(shè)置為0,且連接IR3的從8259A此時(shí)最低優(yōu)先權(quán)為IR5。請(qǐng)按優(yōu)先權(quán)由高到低的順序列出未被屏蔽的中斷級(jí)。試編寫主8259A和鏈接IR3的從8259A的初始化程序及寫入有關(guān)的操作命令字(8259A端口地址和中斷類型碼可自己定義),系統(tǒng)中共有8259A4片,應(yīng)用中斷源輸入為:3*8+5=29級(jí),但主8259A的IMR此時(shí)設(shè)置為01010000,則連接主8259A上的IR4的從片被屏蔽,主8259A的IR6被屏蔽,此時(shí)未被屏蔽的中斷源還有20個(gè)。所以未被屏蔽的各中斷源按優(yōu)先權(quán)由高到低的順序是:主片:IR0、IR1、接IR2的從片:IR0-IR7接IR3的從片:IR6、IR7、IR0-IR5(連接IR3的從8259A此時(shí)最低優(yōu)先權(quán)為IR5)主片IR5、IR7,設(shè)主8259A的端口地址為20H、21H,連接IR3的從片端口地址為24H、25H。主片的初始化:設(shè)定緩沖方式、級(jí)聯(lián)、IR2、IR3和IR4連接從片,中斷請(qǐng)求信號(hào)邊沿觸發(fā),中斷類型號(hào)為:40H-47H,特殊全嵌套方式,非自動(dòng)EOI,屏蔽IR4、IR6主片初始化程序:,連接IR3的從片初始化:設(shè)定緩沖方式,級(jí)聯(lián),該從片接主片IR3上,中斷請(qǐng)求信號(hào)邊沿觸發(fā),中斷類型號(hào)48H-4FH,優(yōu)先權(quán)為特殊循環(huán)方式,IR5為最低,非自動(dòng)EOI.則初始化程序:,79,本章小結(jié)中斷技術(shù)的基本概念、工作原理中斷處理過程中斷控制器82C59A的外部特性、工作方式、編程模型,以及微機(jī)中斷體系初始化重點(diǎn)是中斷向量的修改和中斷服務(wù)程序的編程方法,- 1.請(qǐng)仔細(xì)閱讀文檔,確保文檔完整性,對(duì)于不預(yù)覽、不比對(duì)內(nèi)容而直接下載帶來的問題本站不予受理。
- 2.下載的文檔,不會(huì)出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請(qǐng)點(diǎn)此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
14.9 積分
下載 |
- 配套講稿:
如PPT文件的首頁(yè)顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國(guó)旗、國(guó)徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計(jì)者僅對(duì)作品中獨(dú)創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 微型計(jì)算機(jī) 接口 中斷 技術(shù)
鏈接地址:http://m.appdesigncorp.com/p-3266999.html