中斷與中斷管理修改課件_第1頁(yè)
中斷與中斷管理修改課件_第2頁(yè)
中斷與中斷管理修改課件_第3頁(yè)
中斷與中斷管理修改課件_第4頁(yè)
中斷與中斷管理修改課件_第5頁(yè)
已閱讀5頁(yè),還剩74頁(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)介

微機(jī)原理及應(yīng)用第9章中斷與中斷管理劉璐玲微機(jī)原理及應(yīng)用第9章中斷與中斷管理第9章中斷與中斷管理中斷原理中斷系統(tǒng)組成及其功能中斷源識(shí)別及中斷優(yōu)先權(quán)8086中斷系統(tǒng)8086CPU的中斷管理可編程中斷管理芯片8259AIBMPC硬件中斷第9章中斷與中斷管理中斷原理1.熟悉8088/8086的中斷類型、中斷響應(yīng)過(guò)程、中斷向量表2.掌握內(nèi)部中斷服務(wù)程序的編寫(xiě)3.理解8259A的內(nèi)部結(jié)構(gòu)、寄存器作用、中斷過(guò)程4.掌握8259A的普通全嵌套優(yōu)先權(quán)、普通中斷結(jié)束、邊沿觸發(fā)方式5.了解的8259A的ICW和OCW,注意命令字和狀態(tài)字的區(qū)別方法6.了解8259A在IBMPC系列機(jī)上的應(yīng)用情況7.掌握外部中斷服務(wù)程序的編寫(xiě)【學(xué)習(xí)目的】1.熟悉8088/8086的中斷類型、中斷響應(yīng)過(guò)程、中斷向8088CPU的中斷系統(tǒng)中斷服務(wù)程序的編寫(xiě)中斷控制器8259A的作用【學(xué)習(xí)重點(diǎn)】【學(xué)習(xí)重點(diǎn)】【難點(diǎn)】1.中斷向量表的填寫(xiě)

2.8259A的ICW和OCW的使用3.初始化編程【難點(diǎn)】1.中斷向量表的填寫(xiě)概述當(dāng)CPU用查詢的方式與外設(shè)交換信息時(shí),CPU就要浪費(fèi)很多時(shí)間去等待外設(shè)。這樣就引出一個(gè)快速的CPU與慢速的外設(shè)之間數(shù)據(jù)傳送的矛盾,這也是計(jì)算機(jī)在發(fā)展過(guò)程中遇到的嚴(yán)重問(wèn)題之一。為解決這個(gè)問(wèn)題,一方面要提高外設(shè)的工作速度,另一方面發(fā)展了中斷概念。中斷系統(tǒng)是計(jì)算機(jī)的重要指標(biāo)之一。概述當(dāng)CPU用查詢的方式與外設(shè)交換信息時(shí),CPU就要9.1中斷原理一、從無(wú)條件傳送、條件傳送到中斷傳送

條件傳送最大的缺點(diǎn)就是為了CPU和外設(shè)在時(shí)間上配合正確,CPU花大量的時(shí)間用無(wú)條件方式對(duì)狀態(tài)線進(jìn)行查詢,從而降低了整個(gè)系統(tǒng)的工作效率。具有中斷功能的CPU中,有一個(gè)硬件部件專門用于檢測(cè)外設(shè)的狀態(tài)線。

9.1中斷原理一、從無(wú)條件傳送、條件傳送到中斷傳送檢測(cè)狀態(tài)信號(hào)狀態(tài)信號(hào)有效?外設(shè)處理外設(shè)處理檢測(cè)狀態(tài)信號(hào)主程序條件傳輸(程序檢測(cè)狀態(tài)信號(hào))中斷傳輸(CPU硬件檢測(cè)狀態(tài)信號(hào))檢測(cè)狀態(tài)信號(hào)狀態(tài)信號(hào)有效?外設(shè)處理外設(shè)處理檢測(cè)狀態(tài)信號(hào)主程序二、中斷概念

在中斷傳送方式下,外設(shè)應(yīng)有請(qǐng)求CPU服務(wù)的權(quán)利,當(dāng)外部設(shè)備準(zhǔn)備好向CPU傳送數(shù)據(jù),或者外設(shè)已準(zhǔn)備就緒接收CPU的數(shù)據(jù),或者有某些緊急情況要求處理,或者是定時(shí)時(shí)間到等等。這時(shí),外設(shè)向CPU發(fā)出中斷請(qǐng)求,CPU接收到請(qǐng)求并在一定條件下,暫時(shí)停止執(zhí)行原來(lái)的程序而轉(zhuǎn)去中斷處理,處理好中斷服務(wù)再返回來(lái)執(zhí)行原來(lái)程序,這就是一個(gè)中斷概念。

