




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1第5章中斷技術(shù)
主要內(nèi)容:1、中斷的基本概念
2、IBM-PC微機(jī)中斷系統(tǒng)
3、可編程中斷控制器8259A4、8259A在微機(jī)系統(tǒng)中的應(yīng)用23第5章中斷技術(shù)
5.1中斷的基本概念
一、中斷CPU執(zhí)行程序時(shí),由于發(fā)生了某種隨機(jī)的事件(外部或內(nèi)部),引起CPU暫時(shí)中斷正在運(yùn)行的程序,轉(zhuǎn)去執(zhí)行一段特殊的服務(wù)程序(稱為中斷服務(wù)程序或中斷處理程序),以處理該事件,該事件處理完后又返回被中斷的程序繼續(xù)執(zhí)行,這一過程稱為中斷。二、引入中斷的原因(1)提高數(shù)據(jù)傳輸率(2)避免了CPU不斷檢測(cè)外設(shè)狀態(tài)的過程,提高了CPU的利用率(3)實(shí)現(xiàn)對(duì)特殊事件的實(shí)時(shí)響應(yīng)4第5章中斷技術(shù)
三、中斷工作方式的特點(diǎn)1、并行處理能力
有了中斷功能,可以實(shí)現(xiàn)CPU和多個(gè)外設(shè)同時(shí)工作,僅僅在它們相互需要交換信息時(shí),才進(jìn)行“中斷”。這樣CPU可以控制多個(gè)外設(shè)并行工作,提高了CPU的使用效率。
2、實(shí)時(shí)處理能力
計(jì)算機(jī)應(yīng)用于實(shí)時(shí)控制時(shí),現(xiàn)場(chǎng)的許多事件需要CPU能迅速響應(yīng)、及時(shí)處理,而提出請(qǐng)求的時(shí)間往往又是隨機(jī)的。有了中斷系統(tǒng),才能實(shí)現(xiàn)實(shí)時(shí)處理。3、故障處理能力
在CPU運(yùn)行過程中,有時(shí)會(huì)出現(xiàn)一些故障,可以利用中斷系統(tǒng),通過執(zhí)行故障處理程序進(jìn)行處理,不影響其他程序的運(yùn)行。5第5章中斷技術(shù)
4、多道程序或多重任務(wù)的運(yùn)行
在操作系統(tǒng)的調(diào)度下,使CPU運(yùn)行多道程序或多重任務(wù)。一個(gè)程序需要等待外設(shè)I/O操作結(jié)果時(shí),就暫時(shí)“掛起”,同時(shí)啟動(dòng)另一道程序運(yùn)行。I/O操作完成后,掛起的程序再排隊(duì)等待運(yùn)行。這樣,多個(gè)程序交替運(yùn)行。從大的時(shí)間范圍來看,多道程序在“同時(shí)”運(yùn)行。也可以給每道程序分配一個(gè)固定的時(shí)間間隔,利用時(shí)鐘定時(shí)中斷進(jìn)行多道程序的切換。由于CPU速度快,I/O設(shè)備速度慢,各道程序感覺不到CPU在做其他的服務(wù),好像專為自己服務(wù)一樣。6第5章中斷技術(shù)
四、中斷源與中斷識(shí)別1、中斷源引發(fā)CPU中斷的信息源。(1)硬中斷外設(shè)中斷:交換信息硬件中斷:電源掉電、奇偶錯(cuò)(2)軟中斷指令中斷:DOS和BIOS功能調(diào)用程序中斷:程序運(yùn)行出錯(cuò)。溢出、非法操作碼、非法除2、中斷識(shí)別CPU尋找中斷源,目的是形成中斷服務(wù)程序入口地址。方法向量中斷:中斷向量指示中斷服務(wù)程序入口地址。查詢中斷:用軟件或硬件查詢技術(shù)確定中斷源。7第5章中斷技術(shù)
五、中斷向量和中斷向量表1、中斷向量
中斷服務(wù)程序入口地址,包括中斷程序的段基址CS和偏移量IP。2、中斷向量表
是中斷號(hào)與該中斷號(hào)對(duì)應(yīng)的中斷服務(wù)程序入口地址之間關(guān)系的鏈接表。
通過中斷號(hào)可找到中斷服務(wù)程序入口地址在內(nèi)存單元中地址。PC機(jī)在內(nèi)存0000H~03FFH共1024單元中存放00H號(hào)~FFH號(hào)共256個(gè)中斷服務(wù)程序的中斷向量。8第5章中斷技術(shù)
六、中斷號(hào)與中斷向量指針1、中斷號(hào)——00H~FFH(1)外設(shè)中斷(可屏蔽中斷):由8259A提供(2)指令中斷:由程序直接給出int21h(3)不可屏蔽中斷和內(nèi)部特殊中斷:由系統(tǒng)預(yù)先設(shè)置中斷號(hào)名稱中斷號(hào)名稱00H除數(shù)零06H系統(tǒng)保留01H單步07H系統(tǒng)保留02HNMI非屏蔽中斷08H日時(shí)鐘中斷03H斷點(diǎn)09H鍵盤中斷04H溢出0EH軟盤中斷05H屏幕打印21H系統(tǒng)功能調(diào)用9第5章中斷技術(shù)
2、中斷向量指針中斷向量所在的存儲(chǔ)單元的地址。3、中斷號(hào)與中斷向量指針間的關(guān)系
中斷號(hào)×4=
中斷向量的低字節(jié)的指針,從該指針開始四個(gè)存儲(chǔ)單元地址依次存放的是中斷程序的偏移量IPL和IPH及段基址CSL和CSH
。中斷號(hào)×4+0IPL中斷號(hào)×4+1IPH中斷號(hào)×4+2CSL中斷號(hào)×4+3CSH內(nèi)存地址10第5章中斷技術(shù)
4、類型0~類型4已由系統(tǒng)定義,不允許用戶做任何修改。類型
5~類型31是系統(tǒng)備用中斷,占用表地址00014H~0007FH。類型32~類型255,中斷矢量表地址00080H~003FFH,可供用戶使用。七、中斷向量表的初始化例:將中斷向量碼為48H的服務(wù)程序入口地址放入向量表中斷向量表的初始化
MOVAX,0000HMOVDS,AXMOVSI,0120HMOVBX,OFFSETINT1MOV[SI],BXMOVBX,SEGINT1MOV[SI+2],BX11第5章中斷技術(shù)
八、中斷向量的裝入與修改1、中斷向量的裝入
分系統(tǒng)裝入和用戶裝入兩種情況;系統(tǒng)設(shè)置的中斷服務(wù)程序,其中斷向量由系統(tǒng)負(fù)責(zé)裝入。其中,由BIOS提供的服務(wù)程序,其中斷向量是在系統(tǒng)加電后由BIOS負(fù)責(zé)裝入;由DOS提供服務(wù)程序,其中斷向量在啟動(dòng)DOS時(shí)由DOS負(fù)責(zé)裝入。用戶開發(fā)的中斷系統(tǒng),在編寫中斷服務(wù)程序時(shí),其中斷向量由用戶負(fù)責(zé)裝入,其方法可采用MOV指令直接對(duì)中斷向量表中填寫中斷向量。12第5章中斷技術(shù)
例:中斷類型號(hào)為60H,中斷服務(wù)程序的段基址為seg_intr,偏移量是offset_intr(006DH),寫出裝入中斷向量的程序代碼。CLI;關(guān)中斷CLD;內(nèi)存地址加1MOVAX,0;MOVES,AX
;給ES賦值為0MOVDI,4*60h;中斷向量指針→IDMOVAX,offset_intr
;中斷服務(wù)程序偏移量→AXSTOSW
;AX→[DI]及[DI+1]單元中,DI+2→DIMOVAX,seg_intr
;中斷服務(wù)程序偏移量→AXSTOSW
;AX→[DI+2]及[DI+3]單元中,DI+4→DISTI;開中斷(1)用mov指令裝入13第5章中斷技術(shù)
(2)將中斷向量直接寫入中斷向量表MOVAX,00H;MOVES,AX;給ES賦值為0MOVBX,4*60h;中斷向量指針→IDMOVAX,006DH;中斷服務(wù)程序偏移量→AXMOVES:[BX],AX;將中斷向量偏移量裝向量表PUSHCS;將CS壓入堆棧POPAX;將CS→AXMOVES:[BX+2],AX;將中斷向量段基址裝向量表14第5章中斷技術(shù)
2、中斷向量的修改
在PC機(jī)中用戶不直接裝中斷向量,通過修改中斷向量來使用系統(tǒng)的中斷資源。中斷向量的修改是利用DOS功能調(diào)用int21H中的35H號(hào)和25H號(hào)功能來完成的。
(1)int21H的35H號(hào)功能功能:讀取中斷向量入口參數(shù):AH=35H,AL=中斷號(hào)出口參數(shù):ES:BX=中斷向量
(2)int21H的25H號(hào)功能功能:寫入中斷向量入口參數(shù):AH=25H,AL=中斷號(hào)出口參數(shù):DS:DX=要寫入的中斷向量15第5章中斷技術(shù)
(3)中斷向量修改的步驟①用35H號(hào)功能獲取原中斷向量,并保存在字變量中;②用25H號(hào)功能設(shè)置新中斷向量,取代原中斷向量,轉(zhuǎn)到新中斷服務(wù)程序中;③新中斷服務(wù)程序執(zhí)行完畢,再用25H號(hào)功能將保存在字變量中的原中斷向量寫回去,恢復(fù)原中斷向量。例:假設(shè)原中斷程序的中斷號(hào)為n,新中斷程序的入口地址的段基地址為SEG_INTR,偏移地址為
OFFSET_INTR。
16第5章中斷技術(shù)
分析下列各段程序功能:MOVAH,35H;取原中斷向量MOVAL,nHINT21HMOVOLD_OFF,BXMOVBX,ESMOVOLD_SEG,BX;保存原中斷向量(其它程序段)MOVAH,25H
;設(shè)置新中斷向量MOVAL,nH;中斷號(hào)MOVDX,SEG_INTRMOVDS,DX
;DS指向新中斷程序段地址MOVDX,OFFSET_INTR;DX指向新中斷程序偏移地址INT21H17第5章中斷技術(shù)
(其它程序段)MOVAH,25H;恢復(fù)原中斷向量MOVAL,nHMOVDX,OLD_SEGMOVDS,DXMOVDX,OLD_OFFINT21H18第5章中斷技術(shù)
四、中斷處理過程1、中斷請(qǐng)求當(dāng)外部設(shè)備要求CPU為他服務(wù)時(shí),要向CPU發(fā)中斷請(qǐng)求信號(hào),申請(qǐng)中斷。(1)外部中斷源由外部硬件產(chǎn)生可屏蔽或不可屏蔽中斷的請(qǐng)求信號(hào);(2)內(nèi)部中斷源在程序運(yùn)行過程中發(fā)生了指令異常或其他情況。2、中斷響應(yīng)中斷源提出中斷請(qǐng)求后,必須滿足一定的條件,CPU才可響應(yīng)中斷。
(1)響應(yīng)可屏蔽中斷必須同時(shí)具備以下條件①CPU處于允許中斷狀態(tài)(IF=1);②沒有不可屏蔽中斷請(qǐng)求和總線請(qǐng)求;③當(dāng)前指令執(zhí)行結(jié)束。19第5章中斷技術(shù)
(2)響應(yīng)不可屏蔽中斷必須同時(shí)滿足以下條件①?zèng)]有總線請(qǐng)求;②當(dāng)前指令執(zhí)行結(jié)束。(3)響應(yīng)內(nèi)部中斷的條件當(dāng)前指令執(zhí)行結(jié)束。(4)CPU接受中斷請(qǐng)求后轉(zhuǎn)入中斷響應(yīng)周期。在中斷響應(yīng)周期①識(shí)別中斷源,取得中斷源的中斷類型;②將標(biāo)志寄存器FLAGS和CS、IP(斷點(diǎn))先后壓入堆棧保存;③清除自陷標(biāo)志位TF和中斷允許標(biāo)志位IF;④獲得相應(yīng)的中斷服務(wù)程序入口地址,轉(zhuǎn)入中斷服務(wù)程序。20第5章中斷技術(shù)
3、中斷服務(wù)
(1)保護(hù)現(xiàn)場(chǎng)在執(zhí)行中斷服務(wù)程序時(shí),先保護(hù)中斷服務(wù)時(shí)要使用的寄存器的內(nèi)容,中斷返回前再將其內(nèi)容恢復(fù)。這樣,中斷處理程序的運(yùn)行不會(huì)影響主程序的運(yùn)行。具體的做法是將這些寄存器的內(nèi)容壓入堆棧。(2)開中斷以便在執(zhí)行中斷服務(wù)程序時(shí),能響應(yīng)較高級(jí)別的中斷請(qǐng)求。(3)中斷處理執(zhí)行輸入輸出或非常事件的處理,執(zhí)行過程中允許CPU響應(yīng)較高級(jí)別設(shè)備的中斷請(qǐng)求。
(4)關(guān)中斷保證在恢復(fù)現(xiàn)場(chǎng)時(shí)不被新的中斷打擾。(5)恢復(fù)現(xiàn)場(chǎng)中斷服務(wù)程序執(zhí)行結(jié)束前,應(yīng)將堆棧中保存的內(nèi)容按入棧相反的順序彈出,送回到原來的CPU寄存器,從而保證被中斷的程序能夠正常地繼續(xù)執(zhí)行。21第5章中斷技術(shù)
4、中斷返回(1)在中斷服務(wù)程序的最后,需要安排一條中斷返回指令,用于將堆棧中保存的IP,CS,F(xiàn)LAGS的值彈出,使程序回到被中斷的地址,并恢復(fù)被中斷前的狀態(tài)。(2)保護(hù)和恢復(fù)現(xiàn)場(chǎng)的操作在8086CPU中由軟件完成。有的微處理機(jī)如MC68000,保護(hù)現(xiàn)場(chǎng)操作在中斷響應(yīng)周期由硬件完成,恢復(fù)現(xiàn)場(chǎng)、中斷返回用一條返回指令來完成。22第5章中斷技術(shù)
五、中斷指令1、開中斷(STI)和關(guān)中斷(CLI)指令(1)這兩條指令用來操縱CPU標(biāo)志寄存器的中斷允許標(biāo)志位IF。(2)對(duì)可屏蔽中斷INTR起作用。2、軟中斷指令I(lǐng)NTn
(1)該指令功能是調(diào)用n
號(hào)中斷服務(wù)程序。N為中斷號(hào)。(2)完成以下操作:①標(biāo)志寄存器內(nèi)容進(jìn)棧保存②使標(biāo)志位TF置0,禁止單步操作;使IF標(biāo)志位置0,關(guān)閉中斷,防止外部中斷進(jìn)入③被中斷的程序的斷點(diǎn)地址CS和IP,先后進(jìn)棧保存④CPU將指令中的中斷號(hào)n*4,作為地址指針,從中斷向量表中,取出n號(hào)中斷服務(wù)程序的入口地址,裝入CS和IP。23第5章中斷技術(shù)
3、中斷返回指令I(lǐng)RET
這是一條中斷服務(wù)程序的出口指令,其功能是對(duì)中斷的程序的斷點(diǎn)地址和標(biāo)志寄存器做恢復(fù)操作。4、暫停指令HLT
該指令的功能是暫時(shí)停止執(zhí)行主程序,而等外部中斷的發(fā)生。24第5章中斷技術(shù)
五、中斷向應(yīng)周期及INTA信號(hào)的作用CLK(時(shí)鐘信號(hào))ALE(地址允許)T1T2T3T4T1T2T3T4LOCK(總線鎖定)INTA(中斷響應(yīng))ID0~D7(數(shù)據(jù)總線)中斷號(hào)(1)CPU發(fā)第一個(gè)INTA時(shí),LOCK=0總線處于封鎖狀態(tài),防止其它設(shè)備占用總線,8259A中斷服務(wù)寄存器ISR置位,中斷請(qǐng)求寄存器IRR清零。表示中斷已被響應(yīng)。(2)CPU發(fā)第二個(gè)INTA時(shí),LOCK=1總線解除封鎖狀態(tài),
ALE=0允許數(shù)據(jù)線工作,類型號(hào)通過數(shù)據(jù)總線送CPU。25第5章中斷技術(shù)
練習(xí)1、中斷向量地址是()
A、子程序入口地址B、中斷服務(wù)程序入口地址
C、中斷服務(wù)程序入口地址的地址D、中斷地址2、在下面中斷中,只有()需要硬件提供中斷類型碼。
A、INT0B、INTnC、NMID、INTR3、硬中斷可分()和()兩種。4、8086/8088最多能處理()種中斷。5、非屏蔽中斷的中斷類型號(hào)是()。6、對(duì)于掉電的處理。8086/8088是通過()來處量的。7、CPU接收中斷號(hào),將它左移()位,形成中斷向量的指針。26第5章中斷技術(shù)
5.48259A在PC中的應(yīng)用1、IBMPC/XT初始化PC/XT系統(tǒng)中使用了1片8259A來提供8級(jí)中斷請(qǐng)求
IRQ0~I(xiàn)RQ7,分別用于日時(shí)鐘、鍵盤、保留、串行口2、串行口1、硬盤、軟盤、打印機(jī)中斷,中斷類型號(hào)從08H~0FH。8級(jí)中斷請(qǐng)求均為邊沿觸發(fā),采用全嵌套方式工作,IRQ0優(yōu)先級(jí)最高,IRQ7優(yōu)先級(jí)最低。端口地址使用20H、21H。系統(tǒng)對(duì)8259A初始化的程序段如下:
INTA00EQU20H;8259A端口
INTA01EQU21H……CLI;關(guān)中斷
MOVAL,13H;ICW1邊沿觸發(fā)、單片
OUTINTA00,ALMOVAL,08OUTINTA01,AL;ICW2中斷類型號(hào)的高5位,從8開始
MOVAL,09;ICW4全嵌套,8088系統(tǒng)、正常結(jié)束、緩沖方式
OUTINTA01,AL……STI;開中斷
……27第5章中斷技術(shù)
2、IBMPC/AT初始化
IBMPC/AT系統(tǒng)使用了2片8259A級(jí)連成15級(jí)中斷,如圖所示。使用特點(diǎn)是,主片、從片的中斷請(qǐng)求均為邊沿觸發(fā)。采用全嵌套方式,優(yōu)先級(jí)順序從高到低依次為IRQ0、IRQ1、IRQ8~I(xiàn)RQ15、
IRQ3~I(xiàn)RQ7。主片使用端口地址20H和21H,從片使用端口地址
0A0H和0A1H。主片中斷類型號(hào)從8開始,從片中斷類型號(hào)從70H
開始。從片8259ACAS2INTD0~D7RDWRA0INTACSCAS0CAS1SP/ENIR0IR7......主片8259ACAS2INTD0~D7RDWRA0INTACSCAS0CAS1SP/ENIR0IR7...IR1IR2譯碼器D0~D7INTRIORIOWA0INTA地址CPU總線中斷源中斷源.........Vcc28第5章中斷技術(shù)
系統(tǒng)初始化8259A的程序段如下:;端口地址定義INTA00EQU20H;8259A主片端口0INTA01EQU21H;8259A主片端口1INTB0EQU0A0H;8259A從片端口0INTBB1EQU0A1H;8259A從片端口1;主片初始化CLI;關(guān)中斷MOVAL,11H;邊沿觸發(fā)、多片、16位系統(tǒng)OUTINTA00,ALMOVAL,08;中斷類型號(hào)從8開始OUTINTA01,ALMOVAL,04H;ICW3主片的IR2引腳接有從片OUTINTA01,ALMOVAL,01H;ICW4非緩沖、全嵌套方式、16位系統(tǒng)、正常結(jié)束OUTINTA01,AL29第5章中斷技術(shù)
;從片初始化MOVAL,11H;邊沿觸發(fā)、多片、16位系統(tǒng)OUTINTB00,ALMOVAL,70H;中斷類型號(hào)從70H開始OUTINTB01,ALMOVAL,02;從片接主片的IR2(即標(biāo)識(shí)碼=010)OUTINTB01,ALMOVAL,01H;ICW4非緩沖、全嵌套、16位系統(tǒng)、正常結(jié)束OUTINTB01,AL……STI;開中斷……30第5章中斷技術(shù)
3、中斷服務(wù)程序的編制編寫PCDOS下的硬件中斷服務(wù)程序,有幾點(diǎn)需要注意:(1)由于系統(tǒng)引導(dǎo)過程已完成8259A的初始化,所以應(yīng)用程序一般不再重新初始化,但為了正確轉(zhuǎn)入用戶自己的中斷服務(wù)程序,應(yīng)對(duì)中斷向量表進(jìn)行修改。方法是:根據(jù)用戶中斷類型號(hào)先從中斷向量表取出相應(yīng)的中斷向量,并保存在事先定義的變量中;然后,向存放原中斷向量的單元寫入新中斷服務(wù)程序的入口地址;最后,在應(yīng)用程序終止退出之前,從保存的變量中取回原中斷向量恢復(fù)到中斷向量表中。修改中斷向量表應(yīng)避免使用
MOV型傳送指令,可通過調(diào)用DOS系統(tǒng)功能獲取中斷向量(35H功能)和設(shè)置中斷向量(25H功能),具體用法可參考下面的程序。通常,修改中斷向量之前要用CLI指令關(guān)中斷。(2)為確保中斷能夠產(chǎn)生,在使用STI開中斷指令之前還要用OCW1
命令對(duì)IMR寄存器操作,解除用戶中斷級(jí)對(duì)應(yīng)的屏蔽位。這樣,一旦CPU開中斷可立即響應(yīng)外部中斷請(qǐng)求。31第5章中斷技術(shù)
(3)如果要實(shí)現(xiàn)中斷嵌套,應(yīng)該在中斷服務(wù)程序入口處立即開中斷(使用STI指令)。(4)中斷程序結(jié)束前必須發(fā)EOI命令和IRET指令。如果是從片,則服務(wù)程序結(jié)束前必須向主片和從片分別發(fā)EOI命令。以下是運(yùn)行在PC上的一個(gè)完整的中斷處理程序。程序功能是,對(duì)輸入到IRQ7引腳的中斷請(qǐng)求次數(shù)進(jìn)行統(tǒng)計(jì)并顯示,計(jì)滿9次后返回DOS操作系統(tǒng)。
STACKSEGMENTSTACK“STACK”DB100DUP(?)
STACKENDSDATASEGMENTINT_SEGDW?;定義變量,以保存中斷向量段址
INT_OFFDW?;定義變量,以保存中斷向量偏移量
CNTDB?;保存中斷次數(shù)
DATAENDS32第5章中斷技術(shù)
CODESEGMENTASSUMECS:CODE,DS:DATA,SS:STACK,ES:DATA;以下為主程序START:MOVAX,DATAMOVDS,AXMOVAL,0FH;0FH為中斷類型號(hào)(IR7對(duì)應(yīng)的中斷類型號(hào))
MOVAH,35H;獲取中斷向量功能號(hào)
INT21H;調(diào)用后,中斷向量段址在ES中,偏移量在BX中
MOVINT_SEG,ES;保存原中斷向量段址
MOVINT_OFF,BX;保存原中斷向量偏移量
CLI;關(guān)中斷
MOVAL,0FH;中斷類型號(hào)
MOVAH,25H;設(shè)置中斷向量功能號(hào)
MOVDX,SEGINT_PRO;
MOVDS,DX;DS指向新中斷向量段址
MOVDX,OFFSETINT_PRO;DX指向新中斷向量偏移量
INT21HMOVAX,DATA;恢復(fù)數(shù)據(jù)段尋址
33第5章中斷技術(shù)
MOVDS,AXINAL,21H;解除IR7的屏蔽位
ANDAL,7FHOUT21H,ALMOVBL,0;計(jì)數(shù)器初值
MOVCNT,0;計(jì)數(shù)單元初值為0L1:STICMPCNT,BL;比較判斷,相同CPU循環(huán)等待
JZL1;每產(chǎn)生一次中斷,BL增1MOVDL,BL
;準(zhǔn)備調(diào)用顯示功能
ADDDL,30H;轉(zhuǎn)換成ASCII碼
MOVAH,2INT21H
;屏幕顯示
MOVCNT,BL;保存
CMPBL,9JZL2;計(jì)滿9次轉(zhuǎn)移
JMPL1L2:CLI;恢復(fù)中斷向量前關(guān)中斷34第5章中斷技術(shù)
MOVAL,0FH;中斷類型號(hào)
MOVAH,25H;設(shè)置原中斷向量功能號(hào)
MOVDX,INT_OFF
;DX裝入原中斷向量偏移量
MOVBX,INT_SEGMOVDS,BX;DS裝入原中斷向量段址
INT21HINAL,21H
;屏蔽IR7位
ORAL,80HOUT21H,ALSTIMOVAX,4C00H;返回操作系統(tǒng)
INT21H;以下為中斷服務(wù)程序INT_PROPROCFARSTIINCBLMOVAL,20H;中斷結(jié)束命令(OCW2)
OUT20H,AL35第5章中斷技術(shù)
IRET;中斷返回INT_PROENDP;中斷程序結(jié)束CODEENDS
ENDSTART;主程序結(jié)束注:以上實(shí)例沒有用停機(jī)(HLT)指令等待中斷,主要原因是為了避免由于系統(tǒng)定時(shí)器中斷而造成中斷次數(shù)的重復(fù)顯示。36第5章中斷技術(shù)
4、綜合應(yīng)用利用8086學(xué)習(xí)機(jī),使用8254計(jì)數(shù)器0,采用工作方式3,產(chǎn)生1kHz
的方波脈沖信號(hào);通過計(jì)數(shù)器1,采用工作方式4,用OUT1作計(jì)數(shù)脈沖,計(jì)滿100次向CPU發(fā)一次中斷申請(qǐng),
CPU響應(yīng)這一中斷后繼續(xù)寫入計(jì)數(shù)值100,重新開始計(jì)數(shù);通過計(jì)數(shù)器2,采用工作方式0,每隔1秒鐘向CPU發(fā)一次中斷請(qǐng)求,使8個(gè)指示燈閃動(dòng)。編寫程序,并畫出硬件連接圖。設(shè)8254芯片地址為4C0H、4C2H、4C4H、
4C6H,8259芯片地址為4B0H,4B2H,74LS373芯片地址04A0H。分析:(1)由于CLK0=2.5MHz,T=0.4μs,由計(jì)數(shù)器0產(chǎn)生的1kHz的單拍負(fù)脈沖信號(hào),T=1ms,所以初值為2500,即09C4H。(2)因?yàn)橛?jì)數(shù)器1和計(jì)數(shù)器2分別工作在方式4和方式0,當(dāng)
GATE=1時(shí),依靠計(jì)數(shù)初值啟動(dòng)定時(shí)或計(jì)數(shù),因而初始化時(shí)要先對(duì)中斷控制器8259A初始化,再對(duì)計(jì)數(shù)器1和計(jì)數(shù)器2初始化,裝入時(shí)間常數(shù)后立即執(zhí)行。(3)CLK2與OUT0連接在一起,輸入時(shí)鐘為1kHz,T=1ms。計(jì)數(shù)器2每隔1秒鐘向CPU發(fā)一次中斷請(qǐng)求,計(jì)時(shí)工作時(shí)間常數(shù)等于1000。37第5章中斷技術(shù)
D0~D7RDWRA1A2A13A14A15INTRCPU8086CLK0OUT0GATE0D0~D7RDCLK1OUT1GATE1CLK2OUT2GATE2WRA0A1CSIR1IR074LS2448253DELE74LS3738259AINTD0~D7Vcc2.5MHz74LS138LED1LED1......+15V11138第5章中斷技術(shù)
START:MOVDX,04C6H;設(shè)置8253控制口地址
MOVAL,00110110B;二進(jìn)制,方式3,寫16位,計(jì)數(shù)器0OUTDX,AL;控制字寫入計(jì)數(shù)器0的控制寄存器
MOVDX,04C0H;設(shè)置8253計(jì)數(shù)器0地址
MOVAX,09C4H;計(jì)數(shù)初值
OUTDX,ALMOVAL,AHOUTDX,AL;寫入初值高8位
MOVBL,00H;燈亮或滅的標(biāo)志
CLIMOVDX,04B0H;8259A的偶地址
MOVAL,00010011B;設(shè)置ICW18259初始化控制字ICW1OUTDX,AL;寫入ICW1MOVDX,04B2H;8259A的奇地址
MOVAL,50H;設(shè)置8259A初始化控制字ICW2OUTDX,AL;寫入ICW2MOVAL,0000001B;設(shè)置8259A初始化控制字ICW4OUTDX,AL;寫入ICW439第5章中斷技術(shù)
MOVAL,0FCH;設(shè)置IR0、IR1不可屏蔽操作控制字OCW1OUTDX,AL;寫入OCW1MOVAX,OFFSETINTR1;設(shè)置中斷服務(wù)程序INTR1的偏移地址MOVWORDPTR[140H],AX;中斷矢量表地址為50H×4MOVAX,SEGINTR1;設(shè)置中斷服務(wù)程序INTR1所在段地址MOVWORDPTR[142H],AXMOVAX,OFFSETINTR2;設(shè)置中斷服務(wù)程序INTR2偏移地址MOVWORDPTR[144H],AX;中斷矢量表地址為51H×4MOVAX,SEGINTR2;設(shè)置中斷服務(wù)程序INTR2所在段地址MOVWORDPTR[146H],AXMOVDX,04C6H;設(shè)置8253控制口地址MOVAL,01011000B;二進(jìn)制數(shù),方式4,寫低字節(jié),計(jì)數(shù)器1計(jì)數(shù)OUTDX,AL;將控制字寫入計(jì)數(shù)器1的控制寄存器MOVDX,04C6H
溫馨提示
- 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. 人人文庫(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 交付材料采購(gòu)合同
- 學(xué)術(shù)研究合同履約金條款
- 2024年中國(guó)電信福建公司招聘流程考試真題
- 泥瓦工合同范本
- 2025至2030年中國(guó)汽車用水管數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 2025至2030年中國(guó)水射器數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 兼職勞務(wù)協(xié)議示范
- 2024年開封市人力資源發(fā)展集團(tuán)有限公司招聘考試真題
- 古董家具買賣協(xié)議
- 長(zhǎng)寧租房合同范本
- 中國(guó)傳媒大學(xué)-主持人即興口語訓(xùn)練-課件-1
- 【武漢版】生命安全教育五年級(jí)第19課《別讓皮膚受傷害》教學(xué)設(shè)計(jì)
- 2022-2023學(xué)年上海市華東師范大學(xué)第一附屬中學(xué)物理高一下期中聯(lián)考試題含解析
- 臺(tái)灣歷屆領(lǐng)導(dǎo)人和其大陸政策
- 2023屆高考模擬作文“和而不同”導(dǎo)寫及范文
- 2023年湖南高速鐵路職業(yè)技術(shù)學(xué)院?jiǎn)握泄P試職業(yè)技能考試題庫(kù)及答案解析
- 結(jié)婚函調(diào)報(bào)告表
- 中智投資有限公司招聘筆試題庫(kù)2023
- 2023年中智投資有限公司招聘筆試押題庫(kù)
- FSC全套程序文件
- YY/T 0729.2-2009組織粘合劑粘接性能試驗(yàn)方法第2部分:T-剝離拉伸承載強(qiáng)度
評(píng)論
0/150
提交評(píng)論