版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
微機(jī)原理實(shí)驗(yàn)報(bào)告姓名:學(xué)號(hào):
實(shí)驗(yàn)一8259中斷實(shí)驗(yàn)一、實(shí)驗(yàn)?zāi)康?.掌握PC機(jī)中斷處理系統(tǒng)的基本原理。2.掌握外部擴(kuò)展中斷源的設(shè)計(jì)方法。3.學(xué)會(huì)編寫中斷服務(wù)程序。二、實(shí)驗(yàn)原理PC機(jī)用戶可使用的硬件中斷只有可屏蔽中斷,由8259中斷控制器管理。中斷控制器用于接收外部的中斷請(qǐng)求信號(hào),經(jīng)過優(yōu)先級(jí)判別等處理后向CPU發(fā)出可屏蔽中斷請(qǐng)求。三、實(shí)驗(yàn)內(nèi)容實(shí)驗(yàn)要求實(shí)現(xiàn)8259控制器的IR1、IR3兩路中斷都可以通過IRQ向PC機(jī)發(fā)起中斷請(qǐng)求,用SP1、SP2單次脈沖模擬兩個(gè)中斷源。IR1中斷時(shí),在它的中斷服務(wù)程序中編程顯示“IR1OKANDEXIT!”;IR3中斷時(shí),在它的中斷服務(wù)程序中編程顯示“IR3OKANDEXIT!”。采用查詢方式完成。圖1-1擴(kuò)展中斷電路四、實(shí)驗(yàn)步驟1、連接線路SP1和SP2分別接到IR1和IR3,IR1和IR3與L0和L1指示燈相連,8259CS接到Y(jié)0上,最后將/RD、/WR、INT分別與IOR、IOW、IRQ相連接,連接好后打開電源。2、編寫程序3、匯編、編譯、連接及運(yùn)行五、實(shí)驗(yàn)程序DATASEGMENTIOPORT EQU0FF00H-0280HMY8259_ICW1EQUIOPORT+280H;實(shí)驗(yàn)系統(tǒng)中8259的ICW1端口地址MY8259_ICW2EQUIOPORT+281H;實(shí)驗(yàn)系統(tǒng)中8259的ICW2端口地址MY8259_ICW3EQUIOPORT+281H;實(shí)驗(yàn)系統(tǒng)中8259的ICW3端口地址MY8259_ICW4EQUIOPORT+281H;實(shí)驗(yàn)系統(tǒng)中8259的ICW4端口地址MY8259_OCW1EQUIOPORT+281H;實(shí)驗(yàn)系統(tǒng)中8259的OCW1端口地址MY8259_OCW2EQUIOPORT+280H;實(shí)驗(yàn)系統(tǒng)中8259的OCW2端口地址MY8259_OCW3EQUIOPORT+280H;實(shí)驗(yàn)系統(tǒng)中8259的OCW3端口地址MSG1DB0DH,0AH,'DVCCPCICARDINTERRUPT',0DH,0AH,'$'MSG2DB0DH,0AH,'PRESSANYKEYTOEXIT!',0DH,0AH,'$'MSG3DB0DH,0AH,'IR1OKANDEXIT!',0DH,0AH,'$'MSG4DB0DH,0AH,'IR3OKANDEXIT!',0DH,0AH,'$'DATAENDSSTACKSSEGMENT DB100DUP(?)STACKSENDSCODESEGMENTASSUMECS:CODE,DS:DATA,SS:STACKS,ES:DATASTART:MOVAX,DATAMOVDS,AXMOVES,AXMOVAX,STACKS MOVSS,AX MOVAX,DATAMOVDS,AXMOVDX,OFFSETMSG1MOVAH,09H INT21HMOVDX,OFFSETMSG2 MOVAH,09H INT21HSTART1:MOVDX,MY8259_ICW1;初始化實(shí)驗(yàn)系統(tǒng)中8259的ICW1MOVAL,13H;邊沿觸發(fā)、單片8259、需要ICW4OUTDX,ALMOVDX,MY8259_ICW2;初始化實(shí)驗(yàn)系統(tǒng)中8259的ICW2MOVAL,08HOUTDX,ALMOVDX,MY8259_ICW4;初始化實(shí)驗(yàn)系統(tǒng)中8259的ICW4MOVAL,01H;非自動(dòng)結(jié)束EOIOUTDX,ALMOVDX,MY8259_OCW1;初始化實(shí)驗(yàn)系統(tǒng)中8259的OCW1MOVAL,0F5H;打開IR1和IR3的屏蔽位OUTDX,ALQUERY:MOVDX,MY8259_OCW3;向8259的OCW3發(fā)送查詢命令MOVAL,0CHOUTDX,ALNOP NOP NOPMOVDX,MY8259_OCW3INAL,DX;讀出查詢字TESTAL,80H;判斷中斷是否已響應(yīng)JZQUERY;沒有響應(yīng)則繼續(xù)查詢ANDAL,07H CMPAL,01HJEIR1ISR;若為IR1請(qǐng)求,跳到IR1處理程序 CMPAL,03HJEIR3ISR;若為IR1請(qǐng)求,跳到IR1處理程序JMPEOIQUERY1:MOVDL,0FFH MOVAH,06H INT21H JZSTART1 MOVAH,4CH INT21HIR1ISR:MOVDX,OFFSETMSG3 ;IR1處理,顯示字符串'IR1OKANDEXIT' MOVAH,09H INT21HJMPEOIIR3ISR:MOVDX,OFFSETMSG4 ;IR1處理,顯示字符串'IR3OKANDEXIT' MOVAH,09H INT21HEOI:MOVDX,MY8259_OCW2;向?qū)嶒?yàn)系統(tǒng)中8259發(fā)送中斷結(jié)束命令MOVAL,20HOUTDXMOVAL,20H;SENDEOIOUT0A0H,ALOUT20H,AL POPDS POPDX POPAX JMPSTART1CODEENDS ENDSTART六、實(shí)驗(yàn)結(jié)果接好電路,編好程序,打開電源后,兩個(gè)LED指示L0和L1燈都熄滅;編譯、鏈接、運(yùn)行程序,8259控制器的IR1、IR3兩路中斷可通過IRQ向PC機(jī)發(fā)起中斷請(qǐng)求,按下SP1,IR1中斷,指示燈L0亮,電腦屏幕上顯示“IR1OKANDEXIT!”;按下SP2,IR3中斷,指示燈L1亮,電腦屏幕上顯示“IR3OKANDEXIT!”七、實(shí)驗(yàn)中遇到的問題及解決方法最初認(rèn)為要按照原理圖把所有線都接上,后來知道了直接用排線連接就好,同時(shí)還能降低短路的可能性。這個(gè)實(shí)驗(yàn)的難點(diǎn)在于源程序的改動(dòng),在這方面我花了不少時(shí)間。實(shí)驗(yàn)二8255及綜合一、實(shí)驗(yàn)?zāi)康恼莆?255方式0的工作原理及使用方法。二、實(shí)驗(yàn)原理實(shí)驗(yàn)電路如圖,8255C口接邏輯電平開關(guān)K0~K7,A口接LED顯示電路L0~L7。圖2-1三、實(shí)驗(yàn)內(nèi)容1.1)編程從8255C口輸入數(shù)據(jù),再從A口輸出;2)編程從8255A口輸入數(shù)據(jù),再從B口輸出;3)編程從8255B口輸入數(shù)據(jù),再從A口輸出。2.將8255與8259結(jié)合起來。當(dāng)程序響應(yīng)IR1中斷時(shí)候,發(fā)光二極管的高四位滅(或亮),同時(shí)屏幕顯示“IR1okandexit”,當(dāng)程序響應(yīng)IR3中斷時(shí)候,發(fā)光二極管的低四位滅(或亮),同時(shí)屏幕顯示“IR13okandexit”。四、實(shí)驗(yàn)步驟1、連接線路實(shí)驗(yàn)1(以C口輸入A口輸出為例):8255的C口接邏輯電平開關(guān)K0~K7,A口接LED顯示電路L0~L7,將8255CS與Y1相連接,連接好后打開電源。實(shí)驗(yàn)2(8255與8259結(jié)合C口輸入A口輸出):SP1和SP2分別與IR1與IR3相連接,8259CS接到Y(jié)0上,/RD、/WR、INT分別與IOR、IOW、IRQ相連接,A口接LED顯示電路L0~L7,C口輸入不需要接,最后將8255和8259級(jí)聯(lián)起來,8255CS與Y1相連接,連接好后打開電源。2、編寫程序3、匯編、編譯、連接及運(yùn)行五、實(shí)驗(yàn)程序1、1)C口入,A口出ioport equ0ff00h-0280hio8255a equioport+288h;A端口地址io8255b equioport+289h;B端口地址io8255c equioport+28ah;C端口地址io8255equioport+28bh;控制口codesegment assumecs:codestart:movdx,io8255;設(shè)8255為C口輸入,A口輸出 moval,8bh;初始化 outdx,alinout:movdx,io8255c;從c口輸入一數(shù)據(jù) inal,dx;讀c口 movdx,io8255a;a口地址給dx outdx,al;所輸入的數(shù)據(jù) movdl,0ffh;判斷是否有按鍵 movah,06h;直接控制臺(tái)輸入輸出 int21h jzinout;若無,則繼續(xù)自C口輸入,A口輸出 movah,4ch;否則返回 int21hcodeends endstart2)A口入,B口出ioport equ0ff00h-0280hio8255a equioport+288h;A端口地址io8255b equioport+289h;B端口地址io8255c equioport+28ah;C端口地址io8255equioport+28bh;控制口codesegment assumecs:codestart:movdx,io8255;設(shè)8255為A口輸入,B口輸出 moval,99h;初始化 outdx,alinout:movdx,io8255a;從A口輸入一數(shù)據(jù) inal,dx;讀A口 movdx,io8255b;B口地址給dx outdx,al;所輸入的數(shù)據(jù) movdl,0ffh;判斷是否有按鍵 movah,06h;直接控制臺(tái)輸入輸出 int21h jzinout;若無,則繼續(xù)自A口輸入,B口輸出 movah,4ch;否則返回 int21hcodeends endstart3)B入,C出ioport equ0ff00h-0280hio8255a equioport+288h;A端口地址io8255b equioport+289h;B端口地址io8255c equioport+28ah;C端口地址io8255equioport+28bh;控制口codesegment assumecs:codestart:movdx,io8255;設(shè)8255為B口輸入,C口輸出 moval,92h;初始化 outdx,alinout:movdx,io8255c;從B口輸入一數(shù)據(jù) inal,dx;讀B口 movdx,io8255a;C口地址給dx outdx,al;所輸入的數(shù)據(jù) movdl,0ffh;判斷是否有按鍵 movah,06h;直接控制臺(tái)輸入輸出 int21h jzinout;若無,則繼續(xù)自B口輸入,C口輸出 movah,4ch;否則返回 int21hcodeends endstart2、8255與8259的結(jié)合程序DATASEGMENTMSG1DB0DH,0AH,'DVCCPCICARDINTERRUPT',0DH,0AH,'$'MSG2DB0DH,0AH,'PRESSANYKEYTOEXIT!',0DH,0AH,'$'MSG3DB0DH,0AH,'IR1OKANDEXIT!',0DH,0AH,'$'MSG4DB0DH,0AH,'IR3OKANDEXIT!',0DH,0AH,'$'DATAENDSSTACKSSEGMENT DB100DUP(?)STACKSENDSIOPORT EQU0FF00H-0280HIO8255A EQUIOPORT+288H;A端口地址IO8255B EQUIOPORT+289H;B端口地址IO8255C EQUIOPORT+28AH;C端口地址IO8255 EQUIOPORT+28BH;控制寄存器口地址MY8259_ICW1EQUIOPORT+280H;實(shí)驗(yàn)系統(tǒng)中8259的ICW1端口地址MY8259_ICW2EQUIOPORT+281H;實(shí)驗(yàn)系統(tǒng)中8259的ICW2端口地址MY8259_ICW3EQUIOPORT+281H;實(shí)驗(yàn)系統(tǒng)中8259的ICW3端口地址MY8259_ICW4EQUIOPORT+281H;實(shí)驗(yàn)系統(tǒng)中8259的ICW4端口地址MY8259_OCW1EQUIOPORT+281H;實(shí)驗(yàn)系統(tǒng)中8259的OCW1端口地址MY8259_OCW2EQUIOPORT+280H;實(shí)驗(yàn)系統(tǒng)中8259的OCW2端口地址MY8259_OCW3EQUIOPORT+280H;實(shí)驗(yàn)系統(tǒng)中8259的OCW3端口地址CODESEGMENTASSUMECS:CODE,DS:DATA,SS:STACKS,ES:DATASTART:MOVAX,DATAMOVDS,AXMOVES,AXMOVAX,STACKSMOVSS,AXMOVDX,IO8255C;設(shè)8255為A口輸入,C口輸出 MOVAL,00HOUTDX,AL MOVDX,IO8255 MOVAL,80H ;從C口輸出剛才自A口 OUTDX,ALMOVDX,MY8259_ICW1;初始化實(shí)驗(yàn)系統(tǒng)中8259的ICW1MOVAL,13H;邊沿觸發(fā)、單片8259、需要ICW4OUTDX,ALMOVDX,MY8259_ICW2;初始化實(shí)驗(yàn)系統(tǒng)中8259的ICW2MOVAL,08HOUTDX,ALMOVDX,MY8259_ICW4;初始化實(shí)驗(yàn)系統(tǒng)中8259的ICW4MOVAL,01H;非自動(dòng)結(jié)束EOIOUTDX,ALMOVDX,MY8259_OCW1;初始化實(shí)驗(yàn)系統(tǒng)中8259的OCW1MOVAL,0F5H;打開IR1和IR3的屏蔽位OUTDX,ALQUERY:MOVDX,MY8259_OCW3;向8259的OCW3發(fā)送查詢命令MOVAL,0CHOUTDX,ALNOP NOP NOPMOVDX,MY8259_OCW3INAL,DX;讀出查詢字TESTAL,80H;判斷中斷是否已響應(yīng)JZQUERY;沒有響應(yīng)則繼續(xù)查詢ANDAL,07H CMPAL,01HJEIR1ISR;若為IR1請(qǐng)求,跳到IR1處理程序 CMPAL,03HJEIR3ISR;若為IR3請(qǐng)求,跳到IR3處理程序JMPEOIIR1ISR:MOVDX,OFFSETMSG3 ;IR1處理,顯示字符串'IR1OKANDEXIT'MOVAH,09H INT21H MOVDX,IO8255C;從C口輸出剛才自A口 MOVAL,0F0H OUTDX,AL JMPEOIIR3ISR:MOVDX,OFFSETMSG4 ;IR3處理,顯示字符串'IR3OKANDEXIT' MOVAH,09H INT21HMOVDX,IO8255C MOVAL,00FH ;從C口輸出剛才自A口 OUTDX,AL JMPEOIEOI:MOVDX,MY8259_OCW2;向?qū)嶒?yàn)系統(tǒng)中8259發(fā)送中斷結(jié)束命令MOVAL,20HOUTDX,AL JMPQUERYCODEENDS ENDSTART六、實(shí)驗(yàn)結(jié)果實(shí)驗(yàn)一:正確連接電路及編寫程序后,編譯、鏈接、運(yùn)行程序,開關(guān)K0~K7分別對(duì)應(yīng)控制著LED燈L0~L7的點(diǎn)亮和熄滅。實(shí)驗(yàn)二:正確連接電路后,所有的LED指示燈都熄滅滅;編譯、鏈接、運(yùn)行程序,按下SP1,L0~L3這四個(gè)指示燈(低位指示燈)亮,再按一次SP1,這四個(gè)LED指示燈又滅,如此重復(fù),每按一次SP1,電腦屏幕上顯示“IR1okandexit”;按下SP2,L4~L7這四個(gè)指示燈亮,再按一次SP2,這四個(gè)LED指示燈又滅,如此重復(fù),每按一次SP2,電腦屏幕上顯示“IR3okandexit”。七、實(shí)驗(yàn)中遇到的問題及解決方法做實(shí)驗(yàn)二時(shí),按實(shí)驗(yàn)步驟中所說的正確操作后不能正確的出現(xiàn)實(shí)驗(yàn)結(jié)果,多次重復(fù)操作后有一次成功了,換了一臺(tái)機(jī)子后能正確顯示結(jié)果,自己感覺之前的LED燈有點(diǎn)問題。實(shí)驗(yàn)三8253一、實(shí)驗(yàn)?zāi)康恼莆?253的基本工作原理和編程方法。二、實(shí)驗(yàn)原理及內(nèi)容1.圖3-1是本實(shí)驗(yàn)程序的接線圖,將計(jì)數(shù)器0設(shè)置為方式0,計(jì)數(shù)器初值為N(N≤0FH,本程序中為0FH),用手動(dòng)逐個(gè)輸入單脈沖,編程使計(jì)數(shù)值在屏幕上顯示,并同時(shí)用L0或邏輯筆觀察OUT0電平變化,初始時(shí)OUT0為高電平,當(dāng)輸入N個(gè)脈沖時(shí),OUT0變?yōu)榈碗娖?,?dāng)輸入N+1個(gè)脈沖后OUT0變高電平)。2.按圖3-2連接電路,將計(jì)數(shù)器0、計(jì)數(shù)器1分別設(shè)置為方式3,計(jì)數(shù)初值設(shè)為1000,用電平指示燈L0或邏輯筆觀察OUT1輸出電平的變化,要求輸出頻率1HZ的分頻信號(hào)。圖3-1圖3-2三、實(shí)驗(yàn)步驟圖3-21、連接線路實(shí)驗(yàn)一:8253CS與Y0相連,RD與IOR相連,WR與IOW相連,CLK0連SP1,OUT0連一盞LED。實(shí)驗(yàn)二:8253CS與Y0相連,CLK0連1Mhz,OUT0連CLK1,OUT連一盞LED。2、編寫程序3、匯編、編譯、連接及運(yùn)行四、參考程序1、ioport equ0ff00h-0280hio8253k equioport+283hio8253a equioport+280hcodesegment assumecs:codestart:moval,10h;設(shè)置8253通道0為工作方式0,二進(jìn)制計(jì)數(shù) movdx,io8253k outdx,al movdx,io8253a;送計(jì)數(shù)初值為03H moval,03h outdx,allll:inal,dx;讀計(jì)數(shù)初值 calldisp;調(diào)顯示子程序 pushdx movah,06h movdl,0ffh int21h popdx jzlll movah,4ch;退出 int21hdispprocnear;顯示子程序 pushdx andal,0fh;首先取低四位 movdl,al cmpdl,9;判斷是否<=9 jlenum;若是則為'0'-'9',ASCII碼加30H adddl,7;否則為'A'-'F',ASCII碼加37Hnum:adddl,30h movah,02h;顯示 int21h movdl,0dh;加回車符 int21h movdl,0ah;加換行符 int21h popdx ret
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度廚具電商平臺(tái)合作采購合同7篇
- 2025年度滅火器產(chǎn)品定制設(shè)計(jì)與制造合同3篇
- 2025年度電商產(chǎn)品生命周期管理合同4篇
- 二零二五年度二手車買賣合同示范文本3篇
- 二零二五年度自然災(zāi)害應(yīng)急避難所搭棚合同3篇
- 2025年度個(gè)人信用卡透支合同書3篇
- 二零二五年度臨時(shí)建筑租賃合同終止補(bǔ)償協(xié)議4篇
- 2025年度木工環(huán)保材料生產(chǎn)與勞務(wù)合作合同范本4篇
- 二零二五年度跨境電商平臺(tái)承包經(jīng)營合同范本2篇
- 二零二五年度陶瓷面磚外貿(mào)出口代理服務(wù)合同4篇
- 電影《獅子王》的視聽語言解析
- 妊娠合并低鉀血癥護(hù)理查房
- 煤礦反三違培訓(xùn)課件
- 向流程設(shè)計(jì)要效率
- 2024年中國航空發(fā)動(dòng)機(jī)集團(tuán)招聘筆試參考題庫含答案解析
- 當(dāng)代中外公司治理典型案例剖析(中科院研究生課件)
- 動(dòng)力管道設(shè)計(jì)手冊(cè)-第2版
- 2022年重慶市中考物理試卷A卷(附答案)
- Python繪圖庫Turtle詳解(含豐富示例)
- 煤礦機(jī)電設(shè)備檢修技術(shù)規(guī)范完整版
- 榆林200MWp并網(wǎng)光伏發(fā)電項(xiàng)目可行性研究報(bào)告
評(píng)論
0/150
提交評(píng)論