二、中斷概念處理文檔電話鈴響暫停文檔文檔中作暫停記號(hào)電話交談?wù)页鰰和S浱?hào)位置繼續(xù)處理文檔執(zhí)行主程序(日常事務(wù)程序)中斷申請(qǐng)信號(hào)有效(中斷請(qǐng)求)暫停執(zhí)行主程序響應(yīng)中斷當(dāng)前PC及寄存器入棧(保護(hù)現(xiàn)場(chǎng))處理外設(shè)要求(中斷服務(wù))寄存器及PC出棧(恢復(fù)現(xiàn)場(chǎng)及中斷返回)繼續(xù)執(zhí)行主程序中斷舉例中斷過(guò)程處理文檔電話鈴響暫停文檔文檔中作暫停記號(hào)電話交談?wù)页鰰和S浱?hào)三、中斷應(yīng)用1、實(shí)時(shí)故障處理存儲(chǔ)器出錯(cuò)檢測(cè)電路

存儲(chǔ)器奇偶檢測(cè)電路奇偶位中斷請(qǐng)求信號(hào)存儲(chǔ)器出錯(cuò)檢測(cè)電路三、中斷應(yīng)用存儲(chǔ)器奇偶檢測(cè)電路奇偶位中斷請(qǐng)求信號(hào)存儲(chǔ)器出錯(cuò)檢2、分時(shí)操作,同時(shí)處理

有了中斷功能,CPU可命令多個(gè)外設(shè)同時(shí)工作。雖然CPU在不同的時(shí)間點(diǎn)上為不同的任務(wù)工作,但宏觀上看CPU幾乎同時(shí)為不同的任務(wù)工作,極大地發(fā)揮了CPU高速性的特點(diǎn)。

第9章中斷與中斷管理修改-課件9.2中斷系統(tǒng)組成及其功能一、三個(gè)與中斷有關(guān)的觸發(fā)器

1、中斷請(qǐng)求觸發(fā)器有兩個(gè)特點(diǎn):(1)它的輸出可以作為中斷請(qǐng)求信號(hào),在滿足一定條件的情況下把信號(hào)發(fā)送給CPU,并在CPU未響應(yīng)時(shí)一直保存下去;(2)當(dāng)CPU滿足一定條件下響應(yīng)了該中斷請(qǐng)求信號(hào),執(zhí)行了相關(guān)的操作后,該中斷請(qǐng)求信號(hào)可以被撤除。

DQRD狀態(tài)線中斷請(qǐng)求外設(shè)讀、寫(xiě)操作CLK+5V9.2中斷系統(tǒng)組成及其功能一、三個(gè)與中斷有關(guān)的觸發(fā)器中斷源:引起中斷的原因或能發(fā)出中斷申請(qǐng)的來(lái)源。(1)一般的輸入輸出設(shè)備——鍵盤,打印機(jī),鼠標(biāo)等。(2)數(shù)據(jù)通道中斷源——軟盤,硬盤等。(3)實(shí)時(shí)時(shí)鐘——用外部時(shí)鐘定時(shí)發(fā)出中斷信號(hào),由CPU進(jìn)行處理。(4)故障源(a)外設(shè)故障——電源掉電,運(yùn)行超限等。(b)計(jì)算機(jī)故障——內(nèi)存出錯(cuò),輸入輸出出錯(cuò)等。(5)測(cè)試程序時(shí)設(shè)置的中斷源硬件斷點(diǎn):硬件調(diào)試器軟件斷點(diǎn):INT03H調(diào)試程序應(yīng)支持單步運(yùn)行和斷點(diǎn)運(yùn)行中斷源:引起中斷的原因或能發(fā)出中斷申請(qǐng)的來(lái)源。(1)一般的輸2、中斷屏蔽觸發(fā)器中斷屏蔽觸發(fā)器的功能就是決定中斷請(qǐng)求觸發(fā)器的輸出信號(hào)是否可以作為中斷請(qǐng)求信號(hào)發(fā)送給CPU,這樣CPU通過(guò)對(duì)中斷屏蔽觸發(fā)器的設(shè)置就可以達(dá)到對(duì)中斷源的控制。中斷屏蔽觸發(fā)器的作用2、中斷屏蔽觸發(fā)器中斷屏蔽觸發(fā)器的作用3、CPU內(nèi)部的中斷允許觸發(fā)器CPU通過(guò)對(duì)它進(jìn)行設(shè)置來(lái)決定是否對(duì)發(fā)給它的中斷請(qǐng)求信號(hào)進(jìn)行響應(yīng)。有些CPU,比如8086CPU,設(shè)置了兩種中斷類型可屏蔽中斷和不可屏蔽中斷??善帘沃袛嗍苤袛嘣试S觸發(fā)器控制,只有當(dāng)IF為1時(shí),CPU才能響應(yīng)中斷請(qǐng)求信號(hào)。而不可屏蔽中斷不受中斷允許觸發(fā)器的控制,只要中斷請(qǐng)求信號(hào)有效,不管IF是否為1,CPU就必須響應(yīng)。因此不可屏蔽中斷的中斷優(yōu)先級(jí)要大于可屏蔽中斷的中斷優(yōu)先級(jí)。

