8259中斷控制實驗報告_第1頁
8259中斷控制實驗報告_第2頁
8259中斷控制實驗報告_第3頁
8259中斷控制實驗報告_第4頁
8259中斷控制實驗報告_第5頁
已閱讀5頁,還剩5頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領

文檔簡介

8259中斷控制實驗一.實驗目的1.掌握8259中斷控制器的工作原理。2.掌握系統(tǒng)總線上IR1,IR2中斷請求的應用編程方法。二.實驗設備IA-32架構(gòu)的微機系統(tǒng)及應用教學平臺一套。三.實驗原理3.1中斷控制器8259簡介中斷控制器8259是Intel公司專為控制優(yōu)先級中斷而設計開發(fā)的芯片。它將中斷源優(yōu)先級排隊、辨別中斷源以及提供中斷矢量的電路集于一片中,因此無需附加任何電路,只需對8259進行編程,就可以管理8級中斷,并選擇優(yōu)先模式和中斷請求方式,即中斷結(jié)構(gòu)可以由用戶編程來設定。同時,在不需增加其他電路的情況下,通過多片8259的級連,能構(gòu)成多達64級的矢量中斷系統(tǒng)。它的管理功能包括:1)記錄各級中斷源請求,2)判別優(yōu)先級,確定是否響應和響應哪一級中斷,3)響應中斷時,向CPU傳送中斷類型號。8259的內(nèi)部結(jié)構(gòu)和引腳如圖1所示。圖18259內(nèi)部結(jié)構(gòu)和引腳圖8259的命令共有7個,一類是初始化命令字,另一類是操作命令。8259的編程就是根據(jù)應用需要將初始化命令字ICW1-ICW4和操作命令字OCW1-OCW3分別寫入初始化命令寄存器組和操作命令寄存器組。ICW1-ICW4各命令字格式如圖2所示,OCW1-OCW3各命令字格式如圖3所示,其中OCW1用于設置中斷屏蔽操作字,OCW2用于設置優(yōu)先級循環(huán)方式和中斷結(jié)束方式的操作命令字,OCW3用于設置和撤銷特殊屏蔽方式、設置中斷查詢方式以及設置對8259內(nèi)部寄存器的讀出命令。圖2(a)ICW1格式圖2(b)ICW2格式圖2(c)ICW3格式圖2(d)ICW4格式圖3OCW命令字格式3.28259寄存器及命令的控制訪問在硬件系統(tǒng)中,8259僅占用兩個外設接口地址,在片選有效的情況下,利用A0來尋址不同的寄存器和命令字。對寄存器和命令的訪問控制如表1所示。表18259寄存器及命令的訪問控制3.3EPC微機系統(tǒng)中的8259在80x86系列EPC微機系統(tǒng)中,系統(tǒng)中包含了兩片8259中斷控制器,經(jīng)級連可以管理15級硬件中斷,但其中部分中斷號已經(jīng)被系統(tǒng)硬件占用,具體使用情況如表2示。兩片8259的端口地址為:主片8259使用020H和021H兩個端口;從片使用0A0H和0A1H兩個端口。系統(tǒng)初始化兩片8259的中斷請求信號均采用上升沿觸發(fā),采用全嵌套方式,優(yōu)先級的排列次序為0級最高,依次為1級、8級~15級,然后是3級~7級。在實驗平臺上系統(tǒng)總線單元的IR1,IR2信號對應的中斷線就是系統(tǒng)8259中斷控制器的IRQ10,IRQ7。表2EPC微機系統(tǒng)中的硬件中斷四.實驗內(nèi)容、步驟、程序及現(xiàn)象4.1IRQ單中斷應用實驗⑴實驗內(nèi)容:系統(tǒng)總線單元的IR1中斷請求信號對應EPC內(nèi)部的IRQ10中斷。IR1產(chǎn)生一個上升沿的中斷請求,EPC內(nèi)部相應的那級中斷就會得到響應。所以,使用IR1中斷請求信號,就相當在使用PC機內(nèi)部相應的IRQ10中斷。本實驗要求使用總線上IR1中斷請求線完成一次單中斷應用實驗。用單次脈沖上升沿模擬中斷源,中斷處理程序完成在屏幕上的顯示字符“1”。⑵實驗步驟:①、實驗接線圖如圖4所示,按圖接線。②、運行Tdpit集成操作軟件,編寫程序,編譯、鏈接。③、使用運行命令運行程序,重復按單次脈沖開關KK1+,顯示屏會顯示字符“1”,說明響應了中斷。圖48259單中斷實驗接線圖⑶實驗程序:IRQ_IVADDEQU01C8H;IRQ10對應的中斷矢量地址IRQ_OCW1EQU0A1H;IRQ10對應PC機內(nèi)部8259的OCW1地址IRQ_OCW2EQU0A0H;IRQ10對應PC機內(nèi)部8259的OCW2地址IRQ_IMEQU0FBH;IRQ10對應的中斷屏蔽字STACK1SEGMENTSTACKDW256DUP(?)STACK1ENDSDATASEGMENTMESDB'Pressanykeytoexit!',0AH,0DH,0AH,0DH,'$'CS_BAKDW?;保存IRQ10原中斷處理程序入口段地址的變量IP_BAKDW?;保存IRQ10原中斷處理程序入口偏移地址的變量IM_BAKDB?;保存IRQ10原中斷屏蔽字的變量DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXMOVDX,OFFSETMES;顯示退出提示MOVAH,09H INT21H CLIMOVAX,0000H;替換IRQ10的中斷矢量MOVES,AXMOVDI,IRQ_IVADDMOVAX,ES:[DI]MOVIP_BAK,AX;保存IRQ10原中斷處理程序入口偏移地址MOVAX,OFFSETMYISRMOVES:[DI],AX;設置當前中斷處理程序入口偏移地址ADDDI,2MOVAX,ES:[DI]MOVCS_BAK,AX;保存IRQ10原中斷處理程序入口段地址MOVAX,SEGMYISRMOVES:[DI],AX;設置當前中斷處理程序入口段地址MOVDX,IRQ_OCW1;設置中斷屏蔽寄存器,打開IRQ10的屏蔽位INAL,DXMOVIM_BAK,AL;保存IRQ10原中斷屏蔽字ANDAL,IRQ_IMOUTDXSTIWAIT1:MOVAH,1;判斷是否有按鍵按下INT16HJZWAIT1;無按鍵則跳回繼續(xù)等待,有則退出QUIT:CLIMOVAX,0000H;恢復IRQ10原中斷矢量MOVES,AXMOVDI,IRQ_IVADDMOVAX,IP_BAK;恢復IRQ10原中斷處理程序入口偏移地址MOVES:[DI],AXADDDI,2MOVAX,CS_BAK;恢復IRQ10原中斷處理程序入口段地址MOVES:[DI],AXMOVDX,IRQ_OCW1;恢復IRQ10原中斷屏蔽寄存器的屏蔽字MOVAL,IM_BAKOUTDXSTIMOVAX,4C00H;返回到DOSINT21HMYISRPROCNEAR;中斷處理程序MYISRPUSHAXMOVDL,'1'MOVAH,1INT21hMOVDL,''INT21HOVER:MOVDX,IRQ_OCW2;向PC機內(nèi)部8259發(fā)送中斷結(jié)束命令MOVAL,20HOUTDXMOVAL,20HOUT20H,ALPOPAXIRETMYISRENDPCODEENDSENDSTART⑷實驗現(xiàn)象:按圖接好線并編好程序,編譯連接完畢后,屏幕上先出現(xiàn)語句“Pressanykeytoexit!”,當按單次脈沖開關KK+1時,屏幕上出現(xiàn)數(shù)字“1”;不按時為空格;而按下鍵盤上的任意鍵,則會出現(xiàn)語句“Pressanykeytocontinue…”4.2級聯(lián)中斷實驗⑴實驗內(nèi)容:本實驗要求實現(xiàn)IR1、IR2兩路中斷都可以向EPC發(fā)起中斷請求。用KK1+和KK2+模擬兩個中斷源,在IR1對應的服務程序中顯示字符“1”,在IR2對應的服務程序中顯示字符“2”。⑵實驗步驟:①、實驗接線圖如圖5所示,按圖接線。②、運行Tdpit集成操作軟件,編寫程序,編譯、鏈接。③、使用運行命令運行程序,按動KK1+、KK2+按鍵,觀察中斷是否產(chǎn)生。圖5級聯(lián)中斷實驗接線圖⑶實驗程序IRQ_IVADDEQU01C8H;IRQ10對應的中斷矢量地址01C8HIRQ_OCW1EQU0a1H;IRQ10對應PC機內(nèi)部8259的OCW1地址IRQ_OCW2EQU0a0H;IRQ10對應PC機內(nèi)部8259的OCW2地址IRQ_IMEQU0FBH;IRQ10對應的中斷屏蔽字0FBHIRQ2_IVADDEQU003CH;IRQ7對應的中斷矢量地址003CHIRQ2_OCW1EQU021H;IRQ7對應PC機內(nèi)部8259的OCW1地址IRQ2_OCW2EQU020H;IRQ7對應PC機內(nèi)部8259的OCW2地址IRQ2_IMEQU07FH;IRQ7對應的中斷屏蔽字07FHSTACK1SEGMENTSTACKDW256DUP(?)STACK1ENDSDATASEGMENTMESDB'Pressanykeytoexit!',0AH,0DH,0AH,0DH,'$'CS_BAKDW?;保存IRQ原中斷處理程序入口段地址的變量IP_BAKDW?;保存IRQ原中斷處理程序入口偏移地址的變量IM_BAKDB?;保存IRQ原中斷屏蔽字的變量DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXMOVDX,OFFSETMES;顯示退出提示 MOVAH,09H INT21H CLIMOVAX,0000H;替換IRQ10的中斷矢量MOVES,AXMOVDI,IRQ_IVADDMOVAX,ES:[DI]MOVIP_BAK,AX;保存IRQ10原中斷處理程序入口偏移地址MOVAX,OFFSETMYISRMOVES:[DI],AX;設置當前中斷處理程序入口偏移地址ADDDI,2MOVAX,ES:[DI]MOVCS_BAK,AX;保存IRQ10原中斷處理程序入口段地址MOVAX,SEGMYISRMOVES:[DI],AX;設置當前中斷處理程序入口段地址MOVDX,IRQ_OCW1;設置中斷屏蔽寄存器,打開IRQ10的屏蔽位INAL,DXMOVIM_BAK,AL;保存IRQ10原中斷屏蔽字ANDAL,IRQ_IMOUTDXSTIMOVAX,0000H;替換IRQ7的中斷矢量MOVES,AXMOVDI,IRQ2_IVADDMOVAX,ES:[DI]MOVIP_BAK,AX;保存IRQ7原中斷處理程序入口偏移地址MOVAX,OFFSETMYISR2MOVES:[DI],AX;設置當前中斷處理程序入口偏移地址ADDDI,2MOVAX,ES:[DI]MOVCS_BAK,AX;保存IRQ7原中斷處理程序入口段地址MOVAX,SEGMYISR2MOVES:[DI],AX;設置當前中斷處理程序入口段地址MOVDX,IRQ2_OCW1;設置中斷屏蔽寄存器,打開IRQ7的屏蔽位INAL,DXMOVIM_BAK,AL;保存IRQ7原中斷屏蔽字ANDAL,IRQ2_IMOUTDXSTIWAIT1:MOVAH,1;判斷是否有按鍵按下INT16HJZWAIT1;無按鍵則跳回繼續(xù)等待,有則退出QUIT:CLIMOVAX,0000H;恢復IRQ10原中斷矢量MOVES,AXMOVDI,IRQ_IVADDMOVAX,IP_BAK;恢復IRQ10原中斷處理程序入口偏移地址MOVES:[DI],AXADDDI,2MOVAX,CS_BAK;恢復IRQ10原中斷處理程序入口段地址MOVES:[DI],AXMOVDX,IRQ_OCW1;恢復IRQ10原中斷屏蔽寄存器的屏蔽字MOVAL,IM_BAKOUTDXSTIMOVAX,4C00H;返回到DOSINT21HQUIT2:CLIMOVAX,0000H;恢復IRQ7原中斷矢量MOVES,AXMOVDI,IRQ2_IVADDMOVAX,IP_BAK;恢復IRQ7原中斷處理程序入口偏移地址MOVES:[DI],AXADDDI,2MOVAX,CS_BAK;恢復IRQ7原中斷處理程序入口段地址MOVES:[DI],AXMOVDX,IRQ2_OCW1;恢復IRQ7原中斷屏蔽寄存器的屏蔽字MOVAL,IM_BAKOUTDXSTIMOVAX,4C00H;返回到DO

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論