資源描述:
《實(shí)驗(yàn)二--中斷控制電路實(shí)驗(yàn).doc》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、實(shí)驗(yàn)二中斷控制電路實(shí)驗(yàn)一.實(shí)驗(yàn)?zāi)康?.學(xué)習(xí)單片機(jī)的中斷控制原理。2.編程中斷控制器。二.實(shí)驗(yàn)環(huán)境硬件環(huán)境:奔3以上處理器,512MB以上內(nèi)存空間軟件環(huán)境:windowsXP以上操作系統(tǒng),emu8086編譯環(huán)境,Proteus7.5sp3。三.實(shí)驗(yàn)內(nèi)容與完成情況1.實(shí)驗(yàn)電路圖2.實(shí)驗(yàn)原理8259中斷控制器是專為控制優(yōu)先級中斷設(shè)計(jì)的芯片。它將中斷源優(yōu)先級排隊(duì),辯別中斷源以及提供中斷矢量的電路集于一片中。因此無需附加任何電路,只需對8259進(jìn)行編程,就可以管理8級中斷,并選擇優(yōu)行模式和中斷請求方式,即中斷結(jié)構(gòu)可以由用戶編程來設(shè)定。同時(shí),
2、在不需要增加其它電路的情況下,通過多片8259的級聯(lián),能構(gòu)成多達(dá)64級的矢量中斷系統(tǒng)。(1)寫初始化命令字*寫初始化命令字ICW1(A0=0),以確定中斷請求信號類型,清除中斷屏蔽寄存器,中斷優(yōu)先級排隊(duì)和確定系統(tǒng)用單片還是多片。*寫初始化命令字ICW2,以定義中斷向量的高五位類型碼。*寫初始化命令字ICW3,以定義主片8259A中斷請求線上IR0~IR7有無級聯(lián)的8259A從片。第i位=0,表明IRi引腳上無從片第i位=1,表明IRi引腳上有從片*寫初始化命令I(lǐng)CW4,用來定義8259A工作時(shí)用8085模式,還是8088模式,以及
3、中斷服務(wù)寄存器復(fù)位方式等。(2)寫控制命令字*寫操作命令字0CW1,用來設(shè)置或清除對中斷源的屏蔽。第i位=0,對應(yīng)的中斷請求IRi開放第i位=1,對應(yīng)的中斷請求IRi屏蔽注:OCW1如不寫,則在初始化命令寫入后,OCW1為全開放狀態(tài)。*操作命令字OCW2,設(shè)置優(yōu)先級是否進(jìn)行循環(huán)、循環(huán)方式及中斷結(jié)束方式。注:8259A復(fù)位時(shí)自動(dòng)設(shè)置IR0優(yōu)先權(quán)最高,IR7優(yōu)先權(quán)最低。*操作命令字OCW3,設(shè)置查詢方式、特殊屏蔽方式以及讀取8259中斷寄存器的當(dāng)前狀態(tài)。(3)8259A查詢字通過OCW3命令字的設(shè)置,可使CPU處于查詢方式,隨時(shí)查詢8
4、259A有否中斷請求,有則轉(zhuǎn)入相應(yīng)的中斷服務(wù)程序。2.編程中斷控制制器STACKSEGMENTSTACKDB200DUP(0)STACKENDSDATASEGMENTCNTDB1DATAENDScodeSEGMENT'code'assumeCS:code,DS:datastart:MOVAX,DATAMOVDS,AXCLIMOVAX,0MOVES,AXMOVSI,60H*4MOVAX,OFFSETint0MOVES:[SI],AXMOVAX,CSMOVES:[SI+2],AXMOVAL,00010011bMOVDX,400HOUT
5、DX,ALMOVAL,060hMOVDX,402hOUTDX,ALMOVAL,1bhOUTDX,ALMOVDX,402hMOVAL,00hOUTDX,ALMOVAL,20HOUT20H,ALMOVAL,cntMOVDX,0200HOUTDX,ALSTIli:MOVDX,400HMOVAL,60h;OUTDX,ALJMPliint0:CLIMOVAL,cntROLAL,1MOVcnt,ALMOVDX,0200hOUTDX,ALSTIIRETcodeENDSENDstart三.出現(xiàn)的問題1.無法理清電路元件之間的關(guān)系。2.編譯中斷控制
6、程序出現(xiàn)大量錯(cuò)誤。四.對問題的解決方法1.通過查閱書籍知道了電子元件之間基本的信息傳遞。2.通過參考其他程序,不斷修正錯(cuò)誤。