第9章中斷與中斷管理修改-課件二、再談中斷條件

外設(shè)的中斷請(qǐng)求信號(hào)要想發(fā)給CPU并能最終得到CPU的響應(yīng),必須要滿足如下兩個(gè)條件:一個(gè)是中斷屏蔽觸發(fā)器處于非屏蔽狀態(tài)。在這種情況下,中斷請(qǐng)求信號(hào)才能發(fā)給CPU。但CPU是否響應(yīng)這個(gè)中斷,還要看中斷允許觸發(fā)器是否處于開(kāi)中斷狀態(tài)。只有CPU是開(kāi)中斷的條件下,CPU才能進(jìn)入中斷響應(yīng)過(guò)程,處理中斷事務(wù)。這就是第二個(gè)條件。二、再談中斷條件9.3中斷響應(yīng)過(guò)程中斷過(guò)程主要包括三個(gè)方面:外設(shè)發(fā)中斷請(qǐng)求信號(hào)給CPU即中斷請(qǐng)求;CPU對(duì)中斷請(qǐng)求信號(hào)所作出反應(yīng)即中斷響應(yīng);CPU執(zhí)行對(duì)外設(shè)操作的子程序即中斷處理。

9.3中斷響應(yīng)過(guò)程一、中斷申請(qǐng)

設(shè)置中斷請(qǐng)求觸發(fā)器有效,當(dāng)中斷屏蔽觸發(fā)器狀態(tài)為1,則中斷請(qǐng)求觸發(fā)器輸出的中斷請(qǐng)求信號(hào)發(fā)給CPU。二、中斷響應(yīng)CPU響應(yīng)可屏蔽中斷申請(qǐng)必須滿足3個(gè)條件:①

無(wú)總線請(qǐng)求;②

CPU被允許中斷;③

CPU執(zhí)行完現(xiàn)行指令。

第9章中斷與中斷管理修改-課件三、中斷處理

CPU響應(yīng)中斷后要自動(dòng)完成三項(xiàng)任務(wù):1、

關(guān)閉中斷;2、CS、IP以及FR的內(nèi)容推入堆棧;3、中斷服務(wù)程序段地址送入CS中,偏移地址送入IP中。

一旦CPU響應(yīng)中斷,就可轉(zhuǎn)入中斷服務(wù)程序之中。三、中斷處理中斷服務(wù)程序的結(jié)構(gòu)如下:pushax ;保護(hù)現(xiàn)場(chǎng) …… pushbx sti ;開(kāi)中斷 …… ;中斷處理 cli ;關(guān)中斷 popbx ;恢復(fù)現(xiàn)場(chǎng) …… popax sti ;開(kāi)中斷 reti ;中斷返回

中斷服務(wù)程序的結(jié)構(gòu)如下:四、中斷源識(shí)別及中斷優(yōu)先權(quán)

在中斷系統(tǒng)中一個(gè)非常關(guān)鍵的問(wèn)題是CPU如何知道是哪一個(gè)中斷源發(fā)出的中斷申請(qǐng)信號(hào)。只有正確地確定中斷源,CPU才能轉(zhuǎn)到相應(yīng)的中斷服務(wù)程序?yàn)橹?wù)。這里,確定中斷源的方法被稱為中斷源識(shí)別或中斷方式。

