《8259中斷控制器實(shí)驗(yàn)》的實(shí)驗(yàn)報(bào)告_第1頁(yè)
《8259中斷控制器實(shí)驗(yàn)》的實(shí)驗(yàn)報(bào)告_第2頁(yè)
《8259中斷控制器實(shí)驗(yàn)》的實(shí)驗(yàn)報(bào)告_第3頁(yè)
《8259中斷控制器實(shí)驗(yàn)》的實(shí)驗(yàn)報(bào)告_第4頁(yè)
《8259中斷控制器實(shí)驗(yàn)》的實(shí)驗(yàn)報(bào)告_第5頁(yè)
已閱讀5頁(yè),還剩5頁(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)介

1、實(shí)驗(yàn)六8259中斷控制器實(shí)驗(yàn)6.1 實(shí)驗(yàn)?zāi)康?1) 學(xué)習(xí)中斷控制器8259的工作原理。(2) 掌握可編程控制器8259的應(yīng)用編程方法。6.2 實(shí)驗(yàn)設(shè)備PC微機(jī)一臺(tái)、TD-PIT+實(shí)驗(yàn)系統(tǒng)一套。6.3 實(shí)驗(yàn)內(nèi)容1. 單中斷應(yīng)用實(shí)驗(yàn)(1) 編寫(xiě)中斷處理程序,利用PC機(jī)給實(shí)驗(yàn)系統(tǒng)分配的中斷線,使用單次脈沖單元的KK1+按鍵模擬中斷源,每次PC機(jī)響應(yīng)中斷請(qǐng)求,在顯示器上顯示一個(gè)字符。(2) 編寫(xiě)中斷處理程序,利用PC機(jī)給實(shí)驗(yàn)系統(tǒng)分配的中斷線,使用單次脈沖單元的KK1+按鍵模擬中斷源,每次PC機(jī)響應(yīng)中斷請(qǐng)求,在顯示器上顯示“Hello”,中斷5次后退出。2擴(kuò)展多中斷源實(shí)驗(yàn)利用實(shí)驗(yàn)平臺(tái)上8259控制器對(duì)擴(kuò)

2、展系統(tǒng)總線上的中斷線INTR進(jìn)行擴(kuò)展。編寫(xiě)程序?qū)?259控制器的IR0和IR1中斷請(qǐng)求進(jìn)行處理。6.4實(shí)驗(yàn)原理1.8259控制器的介紹中斷控制器8259A是Intel公司專為控制優(yōu)先級(jí)中斷而設(shè)計(jì)開(kāi)發(fā)的芯片。它將中斷源優(yōu)先級(jí)排隊(duì)、辨別中斷源以及提供中斷矢量的電路集于一片中,因此無(wú)需附加任何電路,只需對(duì)8259A進(jìn)行編程,就可以管理8級(jí)中斷,并選擇優(yōu)先模式和中斷請(qǐng)求方式,即中斷結(jié)構(gòu)可以由用戶編程來(lái)設(shè)定。同時(shí),在不需增加其他電路的情況下,通過(guò)多片8259A的級(jí)連,能構(gòu)成多達(dá)64級(jí)的矢量中斷系統(tǒng)。它的管理功能包括:1)記錄各級(jí)中斷源請(qǐng)求,2)判別優(yōu)先級(jí),確定是否響應(yīng)和響應(yīng)哪一級(jí)中斷,3)響應(yīng)中斷時(shí),向

