




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
微機原理實驗報告姓名:學號:
實驗一8259中斷實驗一、實驗目的1.掌握PC機中斷處理系統(tǒng)的基本原理。2.掌握外部擴展中斷源的設計方法。3.學會編寫中斷服務程序。二、實驗原理PC機用戶可使用的硬件中斷只有可屏蔽中斷,由8259中斷控制器管理。中斷控制器用于接收外部的中斷請求信號,經過優(yōu)先級判別等處理后向CPU發(fā)出可屏蔽中斷請求。三、實驗內容實驗要求實現(xiàn)8259控制器的IR1、IR3兩路中斷都可以通過IRQ向PC機發(fā)起中斷請求,用SP1、SP2單次脈沖模擬兩個中斷源。IR1中斷時,在它的中斷服務程序中編程顯示“IR1OKANDEXIT!”;IR3中斷時,在它的中斷服務程序中編程顯示“IR3OKANDEXIT!”。采用查詢方式完成。圖1-1擴展中斷電路四、實驗步驟1、連接線路SP1和SP2分別接到IR1和IR3,IR1和IR3與L0和L1指示燈相連,8259CS接到Y0上,最后將/RD、/WR、INT分別與IOR、IOW、IRQ相連接,連接好后打開電源。2、編寫程序3、匯編、編譯、連接及運行五、實驗程序DATASEGMENTIOPORT EQU0FF00H-0280HMY8259_ICW1EQUIOPORT+280H;實驗系統(tǒng)中8259的ICW1端口地址MY8259_ICW2EQUIOPORT+281H;實驗系統(tǒng)中8259的ICW2端口地址MY8259_ICW3EQUIOPORT+281H;實驗系統(tǒng)中8259的ICW3端口地址MY8259_ICW4EQUIOPORT+281H;實驗系統(tǒng)中8259的ICW4端口地址MY8259_OCW1EQUIOPORT+281H;實驗系統(tǒng)中8259的OCW1端口地址MY8259_OCW2EQUIOPORT+280H;實驗系統(tǒng)中8259的OCW2端口地址MY8259_OCW3EQUIOPORT+280H;實驗系統(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;初始化實驗系統(tǒng)中8259的ICW1MOVAL,13H;邊沿觸發(fā)、單片8259、需要ICW4OUTDX,ALMOVDX,MY8259_ICW2;初始化實驗系統(tǒng)中8259的ICW2MOVAL,08HOUTDX,ALMOVDX,MY8259_ICW4;初始化實驗系統(tǒng)中8259的ICW4MOVAL,01H;非自動結束EOIOUTDX,ALMOVDX,MY8259_OCW1;初始化實驗系統(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;判斷中斷是否已響應JZQUERY;沒有響應則繼續(xù)查詢ANDAL,07H CMPAL,01HJEIR1ISR;若為IR1請求,跳到IR1處理程序 CMPAL,03HJEIR3ISR;若為IR1請求,跳到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;向實驗系統(tǒng)中8259發(fā)送中斷結束命令MOVAL,20HOUTDXMOVAL,20H;SENDEOIOUT0A0H,ALOUT20H,AL POPDS POPDX POPAX JMPSTART1CODEENDS ENDSTART六、實驗結果接好電路,編好程序,打開電源后,兩個LED指示L0和L1燈都熄滅;編譯、鏈接、運行程序,8259控制器的IR1、IR3兩路中斷可通過IRQ向PC機發(fā)起中斷請求,按下SP1,IR1中斷,指示燈L0亮,電腦屏幕上顯示“IR1OKANDEXIT!”;按下SP2,IR3中斷,指示燈L1亮,電腦屏幕上顯示“IR3OKANDEXIT!”七、實驗中遇到的問題及解決方法最初認為要按照原理圖把所有線都接上,后來知道了直接用排線連接就好,同時還能降低短路的可能性。這個實驗的難點在于源程序的改動,在這方面我花了不少時間。實驗二8255及綜合一、實驗目的掌握8255方式0的工作原理及使用方法。二、實驗原理實驗電路如圖,8255C口接邏輯電平開關K0~K7,A口接LED顯示電路L0~L7。圖2-1三、實驗內容1.1)編程從8255C口輸入數(shù)據,再從A口輸出;2)編程從8255A口輸入數(shù)據,再從B口輸出;3)編程從8255B口輸入數(shù)據,再從A口輸出。2.將8255與8259結合起來。當程序響應IR1中斷時候,發(fā)光二極管的高四位滅(或亮),同時屏幕顯示“IR1okandexit”,當程序響應IR3中斷時候,發(fā)光二極管的低四位滅(或亮),同時屏幕顯示“IR13okandexit”。四、實驗步驟1、連接線路實驗1(以C口輸入A口輸出為例):8255的C口接邏輯電平開關K0~K7,A口接LED顯示電路L0~L7,將8255CS與Y1相連接,連接好后打開電源。實驗2(8255與8259結合C口輸入A口輸出):SP1和SP2分別與IR1與IR3相連接,8259CS接到Y0上,/RD、/WR、INT分別與IOR、IOW、IRQ相連接,A口接LED顯示電路L0~L7,C口輸入不需要接,最后將8255和8259級聯(lián)起來,8255CS與Y1相連接,連接好后打開電源。2、編寫程序3、匯編、編譯、連接及運行五、實驗程序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;設8255為C口輸入,A口輸出 moval,8bh;初始化 outdx,alinout:movdx,io8255c;從c口輸入一數(shù)據 inal,dx;讀c口 movdx,io8255a;a口地址給dx outdx,al;所輸入的數(shù)據 movdl,0ffh;判斷是否有按鍵 movah,06h;直接控制臺輸入輸出 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;設8255為A口輸入,B口輸出 moval,99h;初始化 outdx,alinout:movdx,io8255a;從A口輸入一數(shù)據 inal,dx;讀A口 movdx,io8255b;B口地址給dx outdx,al;所輸入的數(shù)據 movdl,0ffh;判斷是否有按鍵 movah,06h;直接控制臺輸入輸出 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;設8255為B口輸入,C口輸出 moval,92h;初始化 outdx,alinout:movdx,io8255c;從B口輸入一數(shù)據 inal,dx;讀B口 movdx,io8255a;C口地址給dx outdx,al;所輸入的數(shù)據 movdl,0ffh;判斷是否有按鍵 movah,06h;直接控制臺輸入輸出 int21h jzinout;若無,則繼續(xù)自B口輸入,C口輸出 movah,4ch;否則返回 int21hcodeends endstart2、8255與8259的結合程序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;實驗系統(tǒng)中8259的ICW1端口地址MY8259_ICW2EQUIOPORT+281H;實驗系統(tǒng)中8259的ICW2端口地址MY8259_ICW3EQUIOPORT+281H;實驗系統(tǒng)中8259的ICW3端口地址MY8259_ICW4EQUIOPORT+281H;實驗系統(tǒng)中8259的ICW4端口地址MY8259_OCW1EQUIOPORT+281H;實驗系統(tǒng)中8259的OCW1端口地址MY8259_OCW2EQUIOPORT+280H;實驗系統(tǒng)中8259的OCW2端口地址MY8259_OCW3EQUIOPORT+280H;實驗系統(tǒng)中8259的OCW3端口地址CODESEGMENTASSUMECS:CODE,DS:DATA,SS:STACKS,ES:DATASTART:MOVAX,DATAMOVDS,AXMOVES,AXMOVAX,STACKSMOVSS,AXMOVDX,IO8255C;設8255為A口輸入,C口輸出 MOVAL,00HOUTDX,AL MOVDX,IO8255 MOVAL,80H ;從C口輸出剛才自A口 OUTDX,ALMOVDX,MY8259_ICW1;初始化實驗系統(tǒng)中8259的ICW1MOVAL,13H;邊沿觸發(fā)、單片8259、需要ICW4OUTDX,ALMOVDX,MY8259_ICW2;初始化實驗系統(tǒng)中8259的ICW2MOVAL,08HOUTDX,ALMOVDX,MY8259_ICW4;初始化實驗系統(tǒng)中8259的ICW4MOVAL,01H;非自動結束EOIOUTDX,ALMOVDX,MY8259_OCW1;初始化實驗系統(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;判斷中斷是否已響應JZQUERY;沒有響應則繼續(xù)查詢ANDAL,07H CMPAL,01HJEIR1ISR;若為IR1請求,跳到IR1處理程序 CMPAL,03HJEIR3ISR;若為IR3請求,跳到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;向實驗系統(tǒng)中8259發(fā)送中斷結束命令MOVAL,20HOUTDX,AL JMPQUERYCODEENDS ENDSTART六、實驗結果實驗一:正確連接電路及編寫程序后,編譯、鏈接、運行程序,開關K0~K7分別對應控制著LED燈L0~L7的點亮和熄滅。實驗二:正確連接電路后,所有的LED指示燈都熄滅滅;編譯、鏈接、運行程序,按下SP1,L0~L3這四個指示燈(低位指示燈)亮,再按一次SP1,這四個LED指示燈又滅,如此重復,每按一次SP1,電腦屏幕上顯示“IR1okandexit”;按下SP2,L4~L7這四個指示燈亮,再按一次SP2,這四個LED指示燈又滅,如此重復,每按一次SP2,電腦屏幕上顯示“IR3okandexit”。七、實驗中遇到的問題及解決方法做實驗二時,按實驗步驟中所說的正確操作后不能正確的出現(xiàn)實驗結果,多次重復操作后有一次成功了,換了一臺機子后能正確顯示結果,自己感覺之前的LED燈有點問題。實驗三8253一、實驗目的掌握8253的基本工作原理和編程方法。二、實驗原理及內容1.圖3-1是本實驗程序的接線圖,將計數(shù)器0設置為方式0,計數(shù)器初值為N(N≤0FH,本程序中為0FH),用手動逐個輸入單脈沖,編程使計數(shù)值在屏幕上顯示,并同時用L0或邏輯筆觀察OUT0電平變化,初始時OUT0為高電平,當輸入N個脈沖時,OUT0變?yōu)榈碗娖?,當輸入N+1個脈沖后OUT0變高電平)。2.按圖3-2連接電路,將計數(shù)器0、計數(shù)器1分別設置為方式3,計數(shù)初值設為1000,用電平指示燈L0或邏輯筆觀察OUT1輸出電平的變化,要求輸出頻率1HZ的分頻信號。圖3-1圖3-2三、實驗步驟圖3-21、連接線路實驗一:8253CS與Y0相連,RD與IOR相連,WR與IOW相連,CLK0連SP1,OUT0連一盞LED。實驗二:8253CS與Y0相連,CLK0連1Mhz,OUT0連CLK1,OUT連一盞LED。2、編寫程序3、匯編、編譯、連接及運行四、參考程序1、ioport equ0ff00h-0280hio8253k equioport+283hio8253a equioport+280hcodesegment assumecs:codestart:moval,10h;設置8253通道0為工作方式0,二進制計數(shù) movdx,io8253k outdx,al movdx,io8253a;送計數(shù)初值為03H moval,03h outdx,allll:inal,dx;讀計數(shù)初值 calldisp;調顯示子程序 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等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 個人公司合同范本
- 租賃房屋合同范本續(xù)租
- 室內水泥漆合同范本
- 賓館培訓會議合同范本
- 6的乘法口訣(教學設計)-2024-2025學年人教版數(shù)學二年級上冊
- 8 冀中的地道戰(zhàn)(教學設計)-2024-2025學年統(tǒng)編版語文五年級上冊
- 9 我心中的“110”(教學設計)統(tǒng)編版道德與法治三年級上冊
- 2025年順酐酸酐衍生物項目發(fā)展計劃
- 1《神州謠》教學設計-2023-2024學年語文二年級下冊統(tǒng)編版
- 托管班合作協(xié)議書
- 小學體育-快速跑-途中跑教學課件設計
- 動力管道設計手冊-第2版
- 看不見的森林
- 危險作業(yè)申請表
- 中小學教師專業(yè)標準解讀
- 有限空間作業(yè)安全管理監(jiān)理實施細則
- 成人術后口渴癥狀評估與管理的專家共識課件
- 初中心理健康-4.我與我生活的環(huán)境教學課件設計
- 《城市軌道交通員工職業(yè)素養(yǎng)》課程標準
- 語文新課程課堂教學設計課件
- 金屬非金屬礦山安全規(guī)程培訓課件(五)
評論
0/150
提交評論