




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
8259中斷控制實(shí)驗(yàn)一.實(shí)驗(yàn)?zāi)康?.掌握8259中斷控制器的工作原理。2.掌握系統(tǒng)總線上IR1,IR2中斷請(qǐng)求的應(yīng)用編程方法。二.實(shí)驗(yàn)設(shè)備IA-32架構(gòu)的微機(jī)系統(tǒng)及應(yīng)用教學(xué)平臺(tái)一套。三.實(shí)驗(yàn)原理3.1中斷控制器8259簡(jiǎn)介中斷控制器8259是Intel公司專為控制優(yōu)先級(jí)中斷而設(shè)計(jì)開(kāi)發(fā)的芯片。它將中斷源優(yōu)先級(jí)排隊(duì)、辨別中斷源以及提供中斷矢量的電路集于一片中,因此無(wú)需附加任何電路,只需對(duì)8259進(jìn)行編程,就可以管理8級(jí)中斷,并選擇優(yōu)先模式和中斷請(qǐng)求方式,即中斷結(jié)構(gòu)可以由用戶編程來(lái)設(shè)定。同時(shí),在不需增加其他電路的情況下,通過(guò)多片8259的級(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í),向CPU傳送中斷類型號(hào)。8259的內(nèi)部結(jié)構(gòu)和引腳如圖1所示。圖18259內(nèi)部結(jié)構(gòu)和引腳圖8259的命令共有7個(gè),一類是初始化命令字,另一類是操作命令。8259的編程就是根據(jù)應(yīng)用需要將初始化命令字ICW1-ICW4和操作命令字OCW1-OCW3分別寫(xiě)入初始化命令寄存器組和操作命令寄存器組。ICW1-ICW4各命令字格式如圖2所示,OCW1-OCW3各命令字格式如圖3所示,其中OCW1用于設(shè)置中斷屏蔽操作字,OCW2用于設(shè)置優(yōu)先級(jí)循環(huán)方式和中斷結(jié)束方式的操作命令字,OCW3用于設(shè)置和撤銷特殊屏蔽方式、設(shè)置中斷查詢方式以及設(shè)置對(duì)8259內(nèi)部寄存器的讀出命令。圖2(a)ICW1格式圖2(b)ICW2格式圖2(c)ICW3格式圖2(d)ICW4格式圖3OCW命令字格式3.28259寄存器及命令的控制訪問(wèn)在硬件系統(tǒng)中,8259僅占用兩個(gè)外設(shè)接口地址,在片選有效的情況下,利用A0來(lái)尋址不同的寄存器和命令字。對(duì)寄存器和命令的訪問(wèn)控制如表1所示。表18259寄存器及命令的訪問(wèn)控制3.3EPC微機(jī)系統(tǒng)中的8259在80x86系列EPC微機(jī)系統(tǒng)中,系統(tǒng)中包含了兩片8259中斷控制器,經(jīng)級(jí)連可以管理15級(jí)硬件中斷,但其中部分中斷號(hào)已經(jīng)被系統(tǒng)硬件占用,具體使用情況如表2示。兩片8259的端口地址為:主片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í)。在實(shí)驗(yàn)平臺(tái)上系統(tǒng)總線單元的IR1,IR2信號(hào)對(duì)應(yīng)的中斷線就是系統(tǒng)8259中斷控制器的IRQ10,IRQ7。表2EPC微機(jī)系統(tǒng)中的硬件中斷四.實(shí)驗(yàn)內(nèi)容、步驟、程序及現(xiàn)象4.1IRQ單中斷應(yīng)用實(shí)驗(yàn)⑴實(shí)驗(yàn)內(nèi)容:系統(tǒng)總線單元的IR1中斷請(qǐng)求信號(hào)對(duì)應(yīng)EPC內(nèi)部的IRQ10中斷。IR1產(chǎn)生一個(gè)上升沿的中斷請(qǐng)求,EPC內(nèi)部相應(yīng)的那級(jí)中斷就會(huì)得到響應(yīng)。所以,使用IR1中斷請(qǐng)求信號(hào),就相當(dāng)在使用PC機(jī)內(nèi)部相應(yīng)的IRQ10中斷。本實(shí)驗(yàn)要求使用總線上IR1中斷請(qǐng)求線完成一次單中斷應(yīng)用實(shí)驗(yàn)。用單次脈沖上升沿模擬中斷源,中斷處理程序完成在屏幕上的顯示字符“1”。⑵實(shí)驗(yàn)步驟:①、實(shí)驗(yàn)接線圖如圖4所示,按圖接線。②、運(yùn)行Tdpit集成操作軟件,編寫(xiě)程序,編譯、鏈接。③、使用運(yùn)行命令運(yùn)行程序,重復(fù)按單次脈沖開(kāi)關(guān)KK1+,顯示屏?xí)@示字符“1”,說(shuō)明響應(yīng)了中斷。圖48259單中斷實(shí)驗(yàn)接線圖⑶實(shí)驗(yàn)程序:IRQ_IVADDEQU01C8H;IRQ10對(duì)應(yīng)的中斷矢量地址IRQ_OCW1EQU0A1H;IRQ10對(duì)應(yīng)PC機(jī)內(nèi)部8259的OCW1地址IRQ_OCW2EQU0A0H;IRQ10對(duì)應(yīng)PC機(jī)內(nèi)部8259的OCW2地址IRQ_IMEQU0FBH;IRQ10對(duì)應(yīng)的中斷屏蔽字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;設(shè)置當(dāng)前中斷處理程序入口偏移地址ADDDI,2MOVAX,ES:[DI]MOVCS_BAK,AX;保存IRQ10原中斷處理程序入口段地址MOVAX,SEGMYISRMOVES:[DI],AX;設(shè)置當(dāng)前中斷處理程序入口段地址MOVDX,IRQ_OCW1;設(shè)置中斷屏蔽寄存器,打開(kāi)IRQ10的屏蔽位INAL,DXMOVIM_BAK,AL;保存IRQ10原中斷屏蔽字ANDAL,IRQ_IMOUTDXSTIWAIT1:MOVAH,1;判斷是否有按鍵按下INT16HJZWAIT1;無(wú)按鍵則跳回繼續(xù)等待,有則退出QUIT:CLIMOVAX,0000H;恢復(fù)IRQ10原中斷矢量MOVES,AXMOVDI,IRQ_IVADDMOVAX,IP_BAK;恢復(fù)IRQ10原中斷處理程序入口偏移地址MOVES:[DI],AXADDDI,2MOVAX,CS_BAK;恢復(fù)IRQ10原中斷處理程序入口段地址MOVES:[DI],AXMOVDX,IRQ_OCW1;恢復(fù)IRQ10原中斷屏蔽寄存器的屏蔽字MOVAL,IM_BAKOUTDXSTIMOVAX,4C00H;返回到DOSINT21HMYISRPROCNEAR;中斷處理程序MYISRPUSHAXMOVDL,'1'MOVAH,1INT21hMOVDL,''INT21HOVER:MOVDX,IRQ_OCW2;向PC機(jī)內(nèi)部8259發(fā)送中斷結(jié)束命令MOVAL,20HOUTDXMOVAL,20HOUT20H,ALPOPAXIRETMYISRENDPCODEENDSENDSTART⑷實(shí)驗(yàn)現(xiàn)象:按圖接好線并編好程序,編譯連接完畢后,屏幕上先出現(xiàn)語(yǔ)句“Pressanykeytoexit!”,當(dāng)按單次脈沖開(kāi)關(guān)KK+1時(shí),屏幕上出現(xiàn)數(shù)字“1”;不按時(shí)為空格;而按下鍵盤(pán)上的任意鍵,則會(huì)出現(xiàn)語(yǔ)句“Pressanykeytocontinue…”4.2級(jí)聯(lián)中斷實(shí)驗(yàn)⑴實(shí)驗(yàn)內(nèi)容:本實(shí)驗(yàn)要求實(shí)現(xiàn)IR1、IR2兩路中斷都可以向EPC發(fā)起中斷請(qǐng)求。用KK1+和KK2+模擬兩個(gè)中斷源,在IR1對(duì)應(yīng)的服務(wù)程序中顯示字符“1”,在IR2對(duì)應(yīng)的服務(wù)程序中顯示字符“2”。⑵實(shí)驗(yàn)步驟:①、實(shí)驗(yàn)接線圖如圖5所示,按圖接線。②、運(yùn)行Tdpit集成操作軟件,編寫(xiě)程序,編譯、鏈接。③、使用運(yùn)行命令運(yùn)行程序,按動(dòng)KK1+、KK2+按鍵,觀察中斷是否產(chǎn)生。圖5級(jí)聯(lián)中斷實(shí)驗(yàn)接線圖⑶實(shí)驗(yàn)程序IRQ_IVADDEQU01C8H;IRQ10對(duì)應(yīng)的中斷矢量地址01C8HIRQ_OCW1EQU0a1H;IRQ10對(duì)應(yīng)PC機(jī)內(nèi)部8259的OCW1地址IRQ_OCW2EQU0a0H;IRQ10對(duì)應(yīng)PC機(jī)內(nèi)部8259的OCW2地址IRQ_IMEQU0FBH;IRQ10對(duì)應(yīng)的中斷屏蔽字0FBHIRQ2_IVADDEQU003CH;IRQ7對(duì)應(yīng)的中斷矢量地址003CHIRQ2_OCW1EQU021H;IRQ7對(duì)應(yīng)PC機(jī)內(nèi)部8259的OCW1地址IRQ2_OCW2EQU020H;IRQ7對(duì)應(yīng)PC機(jī)內(nèi)部8259的OCW2地址IRQ2_IMEQU07FH;IRQ7對(duì)應(yīng)的中斷屏蔽字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;設(shè)置當(dāng)前中斷處理程序入口偏移地址ADDDI,2MOVAX,ES:[DI]MOVCS_BAK,AX;保存IRQ10原中斷處理程序入口段地址MOVAX,SEGMYISRMOVES:[DI],AX;設(shè)置當(dāng)前中斷處理程序入口段地址MOVDX,IRQ_OCW1;設(shè)置中斷屏蔽寄存器,打開(kāi)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;設(shè)置當(dāng)前中斷處理程序入口偏移地址ADDDI,2MOVAX,ES:[DI]MOVCS_BAK,AX;保存IRQ7原中斷處理程序入口段地址MOVAX,SEGMYISR2MOVES:[DI],AX;設(shè)置當(dāng)前中斷處理程序入口段地址MOVDX,IRQ2_OCW1;設(shè)置中斷屏蔽寄存器,打開(kāi)IRQ7的屏蔽位INAL,DXMOVIM_BAK,AL;保存IRQ7原中斷屏蔽字ANDAL,IRQ2_IMOUTDXSTIWAIT1:MOVAH,1;判斷是否有按鍵按下INT16HJZWAIT1;無(wú)按鍵則跳回繼續(xù)等待,有則退出QUIT:CLIMOVAX,0000H;恢復(fù)IRQ10原中斷矢量MOVES,AXMOVDI,IRQ_IVADDMOVAX,IP_BAK;恢復(fù)IRQ10原中斷處理程序入口偏移地址MOVES:[DI],AXADDDI,2MOVAX,CS_BAK;恢復(fù)IRQ10原中斷處理程序入口段地址MOVES:[DI],AXMOVDX,IRQ_OCW1;恢復(fù)IRQ10原中斷屏蔽寄存器的屏蔽字MOVAL,IM_BAKOUTDXSTIMOVAX,4C00H;返回到DOSINT21HQUIT2:CLIMOVAX,0000H;恢復(fù)IRQ7原中斷矢量MOVES,AXMOVDI,IRQ2_IVADDMOVAX,IP_BAK;恢復(fù)IRQ7原中斷處理程序入口偏移地址MOVES:[DI],AXADDDI,2MOVAX,CS_BAK;恢復(fù)IRQ7原中斷處理程序入口段地址MOVES:[DI],AXMOVDX,IRQ2_OCW1;恢復(fù)IRQ7原中斷屏蔽寄存器的屏蔽字MOVAL,IM_BAKOUTDXSTIMOVAX,4C00H;返回到DO
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 咖啡收購(gòu)協(xié)議書(shū)范本
- 商丘租房整租合同協(xié)議
- 商品回扣合同協(xié)議
- 品質(zhì)協(xié)議書(shū)格式
- 售電服務(wù)合同協(xié)議
- 商品房認(rèn)購(gòu)協(xié)議換合同
- 母親養(yǎng)老協(xié)議書(shū)范本
- 微信代理協(xié)議合同協(xié)議
- 商務(wù)預(yù)付款合同協(xié)議
- 歐式風(fēng)格裝修合同協(xié)議
- 銷售部長(zhǎng)助理崗位職責(zé)
- ISOTS 22163專題培訓(xùn)考試
- 六年級(jí)下冊(cè)數(shù)學(xué)課件-第4單元 比例 整理和復(fù)習(xí) 人教版(共21張PPT)
- JJF(魯) 142-2022 稱重式雨量計(jì)校準(zhǔn)規(guī)范
- Adobe-Illustrator-(Ai)基礎(chǔ)教程
- 程序的運(yùn)行結(jié)果PPT學(xué)習(xí)教案
- 圓柱鋼模計(jì)算書(shū)
- 合成寶石特征x
- 查擺問(wèn)題及整改措施
- 年度研發(fā)費(fèi)用專項(xiàng)審計(jì)報(bào)告模板(共22頁(yè))
- 隧道工程隧道支護(hù)結(jié)構(gòu)設(shè)計(jì)實(shí)用教案
評(píng)論
0/150
提交評(píng)論