3、CPU傳送中斷類型號(hào)。8259A的內(nèi)部結(jié)構(gòu)和引腳如圖6-1所示。8259A的命令共有7個(gè),一類是初始化命令字,另一類是操作命令。8259A的編程就是根據(jù)應(yīng)用需要將初始化命令字ICW1-ICW4和操作命令字OCW1-OCW3分別寫(xiě)入初始化命令寄存器組和操作命令寄存器組。ICW1-ICW4各命令字格式如圖6-2所示,OCW1-OCW3各命令字格式如圖6-3所示,其中OCW1用于設(shè)置中斷屏蔽操作字,OCW2用于設(shè)置優(yōu)先級(jí)循環(huán)方式和中斷結(jié)束方式的操作命令字,OCW3用于設(shè)置和撤銷特殊屏蔽方式、設(shè)置中斷查詢方式以及設(shè)置對(duì)KU島案CAS)CABICW1122由。W(8259內(nèi)部寄存器的讀出命令??刂普谒?/p>

4、口弱聯(lián)緩沖器i_k數(shù)據(jù)急錢fss?曠r中斷你5瞬毋初始化4-K存暑阻圖6-18259BttNIR)A音寄izxvj!一內(nèi)部結(jié)構(gòu)和引腳圖03LTIMADI將讓忙JK4JM5SHCL皿IE4|【一崩壯。/相皆整IC1MD3=1j.國(guó)曼IE4"Dl=Oi冬冷級(jí)聯(lián)單片般南DM凡©招觸曳眸h電T觸空6-2(a)ICW1格式A0mD6DOIS8086/鯉 6 不1M中斷類型號(hào)的高5位圖6-2(b)ICW2格式D0匐D7TXOSD4D3132DLDOID21D1IDO從片不可用圖6-2(c)ICW3格式AOD7DftDSTOI>3n2DIDO0a0iSFNMBUFM/SAQluHV

5、t圖6-2(d)ICW4格式:i7D4DIDOA0叵DT0"D&ESMMD5而02VD1rFDD0CW310:復(fù)位特*屏新11:松置特殊尿藤IRKX:10:1:可讀I$R圖6-3OCW命令字格式2.8259寄存器及命令的控制訪問(wèn)在硬件系統(tǒng)中,8259僅占用兩個(gè)外設(shè)接口地址,在片選有效的情況下,利用A0來(lái)尋址不同的寄存器和命令字。對(duì)寄存器和命令的訪問(wèn)控制如表6-1所示。表6-18259寄存器及命令的訪問(wèn)控制D4D3讀信號(hào)00寫(xiě)信號(hào)11片選00操作讀出ISR,IRR的內(nèi)容淳中IMR的內(nèi)容寫(xiě)入OCW2寫(xiě)入OCW3寫(xiě)入ICW1寫(xiě)入OCW1,ICW2,ICW3,ICW43. PC微機(jī)系

6、統(tǒng)中的8259在80x86系列PC微機(jī)系統(tǒng)中,系統(tǒng)中包含了兩片8259A中斷控制器,經(jīng)級(jí)連可以管理15級(jí)硬件中斷,但其中部分中斷號(hào)已經(jīng)被系統(tǒng)硬件占用,具體使用情況如表6-2示。兩片8259A的端口地址為:主片8259使用020H和021H兩個(gè)端口;從片使用0A0H和0A1H兩個(gè)端口。系統(tǒng)初始化兩片8259的中斷請(qǐng)求信號(hào)均采用上升沿觸發(fā),采用全嵌套方式,優(yōu)先級(jí)的排列次序?yàn)?級(jí)最高,依次為1級(jí)、8級(jí)15級(jí),然后是3級(jí)7級(jí)。INTR在擴(kuò)展系統(tǒng)總線上的INTR對(duì)應(yīng)的中斷線就是PC機(jī)保留中斷其中的一個(gè)。對(duì)中斷的初始化PC機(jī)已經(jīng)完成,在使用時(shí)主要是將其中斷屏蔽打開(kāi),修改中斷向量。表6-2PC微機(jī)系統(tǒng)中的硬

7、件中斷中斷號(hào)功能中斷向中斷向量地址主8259AIRQ0日時(shí)鐘/計(jì)數(shù)器008H0020H,,0023H主8259AIRQ1鍵盤(pán)09H0024H-,0027H主8259AIRQ2接從片8259A0AH0028H-,002BH主8259AIRQ3串行口20BH002CH002FH主8259AIRQ4串行口10CH0030H-,0033H主8259AIRQ5弁行口20DH0034H-,0037H主8259AIRQ6軟盤(pán)0EH0038H-,003BH主8259AIRQ7弁行口10FH003CH003FH從8259AIRQ8實(shí)時(shí)鐘70H01C0H01C3H從8259AIRQ9保留71H01C4H01C7H