四、中斷源識(shí)別及中斷優(yōu)先權(quán)在中斷系統(tǒng)中一個(gè)非1、中斷源識(shí)別 包括兩個(gè)方面:其一,確定中斷源;其二,找到該中斷服務(wù)程序的首地址。下面我們給出解決問(wèn)題的兩種方案。1、中斷源識(shí)別(1)查詢中斷第9章中斷與中斷管理修改-課件INAL,IPORT ;從輸入接口取中斷信息TESTAL,80H ;是0號(hào)設(shè)備請(qǐng)求嗎?JNZSEVO ;是,轉(zhuǎn)0號(hào)設(shè)備服務(wù)程序TESTAL,40H ;否,是1號(hào)設(shè)備請(qǐng)求嗎?JNZSEVl ;是,轉(zhuǎn)1號(hào)設(shè)備服務(wù)程序TESTAL,20H ;否,是2號(hào)設(shè)備請(qǐng)求嗎?JNZSEV2 ;是,轉(zhuǎn)2號(hào)設(shè)備服務(wù)程序TESTAL,10H ;否,是3號(hào)設(shè)備請(qǐng)求嗎?JNZSEV3 ;是,轉(zhuǎn)3號(hào)設(shè)備服務(wù)程序INAL,IPORT ;從輸入接口取中斷(2)矢量中斷中斷申請(qǐng)信號(hào)和中斷響應(yīng)信號(hào)是一對(duì)握手信號(hào)。在驅(qū)動(dòng)一個(gè)中斷事件過(guò)程中,中斷請(qǐng)求信號(hào)是外設(shè)發(fā)給CPU的,當(dāng)其有效時(shí),表示外設(shè)請(qǐng)求CPU為之服務(wù)。而中斷響應(yīng)信號(hào)是CPU發(fā)給外設(shè)的,當(dāng)其有效時(shí),表明CPU可以為這個(gè)外設(shè)服務(wù),同時(shí)要求外設(shè)提供中斷類型號(hào)。(2)矢量中斷2、中斷優(yōu)先權(quán)(1)軟件方案查詢方法優(yōu)點(diǎn):1、查詢次序即是優(yōu)先權(quán)次序。2、省硬件,不需要硬件排隊(duì)電路。缺點(diǎn):轉(zhuǎn)至服務(wù)程序入口時(shí)間長(zhǎng)。軟件查詢確定優(yōu)先權(quán)的缺點(diǎn)——響應(yīng)中斷慢。2、中斷優(yōu)先權(quán)查詢方法優(yōu)點(diǎn):軟件查詢確定優(yōu)先權(quán)的缺點(diǎn)——響(2)硬件方案鏈形電路這種方法是利用外設(shè)在系統(tǒng)中的物理位置來(lái)決定其中斷優(yōu)先權(quán)的。鏈?zhǔn)絻?yōu)先權(quán)排隊(duì)電路(如圖所示)(2)硬件方案鏈?zhǔn)絻?yōu)先權(quán)排隊(duì)電路(如圖所示)第9章中斷與中斷管理修改-課件編碼電路74LSl48是一個(gè)8到3線的優(yōu)先權(quán)編碼器,它是一個(gè)16個(gè)管腳雙列直插式TTL器件。編碼電路74LSl48是一個(gè)8到3線的優(yōu)先權(quán)編碼器,9.48086中斷系統(tǒng)

一、8086的中斷源

8086中斷系統(tǒng)有兩大類型的中斷源,一類是由外部設(shè)備產(chǎn)生的中斷,我們稱之為硬件中斷,硬件中斷有時(shí)又稱外中斷。另一類是由指令在某種運(yùn)行結(jié)果時(shí)產(chǎn)生的中斷,我們稱之為軟件中斷。另外對(duì)于硬件中斷,又分為不可屏蔽中斷和可屏蔽中斷,硬件中斷是通過(guò)CPU芯片的INTR管腳或NMI管腳從外部引入的。

INT3指令I(lǐng)NTO指令I(lǐng)NT4斷點(diǎn)單步中斷INT1除數(shù)為0INT0INTn指令中斷邏輯NMIINTR非屏蔽中斷可屏蔽中斷外設(shè)提供中斷號(hào)INT29.48086中斷系統(tǒng)一、8086的中斷源INT中斷服務(wù)子程序的調(diào)用通過(guò)中斷類型號(hào)來(lái)完成。中斷類型號(hào)和中斷服務(wù)子程序的入口地址之間的關(guān)系:中斷服務(wù)子程序的調(diào)用通過(guò)中斷類型號(hào)來(lái)完成。二、不可屏蔽中斷所謂不可屏蔽中斷就是用戶不能通過(guò)CPU內(nèi)的中斷允許觸發(fā)器IF控制的中斷,由8086CPU的NMI管腳引入。NMI中斷請(qǐng)求采用上升沿觸發(fā)方式,這種中斷一旦產(chǎn)生,在CPU內(nèi)部直接生成中斷類型號(hào)02。不可屏蔽中斷一般用于非常事件。例如:

電源掉電前的數(shù)據(jù)保護(hù)存儲(chǔ)器讀寫(xiě)錯(cuò)誤的處理二、不可屏蔽中斷電源掉電前的數(shù)據(jù)保護(hù)第9章中斷與中斷管理修改-課件三、可屏蔽中斷

可屏蔽中斷就是用戶可以控制的中斷,其途徑是通過(guò)對(duì)CPU內(nèi)的中斷允許觸發(fā)器IF的設(shè)置來(lái)禁止和允許CPU響應(yīng)中斷??善帘沃袛嘤?086CPU的INTR管腳引入。這種中斷請(qǐng)求需要設(shè)備提供中斷類型號(hào),CPU響應(yīng)中斷后,取中斷類型號(hào)的4倍作為中斷服務(wù)入口地址表的地址,通過(guò)查表得到相應(yīng)的中斷服務(wù)程序首地址,轉(zhuǎn)去執(zhí)行相應(yīng)的中斷服務(wù)程序。

