![第7章_微型計(jì)算機(jī)中斷系統(tǒng)_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/14/2820b6c1-c409-44e3-9ac5-39f229697508/2820b6c1-c409-44e3-9ac5-39f2296975081.gif)
![第7章_微型計(jì)算機(jī)中斷系統(tǒng)_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/14/2820b6c1-c409-44e3-9ac5-39f229697508/2820b6c1-c409-44e3-9ac5-39f2296975082.gif)
![第7章_微型計(jì)算機(jī)中斷系統(tǒng)_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/14/2820b6c1-c409-44e3-9ac5-39f229697508/2820b6c1-c409-44e3-9ac5-39f2296975083.gif)
![第7章_微型計(jì)算機(jī)中斷系統(tǒng)_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/14/2820b6c1-c409-44e3-9ac5-39f229697508/2820b6c1-c409-44e3-9ac5-39f2296975084.gif)
![第7章_微型計(jì)算機(jī)中斷系統(tǒng)_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/14/2820b6c1-c409-44e3-9ac5-39f229697508/2820b6c1-c409-44e3-9ac5-39f2296975085.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、2022-3-16第 1頁2022-3-16第 2頁第七章 微型計(jì)算機(jī)中斷系統(tǒng)概述概述中斷處理過程中斷處理過程中斷優(yōu)先級(jí)和中斷嵌套中斷優(yōu)先級(jí)和中斷嵌套可編程中斷控制器可編程中斷控制器8259A內(nèi)容提要內(nèi)容提要2022-3-16第 3頁CPU正常運(yùn)行程序時(shí),微處理器內(nèi)部事件或外設(shè)請(qǐng)求,引起正常運(yùn)行程序時(shí),微處理器內(nèi)部事件或外設(shè)請(qǐng)求,引起CPU中中斷正在運(yùn)行的程序,轉(zhuǎn)去執(zhí)行請(qǐng)求中斷的外設(shè)斷正在運(yùn)行的程序,轉(zhuǎn)去執(zhí)行請(qǐng)求中斷的外設(shè)(或內(nèi)部事件或內(nèi)部事件)的服務(wù)的服務(wù)子程序,執(zhí)行完畢,再返回被中止的程序,這一過程稱為子程序,執(zhí)行完畢,再返回被中止的程序,這一過程稱為中斷。 1. 中斷源中斷源 引起中斷的
2、事件。包括外部中斷和內(nèi)部中斷。引起中斷的事件。包括外部中斷和內(nèi)部中斷。2022-3-16第 4頁3中斷向量表中斷向量表 CPU響應(yīng)中斷后,必須由中斷源提供地址信息,引導(dǎo)程響應(yīng)中斷后,必須由中斷源提供地址信息,引導(dǎo)程序進(jìn)入中斷服務(wù)子程序,這些序進(jìn)入中斷服務(wù)子程序,這些中斷服務(wù)程序的入口地址存放中斷服務(wù)程序的入口地址存放在中斷向量表中在中斷向量表中。內(nèi)存中專門開辟一個(gè)區(qū)域,存放中斷向量。內(nèi)存中專門開辟一個(gè)區(qū)域,存放中斷向量表表(也稱中斷矢量表也稱中斷矢量表)。 2022-3-16第 5頁 5中斷屏蔽中斷屏蔽 當(dāng)中斷源申請(qǐng)中斷時(shí),當(dāng)中斷源申請(qǐng)中斷時(shí),CPU可以由軟件設(shè)置,使之不能可以由軟件設(shè)置,使之
3、不能響應(yīng),稱為響應(yīng),稱為中斷屏蔽中斷屏蔽。 對(duì)于各種計(jì)算機(jī)系統(tǒng),中斷系統(tǒng)的構(gòu)成差別很大,但都對(duì)于各種計(jì)算機(jī)系統(tǒng),中斷系統(tǒng)的構(gòu)成差別很大,但都具有基本功能:具有基本功能: 能實(shí)現(xiàn)中斷響應(yīng)、中斷服務(wù)、中斷返回、中斷屏蔽;能實(shí)現(xiàn)中斷響應(yīng)、中斷服務(wù)、中斷返回、中斷屏蔽; 能實(shí)現(xiàn)中斷優(yōu)先級(jí)排隊(duì);能實(shí)現(xiàn)中斷優(yōu)先級(jí)排隊(duì); 能實(shí)現(xiàn)中斷嵌套。能實(shí)現(xiàn)中斷嵌套。2022-3-16第 6頁 2022-3-16第 7頁 可屏蔽中斷請(qǐng)求2022-3-16第 8頁 由由CPU的引腳的引腳NMI引入,采用邊沿觸發(fā),上升沿之后維持引入,采用邊沿觸發(fā),上升沿之后維持兩個(gè)兩個(gè)時(shí)鐘周期高電平時(shí)鐘周期高電平有效。有效。不能用軟件屏蔽,
4、一旦有不可屏蔽中斷請(qǐng)求,如電源掉電等緊不能用軟件屏蔽,一旦有不可屏蔽中斷請(qǐng)求,如電源掉電等緊急情況,急情況,CPU必須予以響應(yīng)。必須予以響應(yīng)。 不可屏蔽中斷請(qǐng)求的不可屏蔽中斷請(qǐng)求的中斷類型號(hào)為中斷類型號(hào)為2,中斷處理程序的入口地,中斷處理程序的入口地址在址在0段的段的0008H000BH的的4個(gè)單元中。個(gè)單元中。2022-3-16第 9頁由由CPU的引腳的引腳INTR引入,采用引入,采用,高電平有效,高電平有效,INTR信號(hào)的高電平必須維持到信號(hào)的高電平必須維持到CPU響應(yīng)中斷才結(jié)束。響應(yīng)中斷才結(jié)束。可用軟件設(shè)置來屏蔽,即使外部設(shè)備有可屏蔽中斷請(qǐng)求,可用軟件設(shè)置來屏蔽,即使外部設(shè)備有可屏蔽中斷
5、請(qǐng)求,CPU可以不予響應(yīng)??梢圆挥桧憫?yīng)。由外部設(shè)備引起的可屏蔽中斷請(qǐng)求要得到響應(yīng)有兩個(gè)條由外部設(shè)備引起的可屏蔽中斷請(qǐng)求要得到響應(yīng)有兩個(gè)條件:一個(gè)是外設(shè)中斷請(qǐng)求件:一個(gè)是外設(shè)中斷請(qǐng)求,一個(gè)是,一個(gè)是CPU中斷。中斷。2022-3-16第 10頁 內(nèi)部中斷又稱為軟件中斷。內(nèi)部中斷又稱為軟件中斷。CPU執(zhí)行一條執(zhí)行一條INT n指令后會(huì)立即產(chǎn)生中斷,并且調(diào)用系統(tǒng)中相應(yīng)指令后會(huì)立即產(chǎn)生中斷,并且調(diào)用系統(tǒng)中相應(yīng)的中斷處理程序去完成中斷功能,指令中的中斷處理程序去完成中斷功能,指令中n指出了中斷類型號(hào)。指出了中斷類型號(hào)。類型類型0中斷。中斷。在除法運(yùn)算中,若除數(shù)為在除法運(yùn)算中,若除數(shù)為0或商超過寄存器所能
6、表達(dá)的范圍,則產(chǎn)或商超過寄存器所能表達(dá)的范圍,則產(chǎn)生類型生類型0中斷,轉(zhuǎn)入類型中斷,轉(zhuǎn)入類型0中斷處理。中斷處理。類型類型4中斷,專用指令為中斷,專用指令為INTO。在運(yùn)算中,若溢出標(biāo)志位在運(yùn)算中,若溢出標(biāo)志位OF置置1,下面緊跟溢出中斷指令,下面緊跟溢出中斷指令I(lǐng)NTO,則產(chǎn)生類型則產(chǎn)生類型4中斷;若中斷;若OF為為0,INTO指令不起作用。指令不起作用。因此在加、減法運(yùn)算指令后應(yīng)安排一條因此在加、減法運(yùn)算指令后應(yīng)安排一條INTO指令,否則運(yùn)算產(chǎn)生指令,否則運(yùn)算產(chǎn)生溢出后無法向溢出后無法向CPU發(fā)出溢出中斷請(qǐng)求。發(fā)出溢出中斷請(qǐng)求。2022-3-16第 11頁 類型類型1中斷。中斷。標(biāo)志位標(biāo)志
7、位TF1時(shí),每條指令執(zhí)行后,時(shí),每條指令執(zhí)行后,CPU自動(dòng)產(chǎn)生類型自動(dòng)產(chǎn)生類型1中斷。中斷。產(chǎn)生單步中斷時(shí),產(chǎn)生單步中斷時(shí),CPU同樣自動(dòng)地將同樣自動(dòng)地將PSW、CS和和IP內(nèi)容入棧,內(nèi)容入棧,然后清除然后清除TF、IF,進(jìn)入單步中斷處理程序,單步處理程序結(jié)束,進(jìn)入單步中斷處理程序,單步處理程序結(jié)束時(shí),原來的時(shí),原來的PSW從堆棧中取出,從堆棧中取出,CPU重新置成單步方式。重新置成單步方式。類型類型3中斷。中斷。 當(dāng)當(dāng)CPU,同時(shí)顯示當(dāng)前各寄存器和有關(guān),同時(shí)顯示當(dāng)前各寄存器和有關(guān)存儲(chǔ)器的內(nèi)容及下條要執(zhí)行的指令,供用戶檢查。存儲(chǔ)器的內(nèi)容及下條要執(zhí)行的指令,供用戶檢查。設(shè)置斷點(diǎn)即把一條斷點(diǎn)指令設(shè)
8、置斷點(diǎn)即把一條斷點(diǎn)指令I(lǐng)NT 3插入到斷點(diǎn)設(shè)置處,插入到斷點(diǎn)設(shè)置處,CPU執(zhí)行執(zhí)行到到INT 3指令便產(chǎn)生中斷。指令便產(chǎn)生中斷。2022-3-16第 12頁 2022-3-16第 13頁2022-3-16第 14頁 2022-3-16第 15頁 2022-3-16第 16頁 2022-3-16第 17頁 2022-3-16第 18頁類型類型255中斷入口中斷入口 類型類型32中斷入口中斷入口類型類型31中斷入口中斷入口 類型類型5中斷入口中斷入口類型類型4中斷入口(溢出中斷)中斷入口(溢出中斷)類型類型3中斷入口(斷點(diǎn)中斷)中斷入口(斷點(diǎn)中斷)類型類型2中斷入口(中斷入口(NMI)類型類型1中
9、斷入口(單步中斷)中斷入口(單步中斷)類型類型0中斷入口(除法出錯(cuò))中斷入口(除法出錯(cuò))2022-3-16第 19頁 2022-3-16第 20頁2022-3-16第 21頁2022-3-16第 22頁 2022-3-16第 23頁 2022-3-16第 24頁 2022-3-16第 25頁2022-3-16第 26頁2022-3-16第 27頁2022-3-16第 28頁2022-3-16第 29頁說明:說明:2022-3-16第 30頁push ax;1、保護(hù)現(xiàn)場(chǎng)、保護(hù)現(xiàn)場(chǎng)push bxsti;2、開中斷、開中斷;3、中斷處理、中斷處理cli;4、關(guān)中斷、關(guān)中斷pop bx;5、恢復(fù)現(xiàn)場(chǎng)、
10、恢復(fù)現(xiàn)場(chǎng)pop axsti;6、開中斷和、開中斷和中斷返回中斷返回 iret2022-3-16第 31頁2022-3-16第 32頁2022-3-16第 33頁2022-3-16第 34頁2022-3-16第 35頁2022-3-16第 36頁2022-3-16第 37頁2022-3-16第 38頁2022-3-16第 39頁2022-3-16第 40頁2022-3-16第 41頁2022-3-16第 42頁2022-3-16第 43頁 2022-3-16第 44頁2022-3-16第 45頁 2022-3-16第 46頁2022-3-16第 47頁 2022-3-16第 48頁2022-3-
11、16第 49頁 2022-3-16第 50頁 2022-3-16第 51頁 2022-3-16第 52頁 從上圖中可以看到:從上圖中可以看到: 主程序必須有開中斷指令主程序必須有開中斷指令,使,使IF1,才能響應(yīng)中斷。,才能響應(yīng)中斷。進(jìn)入中斷處理程序時(shí),系統(tǒng)自動(dòng)關(guān)中斷,在中斷服務(wù)程進(jìn)入中斷處理程序時(shí),系統(tǒng)自動(dòng)關(guān)中斷,在中斷服務(wù)程序中必須有序中必須有STI開中斷指令,這樣才可以允許其它中斷開中斷指令,這樣才可以允許其它中斷進(jìn)入實(shí)現(xiàn)中斷嵌套。進(jìn)入實(shí)現(xiàn)中斷嵌套。 中斷結(jié)束返回前要有中斷結(jié)束返回前要有EOI中斷結(jié)束命令中斷結(jié)束命令,用來清除中斷,用來清除中斷服務(wù)寄存器中的對(duì)應(yīng)位,允許低級(jí)中斷進(jìn)入。最后
12、有中服務(wù)寄存器中的對(duì)應(yīng)位,允許低級(jí)中斷進(jìn)入。最后有中斷返回指令斷返回指令I(lǐng)RET,使程序返回到被中斷的程序的斷點(diǎn)處。,使程序返回到被中斷的程序的斷點(diǎn)處。1. 中斷處理程序中中斷處理程序中如果沒有如果沒有EOI指令指令,中斷處理中不會(huì)受,中斷處理中不會(huì)受其它中斷影響,在其它中斷影響,在執(zhí)行執(zhí)行IRET指令后指令后,因?yàn)樽詣?dòng)返回中斷,因?yàn)樽詣?dòng)返回中斷斷點(diǎn)及中斷標(biāo)志寄存器斷點(diǎn)及中斷標(biāo)志寄存器PSW的內(nèi)容,當(dāng)?shù)膬?nèi)容,當(dāng)IF的值為的值為1,系,系統(tǒng)便統(tǒng)便能開放中斷能開放中斷。 2022-3-16第 53頁 一個(gè)一個(gè)正在執(zhí)行的中斷處理程序,中斷服務(wù)寄存器相應(yīng)位正在執(zhí)行的中斷處理程序,中斷服務(wù)寄存器相應(yīng)位置
13、置“1”,在開中斷,在開中斷(IF1)的情況下,能夠被優(yōu)先級(jí)高于的情況下,能夠被優(yōu)先級(jí)高于它的中斷源中斷。但如果中斷處理中它的中斷源中斷。但如果中斷處理中提前發(fā)出了提前發(fā)出了EOI命令命令,則清除了正在執(zhí)行的中斷服務(wù),中斷服務(wù)寄存器置則清除了正在執(zhí)行的中斷服務(wù),中斷服務(wù)寄存器置“1”位被清位被清0,允許響應(yīng)同級(jí)或低級(jí)的中斷申請(qǐng)。從上圖中可,允許響應(yīng)同級(jí)或低級(jí)的中斷申請(qǐng)。從上圖中可以看到在以看到在IR 2處理程序中,由于發(fā)出了處理程序中,由于發(fā)出了EOI命令,清除了命令,清除了IR2的中斷服務(wù)寄存器,所以較低優(yōu)先級(jí)的的中斷服務(wù)寄存器,所以較低優(yōu)先級(jí)的IR4請(qǐng)求到達(dá)后,請(qǐng)求到達(dá)后,轉(zhuǎn)去處理轉(zhuǎn)去處理
14、IR4中斷請(qǐng)求。但這種情況要盡量避免,防止重中斷請(qǐng)求。但這種情況要盡量避免,防止重復(fù)嵌套,使優(yōu)先級(jí)高的中斷不能及時(shí)服務(wù),因此復(fù)嵌套,使優(yōu)先級(jí)高的中斷不能及時(shí)服務(wù),因此一般一般EOI結(jié)束命令放在中斷返回指令結(jié)束命令放在中斷返回指令I(lǐng)RET前面前面 。2022-3-16第 54頁一、一、8259A8259A的功能的功能具有具有8 8級(jí)優(yōu)先權(quán)控制級(jí)優(yōu)先權(quán)控制,通過級(jí)聯(lián)可,通過級(jí)聯(lián)可擴(kuò)展到擴(kuò)展到6464級(jí)優(yōu)先權(quán)控制(主從式中級(jí)優(yōu)先權(quán)控制(主從式中斷系統(tǒng))斷系統(tǒng))每一級(jí)中斷都可以單獨(dú)屏蔽或允每一級(jí)中斷都可以單獨(dú)屏蔽或允許許可提供中斷類型號(hào)傳送給可提供中斷類型號(hào)傳送給CPUCPU,從,從而能迅速地轉(zhuǎn)至中斷
15、服務(wù)程序而能迅速地轉(zhuǎn)至中斷服務(wù)程序可通過編程選擇多種不同的工作可通過編程選擇多種不同的工作方式方式2022-3-16第 55頁內(nèi)部總線緩沖器讀/寫邏 輯D7D0RDWRA0CS級(jí)聯(lián)緩沖器/比較器CAS0SP/ENCAS1CAS2內(nèi)部總線控制邏輯INTAINT中斷服務(wù)寄存器(ISR)優(yōu)先權(quán)裁決器(PR)中斷請(qǐng)求寄存器(IRR)中斷屏蔽寄存器(IMR)IR0IR7a) 內(nèi)部結(jié)構(gòu)圖CSWRRDD7D0CAS0CAS1GNDVCCA0INTAIR7IR0INTSP/ENCAS21141528b) 引腳圖二、二、8259A的內(nèi)部結(jié)構(gòu)及引腳的內(nèi)部結(jié)構(gòu)及引腳2022-3-16第 56頁8259A的級(jí)聯(lián)緩沖的
16、級(jí)聯(lián)緩沖/比較器比較器緩沖方式緩沖方式8259A通過總線驅(qū)動(dòng)器和數(shù)據(jù)總線相連通過總線驅(qū)動(dòng)器和數(shù)據(jù)總線相連SP/EN作輸出端作輸出端(連總線驅(qū)動(dòng)器允許端連總線驅(qū)動(dòng)器允許端)EN0,數(shù)據(jù):,數(shù)據(jù):8259ACPU EN1,數(shù)據(jù):,數(shù)據(jù):CPU8259A非緩沖方式非緩沖方式8259A直接與數(shù)據(jù)總線相連直接與數(shù)據(jù)總線相連SP/EN作輸入端作輸入端SP1,主片,主片 SP0,從片,從片2022-3-16第 57頁1、8259A的編程結(jié)構(gòu)的編程結(jié)構(gòu)SP/ENCA0CA1CA2IORIOW總線總線D0D7數(shù)數(shù) 據(jù)據(jù) 線線D0D7INTAINTRA0片片選選譯譯碼碼A5A9CSA0RD INTAWRINT 1
17、 I3 I4ICW1 芯片控制芯片控制 ICW2 中斷類型號(hào)中斷類型號(hào) ICW3 主從片連接關(guān)主從片連接關(guān)系系 ICW4 方式控制方式控制0111A01 0 0 1 0 1 0 0O C W 1 中 斷 屏 蔽 寄 存 器中 斷 屏 蔽 寄 存 器 IMR 0 0 OCW2 優(yōu)先級(jí)設(shè)置、發(fā)優(yōu)先級(jí)設(shè)置、發(fā)EOI 0 1 OCW3特殊屏蔽特殊屏蔽,查詢方式設(shè)置查詢方式設(shè)置處理部分處理部分控制部分控制部分000 0 0 0 0 0 ISR當(dāng)前當(dāng)前中斷中斷服務(wù)服務(wù)寄存器寄存器PR優(yōu)先級(jí)優(yōu)先級(jí)裁決器裁決器VCCGND1 10 00 0A0IR0IR1IR2IR3IR4IR5IR6IR7IRR中斷中斷申請(qǐng)
18、申請(qǐng)寄存器寄存器000 0 0 0 0 0 三、三、8259A的中斷管理方式的中斷管理方式2022-3-16第 58頁4個(gè)初始化命令寄存器個(gè)初始化命令寄存器 ICW1、ICW2 ICW3、ICW4 3個(gè)操作命令寄存器個(gè)操作命令寄存器 OCW1(IMR) OCW2、OCW3當(dāng)前中斷服務(wù)寄存器當(dāng)前中斷服務(wù)寄存器 ISR中斷申請(qǐng)寄存器中斷申請(qǐng)寄存器 IRR 8259A內(nèi)部有內(nèi)部有9個(gè)個(gè) 可讀寫的寄存器可讀寫的寄存器8259A的編程結(jié)構(gòu)的編程結(jié)構(gòu) 1 I3 I4ICW1 芯片控制芯片控制 ICW2 中斷類型號(hào)中斷類型號(hào) ICW3 主從片關(guān)系主從片關(guān)系 ICW4 方式控制方式控制處理部分處理部分控制部分
19、控制部分000 0 0 0 0 0 ISR當(dāng)前當(dāng)前中斷中斷服務(wù)服務(wù)寄存器寄存器PR優(yōu)先級(jí)優(yōu)先級(jí)裁決器裁決器IRR中斷申請(qǐng)中斷申請(qǐng)寄存器寄存器000 0 0 0 0 0 中斷屏蔽寄存器中斷屏蔽寄存器 IMROCW2 1 0 0 1 0 1 0 0 0 0 0 1 OCW3OCW18259A中斷控制器中斷控制器2022-3-16第 59頁(1) 初始化命令字初始化命令字(ICW1- - ICW4) 決定決定8259A的工作方式的工作方式 通常是在計(jì)算機(jī)系統(tǒng)啟動(dòng)時(shí)在初始程序設(shè)置,通常是在計(jì)算機(jī)系統(tǒng)啟動(dòng)時(shí)在初始程序設(shè)置, 一旦設(shè)定,一般在系統(tǒng)工作過程不再改變。一旦設(shè)定,一般在系統(tǒng)工作過程不再改變。例例
20、 開機(jī)后,開機(jī)后,BIOS將將8259A初始化為:初始化為: IR0IR7中斷申請(qǐng)信號(hào)為上升沿觸發(fā)方式;中斷申請(qǐng)信號(hào)為上升沿觸發(fā)方式; IR0IR7對(duì)應(yīng)的中斷類型號(hào)分別為對(duì)應(yīng)的中斷類型號(hào)分別為08H0FH; 優(yōu)先級(jí)優(yōu)先級(jí)IR0最高最高, IR7最低;最低;2022-3-16第 60頁(2) 操作命令字操作命令字(OCW1,OCW2,OCW3) 在應(yīng)用程序中設(shè)定,動(dòng)態(tài)地控制在應(yīng)用程序中設(shè)定,動(dòng)態(tài)地控制CPU處理中處理中斷的過程斷的過程(3) ISR和和IRR存放當(dāng)前存放當(dāng)前8259A的狀態(tài)的狀態(tài) 通過讀取通過讀取 ISR 和和 IRR 的內(nèi)容,可了解當(dāng)前的內(nèi)容,可了解當(dāng)前8259A工作情況工作情
21、況2022-3-16第 61頁(1 1)全嵌套方式)全嵌套方式 8259A8259A的中斷請(qǐng)求輸入端引入的中斷具有固定的優(yōu)先的中斷請(qǐng)求輸入端引入的中斷具有固定的優(yōu)先權(quán)排隊(duì)順序,權(quán)排隊(duì)順序,IRIR0 0為最高優(yōu)先級(jí),為最高優(yōu)先級(jí),IRIR1 1為次高優(yōu)先級(jí),為次高優(yōu)先級(jí),依次類推,依次類推,IRIR7 7為最低優(yōu)先級(jí)。為最低優(yōu)先級(jí)。 2、優(yōu)先級(jí)設(shè)置方式、優(yōu)先級(jí)設(shè)置方式2022-3-16第 62頁(2 2)特殊全嵌套方式)特殊全嵌套方式 特殊全嵌套方式和全嵌套方式基本相同,只有一點(diǎn)特殊全嵌套方式和全嵌套方式基本相同,只有一點(diǎn)不同,就是在特殊全嵌套方式下,當(dāng)處理某一級(jí)中不同,就是在特殊全嵌套方式下
22、,當(dāng)處理某一級(jí)中斷時(shí),如果有同級(jí)的中斷請(qǐng)求,那么,也會(huì)給予響斷時(shí),如果有同級(jí)的中斷請(qǐng)求,那么,也會(huì)給予響應(yīng),從而實(shí)現(xiàn)一種對(duì)同級(jí)中斷請(qǐng)求的特殊嵌套。應(yīng),從而實(shí)現(xiàn)一種對(duì)同級(jí)中斷請(qǐng)求的特殊嵌套。注注: : 特殊全嵌套僅用于多個(gè)特殊全嵌套僅用于多個(gè)8259A8259A級(jí)連時(shí)的主級(jí)連時(shí)的主8259A8259A,而不能用于從屬,而不能用于從屬8259A8259A或單或單8259A8259A系統(tǒng)。系統(tǒng)。 2022-3-16第 63頁(3 3)優(yōu)先級(jí)自動(dòng)循環(huán)方式。)優(yōu)先級(jí)自動(dòng)循環(huán)方式。初始時(shí),優(yōu)先次序?yàn)槌跏紩r(shí),優(yōu)先次序?yàn)镮R0IR7IR0IR7,IR0IR0最高,最高,IR7IR7最低。當(dāng)最低。當(dāng)某級(jí)中斷響應(yīng)
23、后,則優(yōu)先級(jí)降為最低。而其后的與之相某級(jí)中斷響應(yīng)后,則優(yōu)先級(jí)降為最低。而其后的與之相鄰的優(yōu)先級(jí)升為最高。如,鄰的優(yōu)先級(jí)升為最高。如,IR3IR3響應(yīng)后的優(yōu)先級(jí)次序變響應(yīng)后的優(yōu)先級(jí)次序變?yōu)闉镮R4IR4,IR5IR5,IR6IR6,IR7IR7,IR0IR0,IR1IR1,IR2IR2,IR3IR3。(4 4)優(yōu)先權(quán)特殊循環(huán)方式。)優(yōu)先權(quán)特殊循環(huán)方式。優(yōu)先權(quán)特殊循環(huán)方式與優(yōu)先權(quán)循環(huán)方式相比僅有一點(diǎn)不優(yōu)先權(quán)特殊循環(huán)方式與優(yōu)先權(quán)循環(huán)方式相比僅有一點(diǎn)不同,就是在優(yōu)先權(quán)特殊循環(huán)方式下,一開始的最低優(yōu)先同,就是在優(yōu)先權(quán)特殊循環(huán)方式下,一開始的最低優(yōu)先權(quán)是由編程確定的。權(quán)是由編程確定的。 2022-3-16
24、第 64頁3、中斷結(jié)束的管理方式(固定優(yōu)先級(jí)的中斷結(jié)束)、中斷結(jié)束的管理方式(固定優(yōu)先級(jí)的中斷結(jié)束) 中斷結(jié)束的管理就是用不同的方式使中斷結(jié)束的管理就是用不同的方式使ISR中相應(yīng)位中相應(yīng)位清零。清零。普通結(jié)束方式普通結(jié)束方式EOI 8259A每得到一次每得到一次EOI命令,就將命令,就將ISR中已置位的中已置位的各位中優(yōu)先級(jí)最高的位復(fù)位。各位中優(yōu)先級(jí)最高的位復(fù)位。特殊結(jié)束方式特殊結(jié)束方式SEOI 該方式的特殊性在于,除了普通該方式的特殊性在于,除了普通EOI方式的功能方式的功能外,將明確指明本次復(fù)位的外,將明確指明本次復(fù)位的ISR位。位。自動(dòng)結(jié)束方式自動(dòng)結(jié)束方式AEOI 自動(dòng)自動(dòng)EOI方式是利
25、用響應(yīng)中斷時(shí)最后一個(gè)響應(yīng)脈方式是利用響應(yīng)中斷時(shí)最后一個(gè)響應(yīng)脈沖的后沿執(zhí)行一次普通沖的后沿執(zhí)行一次普通EOI,而不需要,而不需要CPU發(fā)送發(fā)送EOI指令,這時(shí)指令,這時(shí)CPU為中斷服務(wù)而為中斷服務(wù)而ISR沒有指示。沒有指示。2022-3-16第 65頁4、循環(huán)優(yōu)先級(jí)的循環(huán)方法、循環(huán)優(yōu)先級(jí)的循環(huán)方法 在循環(huán)優(yōu)先級(jí)方式中,與中斷結(jié)束方式聯(lián)合,在循環(huán)優(yōu)先級(jí)方式中,與中斷結(jié)束方式聯(lián)合,有三種循環(huán)結(jié)束,結(jié)束時(shí)并確定下面的優(yōu)先權(quán)排隊(duì)。有三種循環(huán)結(jié)束,結(jié)束時(shí)并確定下面的優(yōu)先權(quán)排隊(duì)。(1)普通)普通EOI循環(huán)方式循環(huán)方式當(dāng)任地級(jí)中斷結(jié)束處理完后,使當(dāng)任地級(jí)中斷結(jié)束處理完后,使CPU給給8259A回送回送普通普通
26、EOI循環(huán)命令,循環(huán)命令,8259A收到收到EOI循環(huán)命令后將循環(huán)命令后將ISR寄存器中最高優(yōu)先級(jí)的寄存器中最高優(yōu)先級(jí)的IRi置置“1”位清位清“0”并賦并賦給它最低優(yōu)先級(jí),將最高優(yōu)先級(jí)賦給它的下一級(jí)給它最低優(yōu)先級(jí),將最高優(yōu)先級(jí)賦給它的下一級(jí)IRi+1。2022-3-16第 66頁(2)特殊)特殊EOI循環(huán)方式循環(huán)方式特殊特殊EOI循環(huán)方式即指定最低級(jí)循環(huán)方式,最低優(yōu)先級(jí)循環(huán)方式即指定最低級(jí)循環(huán)方式,最低優(yōu)先級(jí)由編程決定,最高優(yōu)先級(jí)也相應(yīng)而定,這樣在當(dāng)前中斷由編程決定,最高優(yōu)先級(jí)也相應(yīng)而定,這樣在當(dāng)前中斷服務(wù)結(jié)束前,使服務(wù)結(jié)束前,使CPU給給8259A回送特殊回送特殊EOI結(jié)束命令,結(jié)束命令,
27、8259A收到此命令字后,指定最低優(yōu)先級(jí),并重新排列收到此命令字后,指定最低優(yōu)先級(jí),并重新排列優(yōu)先級(jí)別。優(yōu)先級(jí)別。(3)自動(dòng))自動(dòng)EOI循環(huán)方式循環(huán)方式自動(dòng)自動(dòng)EOI方式是利用響應(yīng)中斷時(shí)最后一個(gè)響應(yīng)脈沖的后方式是利用響應(yīng)中斷時(shí)最后一個(gè)響應(yīng)脈沖的后沿執(zhí)行一次普通沿執(zhí)行一次普通EOI,自動(dòng)將,自動(dòng)將ISR寄存器中相應(yīng)位清寄存器中相應(yīng)位清0,并立即改變各級(jí)中斷的優(yōu)先級(jí)別,改變方式與普通并立即改變各級(jí)中斷的優(yōu)先級(jí)別,改變方式與普通EOI循環(huán)循環(huán)方式相同。這時(shí)循環(huán)循環(huán)方式相同。這時(shí)CPU為中斷服務(wù)而為中斷服務(wù)而ISR沒有指沒有指示,使用這種方式要小心,防止重復(fù)嵌套產(chǎn)生。示,使用這種方式要小心,防止重復(fù)嵌
28、套產(chǎn)生。2022-3-16第 67頁IR7 IR6 IR5 IR4 IR3 IR2 IR1 IR0 ISR 內(nèi)容內(nèi)容 0 0 1 0 0 1 0 0 原始原始狀狀 態(tài)態(tài) 優(yōu)先級(jí)優(yōu)先級(jí) 7 6 5 4 3 2 1 0 ISR 內(nèi)容內(nèi)容 0 0 1 0 0 0 0 0 處理完處理完IR2 優(yōu)先級(jí)優(yōu)先級(jí) 4 3 2 1 0 7 6 5 ISR 內(nèi)容內(nèi)容 0 0 0 0 0 0 0 0 處理完處理完IR5 優(yōu)先級(jí)優(yōu)先級(jí) 1 0 7 6 5 4 3 2 IR7 IR6 IR5 IR4 IR3 IR2 IR1 IR0 ISR 內(nèi)容內(nèi)容 0 1 0 0 0 1 0 0 原始原始狀狀 態(tài)態(tài) 優(yōu)先級(jí)優(yōu)先級(jí) 7
29、6 5 4 3 2 1 0 ISR 內(nèi)容內(nèi)容 0 1 0 0 0 1 0 0 執(zhí)行置位執(zhí)行置位 優(yōu)先權(quán)優(yōu)先權(quán) 優(yōu)先級(jí)優(yōu)先級(jí) 3 2 1 0 7 6 5 4 ISR內(nèi)容內(nèi)容 0 1 0 0 0 0 0 0 處理完處理完IR2 優(yōu)先級(jí)優(yōu)先級(jí) 4 3 2 1 0 7 6 5 普通普通EOIEOI循環(huán)方式循環(huán)方式特殊特殊EOIEOI循環(huán)方式(正在處理循環(huán)方式(正在處理IR2IR2)2022-3-16第 68頁5 5、中斷屏蔽方式、中斷屏蔽方式 (1 1)普通屏蔽方式。)普通屏蔽方式。這種屏蔽方式是通過編程將中斷屏蔽字寫入這種屏蔽方式是通過編程將中斷屏蔽字寫入IMRIMR而實(shí)現(xiàn)的。若寫而實(shí)現(xiàn)的。若寫入某
30、位為入某位為1 1,則對(duì)應(yīng)的中斷請(qǐng)求被屏蔽;為,則對(duì)應(yīng)的中斷請(qǐng)求被屏蔽;為0 0,則對(duì)應(yīng)的中斷請(qǐng)求,則對(duì)應(yīng)的中斷請(qǐng)求被開放。被開放。 (2 2)特殊屏蔽方式。)特殊屏蔽方式。在執(zhí)行較高級(jí)的中斷服務(wù)時(shí),希望開放較低級(jí)的中斷請(qǐng)求。在執(zhí)行較高級(jí)的中斷服務(wù)時(shí),希望開放較低級(jí)的中斷請(qǐng)求。采用采用普通屏蔽普通屏蔽方式是不能實(shí)現(xiàn)這一要求的,因?yàn)橛闷胀ǚ绞綍r(shí),即使方式是不能實(shí)現(xiàn)這一要求的,因?yàn)橛闷胀ǚ绞綍r(shí),即使把較低級(jí)的中斷請(qǐng)求開放,但由于把較低級(jí)的中斷請(qǐng)求開放,但由于ISRISR中當(dāng)前正在服務(wù)的較高中中當(dāng)前正在服務(wù)的較高中斷級(jí)的對(duì)應(yīng)位仍為斷級(jí)的對(duì)應(yīng)位仍為“1”1”,它會(huì)禁止所有優(yōu)先級(jí)比它低的中斷請(qǐng),它會(huì)禁止
31、所有優(yōu)先級(jí)比它低的中斷請(qǐng)求。采用特殊屏蔽方式,可在中斷服務(wù)程序中用中斷屏蔽命令字求。采用特殊屏蔽方式,可在中斷服務(wù)程序中用中斷屏蔽命令字來屏蔽當(dāng)前正在服務(wù)的中斷級(jí)別(即設(shè)置來屏蔽當(dāng)前正在服務(wù)的中斷級(jí)別(即設(shè)置IMRIMR的相應(yīng)位為的相應(yīng)位為“1”1”),同時(shí)使,同時(shí)使ISRISR中對(duì)應(yīng)位清中對(duì)應(yīng)位清“0”0”,這樣就不但屏蔽了當(dāng)前正在服務(wù),這樣就不但屏蔽了當(dāng)前正在服務(wù)的中斷級(jí),同時(shí)真正開放了其它優(yōu)先級(jí)較低的中斷請(qǐng)求。的中斷級(jí),同時(shí)真正開放了其它優(yōu)先級(jí)較低的中斷請(qǐng)求。 2022-3-16第 69頁6 6、中斷請(qǐng)求引入方式、中斷請(qǐng)求引入方式2022-3-16第 70頁四四 8259A8259A的編
32、程方法的編程方法初始化命令字初始化命令字ICWICW,操作命令字,操作命令字OCWOCW;系統(tǒng)復(fù)位后,應(yīng)初始化編程,系統(tǒng)復(fù)位后,應(yīng)初始化編程,按次序只寫一次;按次序只寫一次; 設(shè)定觸發(fā)方式、緩沖方式、類型號(hào)基值、優(yōu)先設(shè)定觸發(fā)方式、緩沖方式、類型號(hào)基值、優(yōu)先級(jí)、級(jí)、 結(jié)束方式結(jié)束方式初始化后,在任何位置可操作編程,沒有嚴(yán)格順序初始化后,在任何位置可操作編程,沒有嚴(yán)格順序,允許重置,以動(dòng)態(tài)改變,允許重置,以動(dòng)態(tài)改變8259A8259A的操作與控制。的操作與控制。2022-3-16第 71頁1 18259A8259A的初始化命令字的初始化命令字(1 1)初始化命令字)初始化命令字ICW1ICW11L
33、TIMADISNGLICW4D7D6D5D4D3D2D1D0A00D D3 3(LTIMLTIM)表示中斷請(qǐng)求信號(hào)起作用的觸發(fā)方式。)表示中斷請(qǐng)求信號(hào)起作用的觸發(fā)方式。D D3 3=1=1為電平觸為電平觸發(fā),發(fā),D D3 3=0=0為邊沿觸發(fā)。為邊沿觸發(fā)。 D D1 1(SNGLSNGL)表示系統(tǒng)是使用單片)表示系統(tǒng)是使用單片8259A8259A還是多片還是多片8259A8259A。D D1 1=1=1為單為單片,片,D D1 1=0=0為多片。為多片。 D D0 0(ICW4ICW4)表示是否需要)表示是否需要ICW4ICW4。D D0 0=1=1為需要,為需要,D D0 0=0=0為不需要
34、。為不需要。 D D2 2(ADIADI)在)在808080808085CPU8085CPU模式下用,模式下用,80 x86 CPU80 x86 CPU模式下不用。模式下不用。 2022-3-16第 72頁(2 2) 初始化命令字初始化命令字ICW2ICW2設(shè)定設(shè)定8259A8259A的中斷類型號(hào)的中斷類型號(hào) T7D7D6D5D4D3D2D1D0A01T6T4T5T3D D7 7D D3 3為中斷類型號(hào)的高為中斷類型號(hào)的高5 5位,由用戶給出。低位,由用戶給出。低3 3位由位由8259A8259A按按IRIR0 0IRIR7 7三位編碼值自動(dòng)填入。三位編碼值自動(dòng)填入。 2022-3-16第 7
35、3頁(3 3)初始化命令字)初始化命令字ICW3ICW3(多片時(shí)需要)(多片時(shí)需要)8259A8259A作為主片的格式:(作為主片的格式:(Di=1Di=1表示表示IRiIRi接有從片)接有從片)D7D6D5D4D3D2D1D0A01S7S5S6S4S3S2S1S08259A8259A作為從片的格式:作為從片的格式: 0ID2ID1ID0D7D6D5D4D3D2D1D0A010000表示從片的表示從片的INTINT輸出與主片輸出與主片8259A8259A中的哪一個(gè)中的哪一個(gè)IRiIRi相連接相連接 2022-3-16第 74頁(4)4) 初始化命令字初始化命令字ICW4ICW4 SFNMM/S
36、AEOIPMD7D6D5D4D3D2D1D0A01000BUFD D0 0(PMPM):):D D0 0=1=1為為80 x8680 x86系統(tǒng),系統(tǒng),D D0 0=0=0為為8080808080858085系統(tǒng)。系統(tǒng)。D D1 1(AEOI)AEOI):表示是否采用自動(dòng)結(jié)束中斷方式,:表示是否采用自動(dòng)結(jié)束中斷方式,D D1 1=1=1為自動(dòng)中斷為自動(dòng)中斷結(jié)束方式,結(jié)束方式,D D1 1=0=0為非自動(dòng)中斷結(jié)束方式。為非自動(dòng)中斷結(jié)束方式。 D D2 2(M/SM/S):):D D2 2=1=1為主片,為主片,D D2 2=0=0為從片。為從片。 D D3 3(BUFBUF):):D D3 3=
37、1=1表示有緩沖器表示有緩沖器D D3 3=0=0表示沒有緩沖器。表示沒有緩沖器。( (決定決定8259A8259A和系統(tǒng)數(shù)據(jù)總線之間是否有緩沖器和系統(tǒng)數(shù)據(jù)總線之間是否有緩沖器) )D D4 4(SFNMSFNM):):D D4 4=1=1為特殊全嵌套方式,為特殊全嵌套方式,D D4 4=0=0為全嵌套方式。(用為全嵌套方式。(用于設(shè)定級(jí)聯(lián)方式下的優(yōu)先權(quán)管理方式)于設(shè)定級(jí)聯(lián)方式下的優(yōu)先權(quán)管理方式) 2022-3-16第 75頁寫入初始化命令字的流程:寫入初始化命令字的流程: ICW1ICW2級(jí)聯(lián)?ICW3需ICW4?ICW4YYNN2022-3-16第 76頁2 28259A8259A的操作命
38、令字的操作命令字 (1 1) 操作命令字操作命令字OCW1OCW1(屏蔽操作命令字)(屏蔽操作命令字)D7D6D5D4D3D2D1D0A01M7M5M6M4M3M2M1M0Mi=1表示IRi上的中斷請(qǐng)求被屏蔽 2022-3-16第 77頁(2 2)操作命令字)操作命令字OCW2OCW2(中斷方式命令字)(中斷方式命令字)D D7 7(R R):中斷排隊(duì)是否循環(huán)的標(biāo)志。):中斷排隊(duì)是否循環(huán)的標(biāo)志。R=1R=1為優(yōu)先級(jí)循環(huán)方式,為優(yōu)先級(jí)循環(huán)方式,R=0R=0為固定優(yōu)為固定優(yōu)先級(jí)方式。先級(jí)方式。 D D6 6(SLSL):選擇):選擇L L2 2L L1 1L L0 0編碼是否有效的標(biāo)志。若編碼是否
39、有效的標(biāo)志。若SL=1SL=1,則,則L L2 2L L1 1L L0 0編碼有效,若編碼有效,若SL=0SL=0,則無效。,則無效。 D D5 5(EOIEOI):中斷結(jié)束命令。):中斷結(jié)束命令。D D5 5=1=1時(shí),則使現(xiàn)行的時(shí),則使現(xiàn)行的ISRISR中最高優(yōu)先級(jí)的相應(yīng)位中最高優(yōu)先級(jí)的相應(yīng)位復(fù)位(一般中斷結(jié)束方式),或由復(fù)位(一般中斷結(jié)束方式),或由L L2 2L L1 1L L0 0指定的指定的ISRISR相應(yīng)位復(fù)位(特殊中相應(yīng)位復(fù)位(特殊中斷結(jié)束方式)。斷結(jié)束方式)。 D D2 2D D1 1D D0 0(L L2 2L L1 1L L0 0):對(duì)應(yīng)):對(duì)應(yīng)8 8個(gè)二進(jìn)制編碼,有兩個(gè)
40、作用:一是用在特殊個(gè)二進(jìn)制編碼,有兩個(gè)作用:一是用在特殊EOIEOI命令命令中,表示清除的是中,表示清除的是ISRISR的哪一位;另一是用在優(yōu)先權(quán)特殊循環(huán)方式中,表的哪一位;另一是用在優(yōu)先權(quán)特殊循環(huán)方式中,表示系統(tǒng)中最低優(yōu)先級(jí)編碼。示系統(tǒng)中最低優(yōu)先級(jí)編碼。 0L2L1L0D7D6D5D4D3D2D1D0A00EOISLR02022-3-16第 78頁(3 3) 操作命令字操作命令字OCW3OCW3(狀態(tài)操作命令字)(狀態(tài)操作命令字)D D6 6D D5 5:決定:決定8259A8259A是否工作于特殊屏蔽方式。是否工作于特殊屏蔽方式。D D6 6D D5 5為為1111時(shí),時(shí),8259A825
41、9A為特殊屏蔽方式;為特殊屏蔽方式;D D6 6D D5 5為為1010時(shí),時(shí),8259A8259A為一般屏蔽方為一般屏蔽方式。式。 D D1 1D D0 0:兩位規(guī)定隨后讀取的寄存器。:兩位規(guī)定隨后讀取的寄存器。D D1 1D D0 0為為1111時(shí),表示要讀時(shí),表示要讀ISRISR;D D1 1D D0 0為為1010時(shí),表示要讀時(shí),表示要讀IRRIRR。D2(P)D2(P):決定:決定8259A8259A是否處于程序查詢方式。是否處于程序查詢方式。D2=1D2=1時(shí),時(shí),8259A8259A處處于程序查詢方式。當(dāng)于程序查詢方式。當(dāng)8259A8259A發(fā)出查詢命令后,隨后從偶地發(fā)出查詢命令
42、后,隨后從偶地址讀出的數(shù)據(jù)即為中斷請(qǐng)求狀態(tài)字。址讀出的數(shù)據(jù)即為中斷請(qǐng)求狀態(tài)字。0PRRRISD7D6D5D4D3D2D1D0A00SMMESMM01OCW3命令字有三個(gè)功能:命令字有三個(gè)功能:設(shè)置或撤消特殊屏蔽方式;設(shè)置或撤消特殊屏蔽方式;設(shè)置中斷查詢方式;設(shè)置中斷查詢方式;設(shè)置讀設(shè)置讀8259A內(nèi)部寄存器方式。內(nèi)部寄存器方式。 2022-3-16第 79頁8259A8259A的應(yīng)用舉例的應(yīng)用舉例80868086最小模式與最小模式與8259A8259A接口如下接口如下, , 外設(shè)中斷請(qǐng)求分別從外設(shè)中斷請(qǐng)求分別從IR2 IR2 、IR4 IR4 、IR7IR7引入引入, , 中斷類型號(hào)從中斷類型
43、號(hào)從0C0H0C0H0C7H0C7H,采,采用上升沿觸發(fā),寫出用上升沿觸發(fā),寫出8259A8259A初始化程序。初始化程序。 D0D7 RD WR A1 A7 A6 A5 A0 M/IO A4 A3 A2 INTR INTAD0D7RDWRA0 IR2 IR4 IR7CSINTINTAGG2AG2BC Y1BA11端口地址:10000100B 84H10000110B 86H2022-3-16第 80頁CLI ;關(guān)中斷;關(guān)中斷MOV AL,13H ;ICW1:00010011B邊沿觸發(fā),單片,邊沿觸發(fā),單片, 需要需要 ICW4OUT84H,ALMOV AL,0C0H ;ICW2:中斷類型碼的
44、:中斷類型碼的D7D3位為位為11000OUT86H,ALMOV AL,01H ;ICW4:00000001B 全嵌套全嵌套,非緩沖非緩沖,非自動(dòng)非自動(dòng)EOIOUT86H,ALMOV AL,6BH ;OCW1:01101011B屏蔽屏蔽IR0.1.3.5.6OUT86H,ALSTI ;開中斷;開中斷若要讀若要讀IRR的內(nèi)容的內(nèi)容MOV AL,0AH ;OCW3:00001010BOUT 84H,ALNOPIN AL,84H2022-3-16第 81頁若要讀若要讀ISR的內(nèi)容的內(nèi)容MOV AL,0BH ; OCW3: 00001011BOUT 84H,ALNOPIN AL,84H若要讀若要讀IM
45、R的內(nèi)容,可直接從高地址讀入的內(nèi)容,可直接從高地址讀入IN AL,86H若中斷是關(guān)閉的,可采用查詢方式,看是否有中斷若中斷是關(guān)閉的,可采用查詢方式,看是否有中斷NEXT:MOV AL,0CH; OCW3: 00001100B OUT 84H,AL NOP IN AL,84H TEST AL,80H JZ NEXT2022-3-16第 82頁例例2 2:某:某80868086系統(tǒng)中有兩片系統(tǒng)中有兩片8259A8259A,從片接主片的,從片接主片的IR4IR4,主片,主片IR2IR2、IR5IR5有外部中斷引入,類型號(hào)分別為有外部中斷引入,類型號(hào)分別為62H62H、65H65H;從片;從片IR0I
46、R0、IR3IR3有外部中斷引入,類型號(hào)分別為有外部中斷引入,類型號(hào)分別為40H40H、43H43H。設(shè)主。設(shè)主片的一個(gè)端口地址為片的一個(gè)端口地址為82H82H,從片的一個(gè)端口地址為,從片的一個(gè)端口地址為84H84H,分,分別進(jìn)行初始化編程。別進(jìn)行初始化編程。分析端口地址:分析端口地址:主片主片 10000010 82H 10000000 80H從片從片 10000100 84H 10000110 86H類型號(hào)基值:類型號(hào)基值: 主片主片 60H從片從片 40H2022-3-16第 83頁主片初始化程序主片初始化程序MOV AL,11H;ICW1,00010001B 邊沿觸發(fā)邊沿觸發(fā) 級(jí)連級(jí)連
47、OUT 80H,AL;MOV AL,60H;類型號(hào)基值;類型號(hào)基值OUT 82H,AL;MOV AL, 00010000B ;OUT 82H,AL;MOV AL,11H;ICW4,00010001B 特殊嵌套特殊嵌套 非緩沖非緩沖 非自動(dòng)非自動(dòng)OUT 82H,AL;MOV AL,11001011B;OUT 82H,AL;2022-3-16第 84頁從片初始化程序從片初始化程序MOV AL,11H;00010001B 邊沿觸發(fā)邊沿觸發(fā) 級(jí)連級(jí)連OUT 84H,AL;MOV AL,40H;類型號(hào)基值;類型號(hào)基值OUT 86H,AL;MOV AL, 00000100B ;OUT 86H,AL;MOV
48、 AL,01H;00000001B 完全嵌套完全嵌套 非緩沖非緩沖 非自動(dòng)非自動(dòng) 80X86OUT 86H,AL;MOV AL,11110110B;OUT 86H,AL;2022-3-16第 85頁【例【例3 3】 試編程實(shí)現(xiàn)主機(jī)每試編程實(shí)現(xiàn)主機(jī)每次響應(yīng)次響應(yīng)8259A8259A的的IR2IR2中斷請(qǐng)求,中斷請(qǐng)求,顯示字符串顯示字符串“This is a This is a 8259A interrupt!”8259A interrupt!”,中斷,中斷1010次結(jié)束。次結(jié)束。8259A8259A偶地址端口為偶地址端口為20H20H,奇地址端口為,奇地址端口為21H21H,IR2IR2的中斷類
49、型號(hào)為的中斷類型號(hào)為0AH0AH。程序流。程序流程如圖,程序如下:程如圖,程序如下:開始關(guān)中斷設(shè)置中斷向量8259A初始化中斷次數(shù)初始化開中斷中斷次數(shù)到?禁止IR2中斷結(jié)束YN主程序中斷服務(wù)程序顯示字符串中斷次數(shù)減1發(fā)中斷結(jié)束命令中斷返回2022-3-16第 86頁DATA SEGMENTDATA SEGMENT MESS DB This is a 8259A interrupt!,0Ah,0Dh,$ MESS DB This is a 8259A interrupt!,0Ah,0Dh,$DATA ENDSDATA ENDSCODE SEGMENTCODE SEGMENT ASSUME CS:
50、CODE, DS:DATA ASSUME CS:CODE, DS:DATA START:MOV AX, DATA START:MOV AX, DATA MOV DS, AX MOV DS, AX CLI CLI ;關(guān)中斷;關(guān)中斷 PUSH DSPUSH DS MOV AX, SEG DISPLAY MOV AX, SEG DISPLAY ;取中斷服務(wù)程序入口段地址;取中斷服務(wù)程序入口段地址 MOV DS, AXMOV DS, AX MOV DX, OFFSET DISPLAY MOV DX, OFFSET DISPLAY ;取中斷服務(wù)程序入口偏移地址;取中斷服務(wù)程序入口偏移地址 2022-3-
51、16第 87頁 MOV AX,250AH MOV AX,250AH ;設(shè)置中斷向量;設(shè)置中斷向量 INT 21HINT 21H POP DS POP DS MOV AL,13H MOV AL,13H ;設(shè)置;設(shè)置ICWICW1 1,邊沿觸發(fā),單片,邊沿觸發(fā),單片8259A8259A,需,需ICWICW4 4 OUT 20H,AL OUT 20H,AL MOV AL,08H MOV AL,08H ;設(shè)置;設(shè)置ICWICW2 2,中斷類型號(hào)的高,中斷類型號(hào)的高5 5位為位為0000100001 OUT 21H,AL OUT 21H,AL MOV AL,05H MOV AL,05H ;設(shè)置;設(shè)置IC
52、WICW4 4,非,非AEOIAEOI方式,完全嵌套方式方式,完全嵌套方式 OUT 21H,ALOUT 21H,AL IN AL, 21H IN AL, 21H ;讀??;讀取IMRIMR AND AL,0FBH AND AL,0FBH ;開放;開放IRIR2 2 OUT 21H,AL OUT 21H,AL MOV BL,10 MOV BL,10 ;初始化中斷次數(shù);初始化中斷次數(shù) STI STI 2022-3-16第 88頁WAIT1:CMP BL,0WAIT1:CMP BL,0 NOP NOP JNZ WAIT1 JNZ WAIT1 CLI CLI IN AL,21H IN AL,21H OR
53、 AL,04H OR AL,04H ;禁止;禁止IR2IR2 OUT 21H,AL OUT 21H,AL STI STI MOV AH,4CH MOV AH,4CH ;返回;返回DOSDOS INT 21H INT 21H 2022-3-16第 89頁 DISPLAY PROC NEAR DISPLAY PROC NEAR LEA DX, MESS LEA DX, MESS ;顯示字符串;顯示字符串 MOV AH, 09HMOV AH, 09H INT 21H INT 21H DEC BL DEC BL MOV AL, 20H MOV AL, 20H ;發(fā)送中斷結(jié)束命令;發(fā)送中斷結(jié)束命令 OUT 20H, ALOUT 20H, AL IRET IRET DISPLAY ENDP DISPLAY ENDPCODE ENDSCODE ENDS END START END START 2022-3-16第 90頁五、 8259A的級(jí)聯(lián) 在一個(gè)中斷系統(tǒng)中,可以使用多片在一個(gè)中斷系統(tǒng)中,可以使用多片8259A8259A,采用級(jí)聯(lián)方,采用級(jí)聯(lián)方法,使中斷優(yōu)先級(jí)從法,使中斷優(yōu)先級(jí)從8 8級(jí)可擴(kuò)展到級(jí)可擴(kuò)展到6464級(jí)。在級(jí)聯(lián)時(shí),只級(jí)。在級(jí)聯(lián)時(shí),只能
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 涉外建設(shè)工程施工合同
- 家居行業(yè)設(shè)計(jì)風(fēng)格與文化內(nèi)涵的融合
- 三農(nóng)行業(yè)手冊(cè)合作社運(yùn)營
- 廚房承包合同書參考
- Go語言基礎(chǔ)概念與實(shí)踐作業(yè)指導(dǎo)書
- 內(nèi)部審計(jì)與風(fēng)險(xiǎn)管理作業(yè)指導(dǎo)書
- 擔(dān)保書之擔(dān)保型買賣合同
- 物流信息管理系統(tǒng)作業(yè)指導(dǎo)書
- 私人教練勞動(dòng)合同
- 石油化工行業(yè)安全環(huán)保管理體系建設(shè)方案
- 二零二五年度大型自動(dòng)化設(shè)備買賣合同模板2篇
- 2024版金礦居間合同協(xié)議書
- 2025內(nèi)蒙古匯能煤化工限公司招聘300人高頻重點(diǎn)提升(共500題)附帶答案詳解
- PFMEA模板完整版文檔
- GB/T 4214.1-2017家用和類似用途電器噪聲測(cè)試方法通用要求
- GB/T 11822-2000科學(xué)技術(shù)檔案案卷構(gòu)成的一般要求
- 壓力管道基本知識(shí)課件
- 小學(xué)英語 國際音標(biāo) 練習(xí)及答案
- 優(yōu)秀班主任經(jīng)驗(yàn)交流課件-班主任經(jīng)驗(yàn)交流課件
- 2023年廣州金融控股集團(tuán)有限公司招聘筆試題庫及答案解析
- 血液科品管圈匯報(bào)-PPT課件
評(píng)論
0/150
提交評(píng)論