8、從8259AIRQ10保留72H01C8H01CBH從8259AIRQ11保留73H01CCH01CFH從8259AIRQ12保留74H01D0H01D3H從8259AIRQ13協(xié)處理器中斷75H01D4H01D7H從8259AIRQ14硬盤(pán)控制器76H01D8H01DBH從8259AIRQ15保留77H01DCH01DFH6.5實(shí)驗(yàn)說(shuō)明及步驟1 .單中斷應(yīng)用實(shí)驗(yàn)本實(shí)驗(yàn)要求使用總線上INTR中斷請(qǐng)求線完成一次單中斷應(yīng)用實(shí)驗(yàn)。中斷處理程序完成在屏幕上顯示字符“9”。實(shí)驗(yàn)前先運(yùn)行CHECK程序,得到INTR所對(duì)應(yīng)的中斷號(hào)、相應(yīng)的初始化命令字寄存器ICW及操作命令字寄存器OCW的地址、開(kāi)屏蔽的命令字

9、、中斷矢量地址和PCI卡中斷控制寄存器INTCSR的地址。得到這些信息后就可以開(kāi)始設(shè)計(jì)實(shí)驗(yàn)了。參考程序流程如圖6-5所示。實(shí)驗(yàn)步驟如下。(1)確認(rèn)從PC機(jī)引出的兩根扁平電纜已經(jīng)連接在實(shí)驗(yàn)平臺(tái)上。(2)首先運(yùn)行CHECK程序,查看INTR中斷號(hào)及相關(guān)信息。(3)參考實(shí)驗(yàn)流程圖編寫(xiě)程序,然后編譯鏈接。(4)將單次脈沖單元的KK1+連接到系統(tǒng)總線上的INTR。(5)運(yùn)行程序,按動(dòng)KK1+按鍵,觀察中斷是否產(chǎn)生。2 .擴(kuò)展多中斷源實(shí)驗(yàn)利用實(shí)驗(yàn)平臺(tái)上的8259控制器,可以對(duì)總線上的INTR進(jìn)行擴(kuò)展。將8259的INT連接到INTR,8259的8路中斷請(qǐng)求線IR0IR7就成了單一INTR中斷請(qǐng)求線的擴(kuò)充。

10、這8路中斷源共用INTR的中斷矢量,共用INTR的中斷服務(wù)線程。在INTR的中斷服務(wù)線程中通過(guò)對(duì)8259OCW3的查詢,以確定是IR0IR7中哪個(gè)產(chǎn)生中斷,然后轉(zhuǎn)到相應(yīng)的服務(wù)線程進(jìn)行處理。將8259的OCW3中P位置1即可執(zhí)行查詢,查詢字格式如圖6-6所示。人中:許口斷處猾 史不學(xué)符zBMXFCI !N'XF1斷矢“Xjrlf.1住| 悔 q口斷久TR1C上用出1川)近四劃口口£:改(a)主程序圖6-5 8259 中斷應(yīng)用實(shí)驗(yàn)(b)中斷處理程序(1)參考程序流程圖DTTDB35D4口3D2W2»1wTDQ而0:無(wú)中斷話求1 :育中斷請(qǐng)求W2W1WD:請(qǐng)求中明i中優(yōu)先

11、覆最高的中斷源編碼圖6-68259OCW3查詢命令字格式本實(shí)驗(yàn)要求實(shí)現(xiàn)8259控制器IR0、IR1兩路中斷。用KK1+和KK2+模擬兩個(gè)中斷源,在IR0對(duì)應(yīng)的服務(wù)程序中顯示字符“0”,在IR1對(duì)應(yīng)的服務(wù)程序中顯示字符“i”。實(shí)驗(yàn)程序參考流程如圖6-7所示。參考實(shí)驗(yàn)電路如圖實(shí)驗(yàn)步驟如下:(2)確認(rèn)從PC機(jī)引出的兩根扁平電纜已經(jīng)連接在實(shí)驗(yàn)平臺(tái)上。首先運(yùn)行CHECK程序,查看INTR中斷號(hào)及相關(guān)信息。參考實(shí)驗(yàn)流程圖編寫(xiě)程序,然后編譯鏈接。參考實(shí)驗(yàn)接線圖連接實(shí)驗(yàn)電路。運(yùn)行程序,按動(dòng)KK1+、KK2+按鍵,觀察中斷響應(yīng)是否正常。(a)主程序(b)中斷處理程序圖6-78259中斷應(yīng)用實(shí)驗(yàn)(2)參考程序流程