三、可屏蔽中斷第9章中斷與中斷管理修改-課件四、8086中斷系統(tǒng)1、軟件中斷軟件中斷是由中斷指令引起的。中斷指令的指令格式為INTn,操作數(shù)n就是中斷類型號(hào)。當(dāng)CPU執(zhí)行完畢中斷指令I(lǐng)NTn后,就會(huì)立即產(chǎn)生一個(gè)中斷類型號(hào)為n的中斷。四、8086中斷系統(tǒng)1、軟件中斷(1)除法中斷當(dāng)進(jìn)行除法運(yùn)算時(shí),若除數(shù)為0或除數(shù)太小,使得商數(shù)大于相應(yīng)寄存器所能表示的最大值,被稱作除法出錯(cuò)。這時(shí)除法指令就相當(dāng)于一個(gè)中斷源,它向CPU發(fā)出類型0中斷。第9章中斷與中斷管理修改-課件(2)溢出中斷當(dāng)算術(shù)運(yùn)算產(chǎn)生溢出時(shí),將在INTO指令控制下向CPU發(fā)出類型4的中斷,即溢出中斷。(3)單步中斷和斷點(diǎn)中斷單步中斷

當(dāng)8086CPU的標(biāo)志寄存器中的TF標(biāo)志為1時(shí),8086CPU處于單步工作方式,這時(shí)CPU在每條指令執(zhí)行后自動(dòng)產(chǎn)生類型l的中斷。斷點(diǎn)中斷

INT3指令是1字節(jié)指令,可將這條指令的目的代碼嵌入任意條指令的操作碼處,從而實(shí)現(xiàn)斷點(diǎn)中斷。

第9章中斷與中斷管理修改-課件外部中斷是由于8088外部提出中斷請(qǐng)求引起的程序中斷利用外部中斷,微機(jī)系統(tǒng)可以實(shí)時(shí)響應(yīng)外部設(shè)備的數(shù)據(jù)傳送請(qǐng)求,能夠及時(shí)處理外部意外或緊急事件外部中斷的原因是處理器外部隨機(jī)產(chǎn)生的,所以是真正的中斷(Interrupt)內(nèi)部中斷的原因是處理器執(zhí)行程序出現(xiàn)異常,所以經(jīng)常被稱為異常(Exception)補(bǔ)充說(shuō)明:外部中斷外部中斷是由于8088外部提出中斷請(qǐng)求引起的程序中斷補(bǔ)充說(shuō)明9.58086CPU的中斷管理一、8086CPU的中斷處理順序

8086CPU的中斷優(yōu)先權(quán)排列從高到低為:1、除法出錯(cuò)中斷,溢出中斷,INTn;2、NMI;3、INTR;4、單步中斷。9.58086CPU的中斷管理一、8086CPU的中斷處二、8086CPU的中斷服務(wù)入口地址表(中斷向量表)8086CPU在內(nèi)存的前1KB(地址00000H~003FFH)建立一個(gè)中斷向量表,存放256個(gè)中斷服務(wù)程序的入口地址,每個(gè)地址占4個(gè)字節(jié)。前兩個(gè)字節(jié)為中斷服務(wù)程序偏移地址IP,后兩個(gè)字節(jié)為段地址CS。中斷類型號(hào)乘以4得到中斷服務(wù)程序入口地址的地址。二、8086CPU的中斷服務(wù)入口地址表(中斷向量表)809.6可編程中斷管理芯片8259A功能管理和控制80x86的外部中斷請(qǐng)求實(shí)現(xiàn)中斷判優(yōu)、提供中斷矢量、屏蔽中斷輸入單片8259A可管理8級(jí)中斷;采用級(jí)聯(lián)方式,最多可管理64級(jí)中斷內(nèi)部結(jié)構(gòu)數(shù)據(jù)總線緩沖器;讀/寫(xiě)控制電路;級(jí)聯(lián)緩沖/比較器;中斷請(qǐng)求寄存器IRR;中斷服務(wù)寄存器ISR;中斷屏蔽寄存器IMR;優(yōu)先權(quán)判別器PR;控制電路。9.6.18259A結(jié)構(gòu)與功能9.6可編程中斷管理芯片8259A功能9.6.182D7~D0INTAINT中斷請(qǐng)求寄存器中斷屏蔽寄存器數(shù)據(jù)總線緩沖器IR0IR7讀/寫(xiě)控制邏輯級(jí)聯(lián)緩沖器比較器RDWRA0CSCAS0CSA1CAS2SP/EN優(yōu)先權(quán)判別電路中斷服務(wù)寄存器控制邏輯D7~D0INTAINT中斷請(qǐng)求寄存器中斷屏蔽寄存器數(shù)據(jù)IR中斷請(qǐng)求寄存器IRR保存8條外界中斷請(qǐng)求信號(hào)IR0~I(xiàn)R7的請(qǐng)求狀態(tài)Di位為1表示IRi引腳有中斷請(qǐng)求;為0表示無(wú)請(qǐng)求中斷服務(wù)寄存器ISR保存正在被8259A服務(wù)著的中斷狀態(tài)Di位為1表示IRi中斷正在服務(wù)中;為0表示沒(méi)有被服務(wù)中斷屏蔽寄存器IMR保存對(duì)中斷請(qǐng)求信號(hào)IR的屏蔽狀態(tài)Di位為1表示IRi中斷被屏蔽(禁止);為0表示允許中斷請(qǐng)求寄存器IRR引腳與CPU相連雙向數(shù)據(jù)線:D0~D7;選通與讀寫(xiě)控制信號(hào)線:A0、、、多功能設(shè)置信號(hào)線:與外部中斷源相連IR0~IR7(電平觸發(fā)或邊沿觸發(fā))與其它8259A相連CAS0~CAS2電源與地信號(hào)VCC(+5V)、GNDSP/EN在非緩沖工作方式時(shí),輸入,決定主片還是從片;在緩沖工作方式時(shí),輸出,由它打開(kāi)總線緩沖器。引腳SP/EN在非緩沖工作方式時(shí),輸入,決定主片還是從片3.中斷級(jí)連一個(gè)系統(tǒng)中,8259A可以級(jí)連,有一個(gè)主8259A,若干個(gè)(最多8個(gè))從8259A級(jí)連時(shí),主8259A的三條級(jí)連線CAS0~CAS2作為輸出線,連至每個(gè)從8259A的CAS0~CAS2每個(gè)從8259A的中斷請(qǐng)求信號(hào)INT,連至主8259A的一個(gè)中斷請(qǐng)求輸入端IR主8259A的INT線連至CPU的中斷請(qǐng)求輸入端SP*/EN*在非緩沖方式下,規(guī)定該8259A是主片(SP*=1)還是從片(SP*=0)3.中斷級(jí)連一個(gè)系統(tǒng)中,8259A可以級(jí)連,有一個(gè)主825CAS0IR0CAS1IR1CAS2IR2

