《微機接口原理課件第七章中斷技術(shù)1》由會員分享,可在線閱讀,更多相關(guān)《微機接口原理課件第七章中斷技術(shù)1(38頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、,單擊此處編輯母版文本樣式,第二級,第三級,第四級,第五級,*,單擊此處編輯母版標(biāo)題樣式,微機原理與接口技術(shù)精品課程,單擊此處編輯母版文本樣式,第二級,第三級,第四級,第五級,單擊此處編輯母版標(biāo)題樣式,*,第七章 中斷技術(shù),(可屏蔽外中斷控制技術(shù)),微機原理與接口技術(shù)精品課程,輸入,/,輸出數(shù)據(jù)的傳輸控制方式,程序方式,中斷方式,DMA,方式,特點:,上級反復(fù)訪問,特點:,下級請示執(zhí)行,特點:,架空,CPU,(三種接口設(shè)計模式),3,INT0,INT1,INT4,INT3,INT2,斷點中斷,溢出中斷,復(fù)習(xí):,第二章中斷概念部分,CPU,硬件中斷信號腳:,第,17,腳 非屏蔽中斷請求,第,18
2、,腳 可屏蔽中斷請求,第,24,腳 可屏蔽中斷響應(yīng),弄清幾個概念:,1.,中斷分類概念,2.,中斷向量表概念,3.,中斷服務(wù)子程序的執(zhí)行機制概念,4,8086/8088,的中斷系統(tǒng),注:,INT 0 INT 4,為系統(tǒng)專用中斷號,5,復(fù)習(xí):中斷管理表,windows,有,API,庫,dos,返回,28,6,三、計算機中斷響應(yīng)過程,第一步:獲得中斷類型號;,第二步:保護(hù)斷點并關(guān)中斷;,第三步:從中斷向量表中提取中斷向量,轉(zhuǎn)入中斷服務(wù)程序。,關(guān)于中斷類型號的獲得,有三種情況:,1,、對專用中斷(中斷號,0 4,),中斷類型號由,CPU,自動,生成;,2,、對軟件中斷,INT N,,中斷類型號,N,
3、從指令獲得;,3,、對外部可屏蔽中斷,,CPU,獲得中斷類型號的過程比較,復(fù)雜。見下頁,7,可屏蔽中斷接口必用,可編程中斷控制芯片,8259A,連接,CPU,的中斷請求線,可擴(kuò)展,8,個外部中斷源,連接,CPU,的中斷響應(yīng)線,注:其他管腳要解決:,可編程的初始化問題,中斷源的再擴(kuò)展問題,D0D7,返回,25,8,CPU,中斷,接口,D0 D7,中斷請求,INTR,中斷相應(yīng),INTA,第一個總線周期,CPU,送中斷響應(yīng)信號,INTA,第二個總線周期中斷接口送中斷類型號,8259A,IR0,IR7,9,四、各類中斷的優(yōu)先級,注,注:優(yōu)先級可以通過硬件設(shè)計實現(xiàn),也可以通過軟件設(shè)計實現(xiàn),10,第三節(jié),
4、可編程中斷控制器,Intel 8259A,8259A,應(yīng)具備下列四項功能:,1,、中斷請求端的擴(kuò)展功能,2,、中斷優(yōu)先級的管理功能,3,、中斷類型碼的預(yù)置和自動上傳功能,4,、可編程功能:通過程序獲得不同的工作,模式,叫“可編程器件”,11,可編程中斷控制器,8259A,內(nèi)部結(jié)構(gòu),返回到,17,頁,8259A,芯片引腳,返回到,31,返回到,22,返回,25,記錄當(dāng)前正執(zhí)行的中斷號,IRi,12,8259A,的讀寫操作,I/O,端口地址,單板機,8259A,初始化命令字:,ICW1,、,ICW2,、,ICW3,、,ICW4,8259A,操作命令字:,OCW1,、,OCW2,、,OCW3,難點:
5、兩個地址,(,一個偶地址和一個奇地址,),,但要寫進(jìn)這么多,命令字!借助了可編程芯片的內(nèi)部邏輯管理。,13,1,初始化命令字,ICW1,例:若,8259A,的端口地址為,20H,、,21H,,采用電平觸發(fā),單片使用,,需要,ICW4,,請初始化,命令字,ICW1,解:根據(jù)題意,,ICW1=1BH,,初始化程序如下:,MOV,AL,,,1BH,OUT,20H,,,AL,借助于標(biāo)志位,一個地址就可存兩個命令字,!,決定是否有,ICW3,返,28,返,18,14,2,初始化命令字,ICW 2,(預(yù)存中斷號),例:已知原計算機系統(tǒng)中斷向量表,60H,以后為空,請設(shè)置,命令字,ICW2,并裝入,,825
6、9A,地址為,20H,21H,解:,ICW2,的低三位,000 111,由,8259A,自動分配給外設(shè)中斷,請求端,IR0 IR7,所以高,5,位應(yīng)定位,01100,比較合理。,初始化程序如下:,MOV,AL,,,01100000B,OUT,21H,,,AL,;,8259A,地址為,20H,21H,;問:,MOV,AL,,,01100111B,行嗎?,返,28,D0D7,15,3,初始化命令字,ICW 3,ICW3,稱為主片,/,從片標(biāo)志命令字,必須寫到,8259A,的奇,地址端口(即,A0,1,)中。僅在,8259A,級聯(lián)(,ICW1,中,D1,0,),時使用,且,CPU,送給主,8259A
7、,和從,8259A,的,ICW3,格式是不相,同的。,例:一片,8259A,級聯(lián),8,片從片,需要寫,9,次,ICW3,如何寫?,注:,1,主片,2,從片的連接電路圖,SP/EN,為主,/,從控制線(,SP,),CAS0,、,CAS1,、,CAS2,為級聯(lián)線,17,4,初始化命令字,ICW 4,ICW4,叫做方式控制初始化命令字,必須寫到,8259A,奇地址端口(,A0,1,)。,ICW4,僅在,ICW1,中的,D0,l,時才有,必要設(shè)置,否則就省略不用。,說明:,D4,位,特殊,指級聯(lián)時主片用,“特殊”,其它都,用“非特殊”。,D3 D2,位,,說明,與系統(tǒng)總線是否,用緩沖器(大系,統(tǒng)的總線
8、驅(qū)動),相連。,D1,位,一般取,0.,為,了實現(xiàn)有優(yōu)先級,要求的中斷嵌套,,8259A,中有一個,現(xiàn)行服務(wù)寄存器,ISR,,自動,EOI,方式,即一進(jìn)入中斷,,8259A,即將,ISR,的中斷服務(wù)位,ISR,i,請零,可能造成發(fā)生嵌套的優(yōu)先級,混亂。除非保證不發(fā)生嵌套時才用自動,EOI,方式。,返,28,18,例:,假設(shè),8259A,地址為,20H 21H,,與總線之間有緩沖器連接,,非自動結(jié)束方式,只用一片,8259A,,普通完全嵌套,用,8088,。,請初始化,ICW4,解:,MOV AL,0000 1101B,OUT 21H,AL,19,4,個命令字的初始化順序,A0=0,A0=1,A
9、0=1,A0=1,ICW1,導(dǎo)向,ICW1,導(dǎo)向,20,例,:,現(xiàn)有,8086,微機系統(tǒng),其中斷控制單元由單片,8259A,構(gòu)成。,8259A,的觸發(fā)方式是邊沿觸發(fā),中斷類型號為,08H0FH,,非,自動結(jié)束方式,全嵌套方式,非緩沖方式。,8259A,的地址為,0DAH,和,0DBH,。試編寫該片,8259A,的初始化程序。,解:,21,操作命令字:,OCW1,OCW2,OCW3,1,、中斷屏蔽命令字,OCW1,例:開放中斷,IR0 IR1 IR2 IR3,其它中斷請求端 均屏蔽。假,定,8259A,的片地址為:,20H 21H,請初始化,OCW1,解:,MOV AL,0F0H,OUT 21H
10、,AL,返,28,22,2.,中斷模式設(shè)置命令字,OCW2,說明:,一般使用,ICW4,的,非自動,EOI,方式,用,OCW2,的普通,EOI,方式結(jié)束中斷服,務(wù)子程序。,注意:,ICW4,用,在主程序的初始化中,而,OCW2,用在,中斷服務(wù)子程序,中使用。,在,子程序結(jié)束處用!,R=0,為固定優(yōu)先級;,IR0,最高,R=1,為輪換優(yōu)先級。,例:中斷服務(wù)子程序片斷:,.,.,MOV AL,20H,;用普通,EOI,方式(,不用設(shè),Li,),,OUT 20H,AL ;,送入偶地址,20H,,,ISR,的相應(yīng)位清零,IRET,;,CPU,平臺上的中斷返回,恢復(fù)上層程序斷口。,返回,30,頁,注:外
11、中斷結(jié)束前需要 兩個關(guān)鍵指令:,OUT 20H,AL,;接口片處理,IRET,;計算機系統(tǒng)處理,記錄著正在執(zhí)行的中斷號,23,返回,20,24,3,、,OCW3,例:編一段了解,ISR,狀態(tài)的程序片斷,假定,8259A,的地址為,20H 21H .,:,MOV AL,00001111B,;普通屏蔽方式,OUT 20H,AL ;,寫,OCW3,NOP,;此指令可有可無,IN AL,20H,;讀,ISR,(注意端口,A,0,=0,),返回,30,頁,4,個命令字,3,個操作命令字的使用總結(jié),5.4,26,例,:某一中斷系統(tǒng),有一片主片和兩片從片,8259A,,主片的要求為:特定全嵌套方式、邊沿觸發(fā)
12、、非自動,EOI,方式、非緩沖方式、中斷類型為,40H,;從片的要求為:全嵌套方式、邊沿觸發(fā)、非自動,EOI,方式、非緩沖方式、中斷類型為,60H,和,80H,;地址:主片為,FFD0H,,,FFD2H,;從片分別為,FFD4H,,,FFD6H,和,FFD8H,,,FFDAH,。,試編寫各,8259A,的初始化程序。,級聯(lián),管腳,ICW1,ICW2,ICW3,ICW4,28,主片:,ICW1,:,00010001B=11H,ICW2,:,40H,ICW3,:,01001000B=48H,ICW4,:,00010001B=11H,從片,A,:,ICW1,:,00010001B=11H,ICW2,
13、:,60H,ICW3,:,00000011B=03H,ICW4,:,00000001B=01H,從片,B,:,ICW1,:,00010001B=11H,ICW2,:,80H,ICW3,:,00000110B=06H,ICW4,:,00000001B=01H,三片,8259A,的控制字分別是:,29,CLI ;,初始化時要關(guān)中斷,MOV DX,,,0FFD0H,MOV AL,,,11H,OUT DX,,,AL,INC DX,INC DX,MOV AL,,,40H,OUT DX,,,AL,MOV AL,,,48H,OUT DX,,,AL,MOV AL,,,11H,OUT DX,,,AL,主片,82
14、59A,的初始化程序:,CLI,MOV DX,,,0FFD4H,MOV AL,,,11H,OUT DX,,,AL,INC DX,INC DX,MOV AL,,,60H,OUT DX,,,AL,MOV AL,,,3H,OUT DX,,,AL,MOV AL,,,01H,OUT DX,,,AL,從片,A,的初始化程序:,CLI,MOV DX,,,0FFD8H,MOV AL,,,11H,OUT DX,,,AL,INC DX,INC DX,MOV AL,,,80H,OUT DX,,,AL,MOV AL,,,6H,OUT DX,,,AL,MOV AL,,,01H,OUT DX,,,AL,從片,B,的初始化
15、程序:,作業(yè):,某一中斷系統(tǒng),有一片主片和兩片從片,8259A,,主片的要求為:特定全嵌套方式、電平觸發(fā)、非自動,EOI,方式、,緩沖方式,、中斷類型為,48H,;從片的要求為:全嵌套方式、邊沿觸發(fā)、非自動,EOI,方式、,緩沖方式,、中斷類型為,60H,和,80H,;地址:主片為,0D0H,,,0D2H,;從片分別為,0D4H,,,0D6H,和,0D8H,,,0DAH,。試編寫各,8259A,的初始化程序。,31,例,:電腦,IBMPC/XT,上使用的,8259A,介紹,電腦,IBMPC/XT,的主機板上有一個以,8259A,為中心組成的外,部中斷控制邏輯。下表為,外部中斷源的分配表,。,電
16、腦在上電初始化期間,,BIOS,中有三段與,8259A,有關(guān)的程序,見下頁,返回,46,頁,32,8259A,初始化,MOV AX,13H,;,ICW1,:,邊沿觸發(fā)、單片,8259A,、要送,ICW4,OUT 20H,AL,;,8259A,接口的偶地址為,20H,MOV AL,8,;,ICW2,:裝中斷類型碼,從,08H,開始,0UT 21H,AL,;,8259A,接口的奇地址為,21H,MOV AL,9,;裝,ICW4,:緩沖方式,,8086,8088CPU,OUT 21H,AL,MOV AL,0FFH,;裝,0CWl,:,屏蔽全部中斷,OUT 21H,AL,33,例:編寫中斷處理程序,要求主程序運行時,每,10,秒響鈴一次,,同時屏幕上顯示信息“,The bell is ring,!”。(小自動化程序),解:此問題的解決用,VB,或,VC,的控件很容易,但通過底層匯編語言更能看出,解決問題的實質(zhì)。,兩不同:前者是利用了系統(tǒng),后者是修改了系統(tǒng)!,分析:,1,、,每,10,秒響鈴一次,可用電腦中的定時器中斷實現(xiàn),,其中斷號為,08H,。,2,、,響鈴,用并行接口,8255,所控制的電