12、圖圖6-88259中斷應(yīng)用實(shí)驗(yàn)(2)參考接線圖6.6思考題1 .在編程過(guò)程中,用到了哪些操作命令字?2 .在執(zhí)行中斷服務(wù)程序之前,保存了哪些斷點(diǎn)?為什么?單一中斷應(yīng)用實(shí)驗(yàn)參考程序根據(jù) CHECK 配置信息修改下列符號(hào)值*INTR_IVADDEQU_H;INTRINTR_OCW1EQU_H;INTRINTR_OCW2EQU_H;INTRINTR_IMEQU_H;INTRPCI_INTCSREQUH;PCISTACK1SEGMENTSTACK.*對(duì)應(yīng)的中斷矢量地址對(duì)應(yīng)PC機(jī)內(nèi)部8259的OCW1地址對(duì)應(yīng)PC機(jī)內(nèi)部8259的OCW2地址對(duì)應(yīng)的中斷屏蔽字卡中斷控制寄存器地址; 保存INTR 原中斷處理

13、程序入口段地址的變量;保存INTR 原中斷處理程序入口偏移地址的變量;保存 INTR 原中斷屏蔽字的變量初始化 PCI 卡中斷控制寄存器向 PCI_INTCSR 中寫(xiě)入 003F1F00H替換INTR 的中斷矢量保存INTR 原中斷處理程序入口偏移地址設(shè)置當(dāng)前中斷處理程序入口偏移地址保存 INTR 原中斷處理程序入口段地址設(shè)置當(dāng)前中斷處理程序入口段地址設(shè)置中斷屏蔽寄存器,打開(kāi)INTR 的屏蔽位保存 INTR 原中斷屏蔽字DW256DUP(?)STACK1ENDSDATASEGMENTCS_BAKDW?IP_BAKDW?IM_BAKDB?DATAENDSCODESEGMENTASSUMECS:C

14、ODE,DS:DATASTART:MOVAX,DATAMOVDS,AXCLIMOVDX,PCI_INTCSRSUBDX,19HINAL,DXMOVDX,PCI_INTCSRMOVAX,1F00HOUTDX,AXADDDX,2MOVAX,003FHOUTDX,AXMOVAX,0000HMOVES,AXMOVDI,INTR_IVADDMOVAX,ES:DIMOVIP_BAK,AXMOVAX,OFFSETMYISRMOVES:DI,AXADDDI,2MOVAX,ES:DIMOVCS_BAK,AXMOVAX,SEGMYISRMOVES:DI,AXMOVDX,INTR_OCW1INAL,DXMOVIM_

15、BAK,ALANDAL,INTR_IMOUTDX,ALSTIWAIT1:MOVAH,1INT16HJZWAIT1;QUIT:CLIMOVDX,PCI_INTCSRMOVAX,0000HOUTDX,AXMOVAX,0000HMOVES,AXMOVDI,INTR_IVADDMOVAX,IP_BAKMOVES:DI,AXADDDI,2MOVAX,CS_BAKMOVES:DI,AXMOVDX,INTR_OCW1MOVAL,IM_BAKOUTDX,ALSTIMOVAX,4C00HINT21HMYISRPROCNEARMOVAL,39HMOVAH,0EHINT10HMOVAL,20HINT10HOVER:MOVDX,PCI_INTCSRSUBDX,19HINAL,DXMOVDX,PCI_INTCSR;ADDDX,2MOVAX,003FHOUTDX,A

溫馨提示

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