IR3INTAIR4IR5INTIR6IR7SP/EN

CAS0INTA

CAS1

CAS2INT

IR0

IR1SP/ENIR7CAS0IR0CAS1IR1CAS2IR2

IR3INTAIR4IR5INTIR6IR7SP/ENINTAINTR+5V8259級(jí)聯(lián)工作示意圖CAS0IR0CAS0CAS0I9.6.2中斷響應(yīng)過(guò)程(CPU與8259A的操作過(guò)程)(a)申請(qǐng)中斷外設(shè)對(duì)應(yīng)IR0~IR7為“1”,判優(yōu)后使INT為“1”CPU的INTR輸入“1”,申請(qǐng)中斷。(b)響應(yīng)中斷的條件CLI使IF=0,禁止中斷。STI使IF=1,允許中斷。(c)響應(yīng)中斷CPU先做三個(gè)工作:(1)將FR進(jìn)棧(2)使IF=0,TF=0(3)斷點(diǎn)的CS、IP進(jìn)棧9.6.2中斷響應(yīng)過(guò)程(CPU與8259A的操作過(guò)程)9.6.2中斷響應(yīng)過(guò)程(CPU與8259A的操作過(guò)程)(d)INTA脈沖周期

CPU響應(yīng)中斷經(jīng)INTA引腳發(fā)兩個(gè)INTA脈沖第一個(gè)INTA脈沖,通知8259A,CPU響應(yīng)中斷,將ISRi置1。

第二個(gè)INTA脈沖,8259A送中斷類型號(hào),CPU將n4找到中斷服務(wù)程序入口地址,執(zhí)行中斷程序。(e)中斷服務(wù)程序(1)開(kāi)中斷(STI)(2)保護(hù)現(xiàn)場(chǎng)(PUSH)(3)處理部分(4)中斷結(jié)束EOI(5)恢復(fù)現(xiàn)場(chǎng)(POP)(6)中斷返回IRET9.6.2中斷響應(yīng)過(guò)程(CPU與8259A的操作過(guò)程)9.6.38259A的工作方式(a)設(shè)置優(yōu)先級(jí)的方式

(b)中斷結(jié)束的方式(c)中斷屏蔽方式(d)中斷觸發(fā)(e)

8259A的級(jí)聯(lián)9.6.38259A的工作方式9.6.38259A的工作方式普通全嵌套方式特殊全嵌套方式自動(dòng)循環(huán)方式特殊循環(huán)方式優(yōu)先權(quán)固定方式優(yōu)先權(quán)循環(huán)方式設(shè)置優(yōu)先權(quán)方式普通中斷結(jié)束方式特殊中斷結(jié)束方式自動(dòng)中斷結(jié)束方式非自動(dòng)中斷結(jié)束方式結(jié)束中斷處理方式屏蔽中斷源方式普通屏蔽方式特殊屏蔽方式中斷觸發(fā)方式邊沿觸發(fā)方式電平觸發(fā)方式數(shù)據(jù)線連接方式緩沖方式非緩沖方式9.6.38259A的工作方式普通全嵌套方式特殊全嵌套方(1)設(shè)置優(yōu)先權(quán)方式普通全嵌套方式8259A的中斷優(yōu)先權(quán)順序固定不變,從高到低依次為IR0、IR1、IR2、……IR7中斷請(qǐng)求后,8259A對(duì)當(dāng)前請(qǐng)求中斷中優(yōu)先權(quán)最高的中斷IRi予以響應(yīng),將其中斷類型號(hào)送上數(shù)據(jù)總線,對(duì)應(yīng)ISR的Di位置位,至到中斷結(jié)束(ISR的Di位復(fù)位)在ISR的Di位置位期間,禁止再發(fā)生同級(jí)和低級(jí)優(yōu)先權(quán)的中斷,但允許高級(jí)優(yōu)先權(quán)中斷的嵌套特殊全嵌套方式優(yōu)先權(quán)自動(dòng)循環(huán)方式優(yōu)先權(quán)特殊循環(huán)方式(1)設(shè)置優(yōu)先權(quán)方式普通全嵌套方式(2)結(jié)束中斷處理方式什么是8259A的中斷結(jié)束?8259A利用中斷服務(wù)寄存器ISR判斷:某位為1,表示正在進(jìn)行中斷服務(wù);該位為0,就是該中斷結(jié)束服務(wù)。這里說(shuō)明如何使ISR某位為0,不反映CPU的工作狀態(tài)。(2)結(jié)束中斷處理方式什么是8259A的中斷結(jié)束?8259(2)結(jié)束中斷處理方式自動(dòng)中斷結(jié)束方式普通中斷結(jié)束方式配合全嵌套優(yōu)先權(quán)方式使用當(dāng)CPU用輸出指令往8259A發(fā)出普通中斷結(jié)束EOI命令時(shí),8259A就會(huì)把所有正在服務(wù)的中斷中優(yōu)先權(quán)最高的ISR位復(fù)位特殊中斷結(jié)束方式配合循環(huán)優(yōu)先權(quán)方式使用CPU在程序中向8259A發(fā)送一條特殊中斷結(jié)束命令,這個(gè)命令中指出了要清除哪個(gè)ISR位(2)結(jié)束中斷處理方式自動(dòng)中斷結(jié)束方式(3)屏蔽中斷源方式普通屏蔽方式將IMR的Di位置1,則對(duì)應(yīng)的中斷IRi被屏蔽,該中斷請(qǐng)求不能從8259A送到CPU如果IMR的Di位置0,則允許IRi中斷產(chǎn)生特殊屏蔽方式將IMR的Di位置1,對(duì)應(yīng)的中斷IRi被屏蔽的同時(shí),使ISR的Di位置0(3)屏蔽中斷源方式普通屏蔽方式(4)中斷觸發(fā)方式邊沿觸發(fā)方式8259A將中斷請(qǐng)求輸入端出現(xiàn)的上升沿作為中斷請(qǐng)求信號(hào)電平觸發(fā)方式中斷請(qǐng)求端出現(xiàn)的高電平是有效的中斷請(qǐng)求信號(hào)(4)中斷觸發(fā)方式邊沿觸發(fā)方式5.數(shù)據(jù)線連接方式緩沖方式8259A的數(shù)據(jù)線需加緩沖器予以驅(qū)動(dòng)8259A把SP*/EN*引腳作為輸出端,輸出允許信號(hào),用以鎖存或開(kāi)啟緩沖器非緩沖方式SP*/EN*引腳為輸入端若8259A級(jí)連,由其確定是主片或從片

5.數(shù)據(jù)線連接方式緩沖方式9.6.48259A的編程初始化編程8259A開(kāi)始工作前,必須進(jìn)行初始化編程給8259A寫(xiě)入初始化命令字ICW中斷操作編程在8259A工作期間可以寫(xiě)入操作命令字OCW將選定的操作傳送給8259A,使之按新的要求工作還可以讀取8259A的信息,以便了解他的工作狀態(tài)9.6.48259A的編程初始化編程1.初始化命令字ICW初始化命令字ICW最多有4個(gè)8259A在開(kāi)始工作前必須寫(xiě)入必須按照ICW1~I(xiàn)CW4順序?qū)懭隝CW1和ICW2是必須送的ICW3和ICW4由工作方式?jīng)Q定D7D6D5D4D3D2D1D01.初始化命令字ICW初始化命令字ICW最多有4個(gè)D7D6ICW1×××1LTIM×SNGLIC4D7D6D5D4D3D2D1D0×——表示可以任意為1為0都可以(建議為0)1——只能為1,作為標(biāo)志中斷觸發(fā)方式:LTIM=1,電平觸發(fā)方式LTIM=0,邊沿觸發(fā)方式規(guī)定單片或級(jí)連方式:SNGL=1,單片方式SNGL=0,級(jí)連方式是否寫(xiě)入ICW4IC4=1,要寫(xiě)入ICW4IC4=0,不寫(xiě)入ICW4,即ICW4規(guī)定的位全為0ICW1×××1LTIM×SNGLIC4D7D6D5D4D3ICW2T7T6T5T4T3×××D7D6D5D4D3D2D1D0設(shè)置中斷向量號(hào)T7~T3為中斷向量號(hào)的高5位低3位由8259A自動(dòng)確定:IR0為000、IR1為001、……、IR7為111ICW2T7T6T5T4T3×××D7D6D5D4D3D2DICW3S7S6S5S4S3S2/ID2S1/ID1S0/ID0D7D6D5D4D3D2D1D0級(jí)連命令字主片8259A:Si=1對(duì)應(yīng)IRi接有從片;否則IRi沒(méi)有連接從片從片8259A:ID0~I(xiàn)D2編碼說(shuō)明從片INT引腳接到主片哪個(gè)IR引腳ICW3S7S6S5S4S3S2/S1/S0/D7D6D5DICW4000SFNMBUFM/SAEOIμPMD7D6D5D4D3D2D1D0嵌套方式:特殊全嵌套方式(SFNM=1)普通全嵌套方式(SFNM=0)數(shù)據(jù)線的緩沖方式:緩沖方式(BUF=1)非緩沖方式(BUF=0)主片/從片選擇:主片(M/S=1)從片(M/S=0)中斷結(jié)束方式:自動(dòng)中斷結(jié)束(AEOI=1)非自動(dòng)中斷結(jié)束(AEOI=0)微處理器類型:16位80x86(PM=1)8位8080/8085(PM=0)ICW4000SFNMBUFM/SAEOIμPMD7D6D52.操作命令字OCW8259A工作期間,可以隨時(shí)接受操作命令字OCWOCW共有3個(gè):OCW1~OCW3寫(xiě)入時(shí)沒(méi)有順序要求,需要哪個(gè)OCW就寫(xiě)入那個(gè)OCWD7D6D5D4D3D2D1D02.操作命令字OCW8259A工作期間,可以隨時(shí)接受操作命OCW1M7M6M5M4M3M2M1M0D7D6D5D4D3D2D1D0屏蔽命令字內(nèi)容寫(xiě)入中斷屏蔽寄存器IMRDi=Mi對(duì)應(yīng)IRi,為1禁止IRi中斷;為0允許IRi中斷。各位互相獨(dú)立。OCW1M7M6M5M4M3M2M1M0D7D6D5D4D3OCW2RSLEOI00L2L1L0D7D6D5D4D3D2D1D0R、SL和EOI配合使用產(chǎn)生中斷結(jié)束EOI命令和改變優(yōu)先權(quán)順序L2~L0的3位編碼指定IR引腳OCW2RSLEOI00L2L1L0D7D6D5D4D3D2OCW30ESMMSMM01PRRRISD7D6D5D4D3D2D1D0ESMM、SMM設(shè)置中斷屏蔽方式P、RR和RIS規(guī)定隨后讀取的狀態(tài)字含義OCW30ESMMSMM01PRRRISD7D6D5D4D33.讀取狀態(tài)字CPU可讀出IRR、ISR、IMR和查詢字A0為低,由OCW3中RR和RIS位設(shè)定讀取IRR或ISR,由OCW3中P位設(shè)定讀取查詢字而A0引腳為高電平時(shí)讀取的都是IMR查詢字反映8259A是否有中斷請(qǐng)求D7D6D5D4D3D2D1D03.讀取狀態(tài)字CPU可讀出IRR、ISR、IMR和查詢字D查詢字I----W2W1W0D7D6D5D4D3D2D1D0中斷位I位為1,有外設(shè)請(qǐng)求中斷W2~W0的編碼當(dāng)前中斷請(qǐng)求的最高優(yōu)先級(jí)查詢字I----W2W1W0D7D6D5D4D3D2D1D04.命令字和狀態(tài)字的區(qū)別方法⑴利用讀寫(xiě)信號(hào)區(qū)別寫(xiě)入的控制寄存器和讀出的狀態(tài)寄存器⑵利用地址信號(hào)區(qū)別不同I/O地址的寄存器⑶由控制字中的標(biāo)志位說(shuō)明是哪個(gè)寄存器⑷由芯片內(nèi)順序控制邏輯按一定順序識(shí)別不同的寄存器⑸由前面的控制字決定后續(xù)操作的寄存器接口電路中常用的方法4.命令字和狀態(tài)字的區(qū)別方法⑴利用讀寫(xiě)信號(hào)區(qū)別寫(xiě)入的控制初始化主片8259A

moval,11h ;寫(xiě)入ICW1 o

溫馨提示

  • 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)論