




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、微型計(jì)算機(jī)原理與應(yīng)用實(shí)驗(yàn)報(bào)告教師:候葉學(xué)號:04123075姓名:顏秦鑫 2015.12.11實(shí)驗(yàn)一 8259中斷實(shí)驗(yàn)一、實(shí)驗(yàn)?zāi)康?1掌握PC機(jī)中斷處理系統(tǒng)的基本原理。2掌握外部擴(kuò)展中斷源的設(shè)計(jì)方法。3學(xué)會(huì)編寫中斷服務(wù)程序。二、實(shí)驗(yàn)原理PC機(jī)用戶可使用的硬件中斷只有可屏蔽中斷,由8259中斷控制器管理。中斷控制器用于接收外部的中斷請求信號,經(jīng)過優(yōu)先級判別等處理后向CPU發(fā)出可屏蔽中斷請求。三、實(shí)驗(yàn)內(nèi)容實(shí)驗(yàn)要求實(shí)現(xiàn)8259控制器的IR1、IR7兩路中斷都可以通過IRQ向PC機(jī)發(fā)起中斷請求,用SP1、SP2單次脈沖模擬兩個(gè)中斷源。IR1中斷時(shí),在它的中斷服務(wù)程序中編程顯示“IR1 OK AND E
2、XIT!”; IR7中斷時(shí),在它的中斷服務(wù)程序中編程顯示“IR7 OK AND EXIT!”。采用查詢方式完成。圖1-1 擴(kuò)展中斷電路四、實(shí)驗(yàn)步驟1、連接線路8259地址線D0D7用排線和JD1連接起來,8259片選信號CS接Y1,讀寫控制信號RD和WR分別接LOR 和LOW,手動(dòng)脈沖信號SP1 和SP2分別接中斷信號輸入端IR1 和IR3,IRQ接INT.2、編寫程序3、匯編、編譯、連接及運(yùn)行五、實(shí)驗(yàn)程序;*;* 中斷 *;*;data segmentioportequ 0ff00h-0280h MY8259_ICW1 EQU ioport +280H ;實(shí)驗(yàn)系統(tǒng)中8259的ICW1端口地址
3、MY8259_ICW2 EQU ioport +281H ;實(shí)驗(yàn)系統(tǒng)中8259的ICW2端口地址MY8259_ICW3 EQU ioport +281H ;實(shí)驗(yàn)系統(tǒng)中8259的ICW3端口地址MY8259_ICW4 EQU ioport +281H ;實(shí)驗(yàn)系統(tǒng)中8259的ICW4端口地址MY8259_OCW1 EQU ioport +281H ;實(shí)驗(yàn)系統(tǒng)中8259的OCW1端口地址MY8259_OCW2 EQU ioport +280H ;實(shí)驗(yàn)系統(tǒng)中8259的OCW2端口地址MY8259_OCW3 EQU ioport +280H ;實(shí)驗(yàn)系統(tǒng)中8259的OCW3端口地址msg1 db 0dh,
4、0ah,'DVCC pci card Interrupt',0dh,0ah,'$' msg2 db 0dh,0ah,'Press any key to exit!',0dh,0ah,'$' msg3 db 0dh,0ah,'IR1 ok and exit!',0dh,0ah,'$' msg4 db 0dh,0ah,'IR7 ok and exit!',0dh,0ah,'$' msg5 db 0dh,0ah,'ok!',0dh,0ah,'$
5、9;data endsstacks segmentdb 100 dup (?)stacks endscode segment assume cs:code,ds:data,ss:stacks,es:datastart: mov ax,data mov ds,ax mov es,ax mov ax,stacks mov ss,ax mov ax,data mov ds,ax mov dx,offset msg1 mov ah,09h int 21h start1: MOV DX,MY8259_ICW1 ;初始化實(shí)驗(yàn)系統(tǒng)中8259的ICW1 MOV AL,13H ;邊沿觸發(fā)、單片8259、需要IC
6、W4 OUT DX,AL MOV DX,MY8259_ICW2 ;初始化實(shí)驗(yàn)系統(tǒng)中8259的ICW2 MOV AL,08H OUT DX,AL MOV DX,MY8259_ICW4 ;初始化實(shí)驗(yàn)系統(tǒng)中8259的ICW4 MOV AL,09H ;非自動(dòng)結(jié)束EOI OUT DX,AL MOV DX,MY8259_OCW1 ;初始化實(shí)驗(yàn)系統(tǒng)中8259的OCW1 MOV AL,7DH ;打開IR1和IR7的屏蔽位 OUT DX,AL QUERY: MOV DX,MY8259_OCW3 ;向8259的OCW3發(fā)送查詢命令 MOV AL,0CH OUT DX,AL NOPNOPNOP MOV DX,MY8
7、259_OCW3 IN AL,DX ;讀出查詢字 TEST AL,80H ;判斷中斷是否已響應(yīng) JZ QUERY ;沒有響應(yīng)則繼續(xù)查詢 and al,07h CMP AL,01H JE IR1ISR ;若為IR1請求,跳到IR1處理程序 CMP AL,07H JE IR7ISR ;若為IR7請求,跳到IR3處理程序 JMP EOIQUERY1: mov dl,0ffh ;判斷是否有按鍵 mov ah,06h int 21h jz start1 ;若無,則繼續(xù) mov ah,4ch ;否則返回 int 21hIR1ISR: mov dx,offset msg3;IR1處理,顯示字符串'I
8、R1 ok and exit' mov ah,09h int 21h JMP EOIIR7ISR: mov dx,offset msg4;IR3處理,顯示字符串'IR7 ok and exit' mov ah,09h int 21h EOI: MOV DX,MY8259_OCW2 ;向?qū)嶒?yàn)系統(tǒng)中8259發(fā)送中斷結(jié)束命令 MOV AL,20H OUT DX,AL jmp start code endsend start6、 實(shí)驗(yàn)結(jié)果 按下sp1,進(jìn)入中斷IR1,顯示器顯示“IR1 OK OR EXIT!”;按下sp2進(jìn)入中斷IR7,顯示器顯示“IR7 OK OR EXIT
9、!”。七、實(shí)驗(yàn)中遇到的問題及解決方法 這次實(shí)驗(yàn)因?yàn)橐婚_始比較簡單,實(shí)驗(yàn)二開始時(shí)沒有弄懂原理,走了一些彎路,但與同學(xué)交流后就非常清楚了。實(shí)驗(yàn)二 8255及綜合一、實(shí)驗(yàn)?zāi)康恼莆?255方式0的工作原理及使用方法。二、實(shí)驗(yàn)原理實(shí)驗(yàn)電路如圖,8255C口接邏輯電平開關(guān)K0K7,A口接LED顯示電路L0L7。圖2-1三、實(shí)驗(yàn)內(nèi)容 11) 編程從8255C口輸入數(shù)據(jù),再從A口輸出;2) 編程從8255B口輸入數(shù)據(jù),再從A口輸出;3) 編程從8255A口輸入數(shù)據(jù),再從C口輸出。2. 將8255與8259結(jié)合起來。 當(dāng)程序響應(yīng)IR1中斷時(shí)候,發(fā)光二極管的高四位滅(或亮),同時(shí)屏幕顯示“IR1 ok and e
10、xit”,當(dāng)程序響應(yīng)IR3中斷時(shí)候,發(fā)光二極管的低四位滅(或亮),同時(shí)屏幕顯示“IR13ok and exit”。四、實(shí)驗(yàn)步驟1、連接線路實(shí)驗(yàn)一:8255地址線D0D7用排線和JD1連接起來,8255片選信號CS接Y1,讀寫控制信號RD和WR分別接LOR 和LOW,邏輯電平開關(guān)K0K7和LED顯示電路L0L7按要求分別接A口B口或C口。實(shí)驗(yàn)二:8255和8259的地址線串接起來,其他和實(shí)驗(yàn)一以及8259中斷實(shí)驗(yàn)接線一樣。2、編寫程序3、匯編、編譯、連接及運(yùn)行五、實(shí)驗(yàn)程序1、1)C口入,A口出io8255 equ 0ff00h-0280hio8255a equ ioport+288hio8255
11、b equ ioport+28bhio8255c equ ioport+28ahcode segmentassume cs:codestart: mov dx,io8255 ;設(shè)8255為C口輸入,A口輸出mov al,89hout dx,alinout: mov dx,io8255c;從C口輸入一數(shù)據(jù)in al,dxmov dx,io8255a;從A口輸出剛才自C口所輸入的數(shù)據(jù)out dx,almov dl,0ffh; 判斷是否有按鍵mov ah,06hint 21hjz inout;若無,則繼續(xù)自C口輸入,A口輸出mov ah,4ch;否則返回DOSint 21hcode endsend
12、start2)B口入,A口出io8255 equ 0ff00h-0280hio8255a equ ioport+288hio8255b equ ioport+28bhio8255c equ ioport+28ahcode segmentassume cs:codestart: mov dx,io8255c mov al,82hout dx,alinout: mov dx,io8255bin al,dxmov dx,io8255aout dx,almov dl,0ffhmov ah,06hint 21hjz inoutmov ah,4chDOSint 21hcode endsend start3
13、)A入,C出ioportequ 0ff00H-0280hio8255aequ ioport+288hio8255bequ ioport+28bhio8255cequ ioport+28ahcode segmentassume cs:codestart: mov dx,io8255b mov al,90hout dx,al inout: mov dx,io8255a in al,dxmov dx,io8255c out dx,al mov dl,0ffh mov ah,06hint 21hjz inout mov ah,4ch int 21hcode endsend start2、8255與82
14、59的結(jié)合程序data segment int_vect EQU 073H ;中斷0-7的向量為:08h-0fh,中斷8-15的向量為:70h-77h irq_mask_2_7 equ 011111011b ;中斷掩碼,中斷0-7時(shí)從低至高相應(yīng)位為零,中斷8-15時(shí) ;第2位為零 irq_mask_9_15 equ 011110111b;中斷0-7時(shí)全一,中斷8-15時(shí)從低至高相應(yīng)位為零 ioport_cent equ 0c000h;DVCC 卡中9054芯片的io地址 ioportequ 0c400h-0280h MY8259_ICW1 EQU ioport +280H ;實(shí)驗(yàn)系統(tǒng)中8259
15、的ICW1端口地址 MY8259_ICW2 EQU ioport +281H ;實(shí)驗(yàn)系統(tǒng)中8259的ICW2端口地址 MY8259_ICW3 EQU ioport +281H ;實(shí)驗(yàn)系統(tǒng)中8259的ICW3端口地址 MY8259_ICW4 EQU ioport +281H ;實(shí)驗(yàn)系統(tǒng)中8259的ICW4端口地址 MY8259_OCW1 EQU ioport +281H ;實(shí)驗(yàn)系統(tǒng)中8259的OCW1端口地址 MY8259_OCW2 EQU ioport +280H ;實(shí)驗(yàn)系統(tǒng)中8259的OCW2端口地址 MY8259_OCW3 EQU ioport +280H ;實(shí)驗(yàn)系統(tǒng)中8259的OCW3端
16、口地址 csregdw? ipregdw? ;舊中斷向量保存空間 irq_timesdw00h ;中斷計(jì)數(shù) msg1 db 0dh,0ah,'DVCC pci card Interrupt',0dh,0ah,'$' msg2 db 0dh,0ah,'Press any key to exit!',0dh,0ah,'$' msg3 db 0dh,0ah,'IR1 ok and exit!',0dh,0ah,'$' msg4 db 0dh,0ah,'IR3 ok and exit!',0
17、dh,0ah,'$'data endsstacks segmentdb 100 dup (?)stacks endscode segment assume cs:code,ds:data,ss:stacks,es:datastart:;Enable Local Interrupt Input.386 cli mov ax,data mov ds,ax mov es,ax mov ax,stacks mov ss,ax mov dx,ioport_cent+68h ;設(shè)置 DVCC 卡中9054芯片io口,使能中斷 in ax,dx or ax,0900h out dx,ax m
18、ov al,int_vect ;保存原中斷向量 mov ah,35h int 21h mov ax,es mov csreg,ax mov ipreg,bx mov ax,cs ;設(shè)置新中斷向量 mov ds,ax mov dx,offset int_proc mov al,int_vect mov ah,25h int 21h in al, 21h ;設(shè)置中斷掩碼 and al, irq_mask_2_7 out 21h, al in al, 0a1h and al, irq_mask_9_15 out 0a1h, al mov ax,data mov ds,ax mov dx,offset
19、 msg1 mov ah,09h int 21h mov dx,offset msg2 mov ah,09h int 21h MOV DX,MY8259_ICW1 ;初始化實(shí)驗(yàn)系統(tǒng)中8259的ICW1 MOV AL,13H ;邊沿觸發(fā)、單片8259、需要ICW4 OUT DX,AL MOV DX,MY8259_ICW2 ;初始化實(shí)驗(yàn)系統(tǒng)中8259的ICW2 MOV AL,08H OUT DX,AL MOV DX,MY8259_ICW4 ;初始化實(shí)驗(yàn)系統(tǒng)中8259的ICW4 MOV AL,01H ;非自動(dòng)結(jié)束EOI OUT DX,AL MOV DX,MY8259_OCW1 ;初始化實(shí)驗(yàn)系統(tǒng)中82
20、59的OCW1 MOV AL,0F5H ;打開IR1和IR3的屏蔽位 OUT DX,AL stiloop1: mov ah,1 ;等待中斷 int 16h jnz exit ;按任意鍵退出 jmp loop1exit: cli mov bl, irq_mask_2_7 ;恢復(fù)中斷掩碼 not bl in al, 21h or al, bl out 21h, al mov bl, irq_mask_9_15 not bl in al, 0a1h oral, bl out 0a1h, al mov dx,ipreg ;恢復(fù)原中斷向量 mov ax,csreg mov ds,ax mov ah,25
21、h mov al,int_vect int 21h mov dx,ioport_cent+68h ;設(shè)置 DVCC 卡中9054芯片io口,關(guān)閉中斷 in ax,dx and ax,0f7ffh out dx,ax mov ax,4c00h int 21hint_proc proc far cli push ax push dx push dsQUERY: MOV DX,MY8259_OCW3 ;向8259的OCW3發(fā)送查詢命令 MOV AL,0CH OUT DX,AL NOP NOP NOP MOV DX,MY8259_OCW3 IN AL,DX ;讀出查詢字 TEST AL,80H ;判斷
22、中斷是否已響應(yīng) JZ QUERY ;沒有響應(yīng)則繼續(xù)查詢 AND AL,07H CMP AL,01H JE IR1ISR ;若為IR1請求,跳到IR1處理程序 CMP AL,03H JE IR3ISR ;若為IR3請求,跳到IR3處理程序 JMP EOIIR1ISR: mov dx,offset msg3 ;IR1處理,顯示字符串'IR1 ok and exit' mov ah,09h int 21h JMP EOIIR3ISR: mov dx,offset msg4 ;IR3處理,顯示字符串'IR3 ok and exit' mov ah,09h int 21h
23、EOI: MOV DX,MY8259_OCW2 ;向?qū)嶒?yàn)系統(tǒng)中8259發(fā)送中斷結(jié)束命令 MOV AL,20H OUT DX,AL mov al,20h ;Send EOI out 0a0h,al out 20h,al pop ds pop dx pop ax sti iretint_proc endpcode ends end start6、 實(shí)驗(yàn)結(jié)果 實(shí)驗(yàn)1:通過開關(guān)的變化在某個(gè)口輸入的數(shù)據(jù)當(dāng)連線正確時(shí)通過預(yù)設(shè)的口在LED燈上顯示出來。 實(shí)驗(yàn)2:當(dāng)程序響應(yīng)IR1中斷時(shí),發(fā)光二極管的高四位滅了又亮,并在屏幕上顯示"IR1 OK OR EXIT!,當(dāng)程序響應(yīng)IR3中斷時(shí),發(fā)光二極管的低
24、四位滅了又亮,并在屏幕上顯示"IR3 OK OR EXIT!”。七、實(shí)驗(yàn)中遇到的問題及解決方法實(shí)驗(yàn)1主要就是對端口設(shè)定的理解要明確,不然很容易出錯(cuò);實(shí)驗(yàn)2需要修改程序,這里比較容易出現(xiàn)問題,最后通過和其他同學(xué)對照才完成了程序的修改。實(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(N0FH,本程序中為0FH),用手動(dòng)逐個(gè)輸入單脈沖,編程使計(jì)數(shù)值在屏幕上顯示,并同時(shí)用L0或邏輯筆觀察OUT0電平變化,初始時(shí)OUT0為高電平,當(dāng)輸入N個(gè)脈沖時(shí),OUT0變?yōu)榈碗娖?,?dāng)輸入N+1個(gè)脈沖后
25、OUT0變高電平)。 2按圖3-2連接電路,將計(jì)數(shù)器0、計(jì)數(shù)器1分別設(shè)置為方式3,計(jì)數(shù)初值設(shè)為1000,用電平指示燈L0或邏輯筆觀察OUT1輸出電平的變化,要求輸出頻率1HZ的分頻信號。圖 3-1圖3-2三、實(shí)驗(yàn)步驟1、連接線路 實(shí)驗(yàn)1:時(shí)鐘端clk0接SP1,8253片選信號cs接Y0,地址線接JD1。 實(shí)驗(yàn)2:clk0接1MHZ脈沖,out0接clk1,也就是說級聯(lián)起來,其他接線同實(shí)驗(yàn)。2、編寫程序3、匯編、編譯、連接及運(yùn)行四、參考程序1、 ;*;* 8253方式0計(jì)數(shù)器實(shí)驗(yàn) *;*; ioportequ 0ff00h-0280hio8253kequ ioport+283hio8253ae
26、qu ioport+280hcode segmentassume cs:codestart: mov al,00010000B ;設(shè)置8253通道0為工作方式2,二進(jìn)制計(jì)數(shù) mov dx,io8253k out dx,al mov dx,io8253a ;送計(jì)數(shù)初值為08H mov al,05h out dx,allll: in al,dx ;讀計(jì)數(shù)初值 call disp ;調(diào)顯示子程序 push dx mov ah,06h mov dl,0ffh int 21h pop dx jz lll mov ah,4ch ;退出 int 21hdisp proc near ;顯示子程序 push dx and al,0fh ;首先取低四位 mov dl,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2022運(yùn)動(dòng)會(huì)致辭15篇
- 考古遺址公園建設(shè)可行性研究報(bào)告(參考范文)
- 焦?fàn)t煤氣制甲醇項(xiàng)目實(shí)施方案
- 供水設(shè)施改造與升級實(shí)施方案(模板)
- 小學(xué)生國防教育
- 山西省大同市第一中學(xué)2023-2024學(xué)年高二上學(xué)期12月檢測語文含解析
- 大慶職業(yè)學(xué)院《英語讀寫》2023-2024學(xué)年第二學(xué)期期末試卷
- 株洲師范高等??茖W(xué)?!度蚪】蹈耪摗?023-2024學(xué)年第二學(xué)期期末試卷
- 梧州職業(yè)學(xué)院《工作分析與職務(wù)設(shè)計(jì)》2023-2024學(xué)年第二學(xué)期期末試卷
- 土力學(xué)知到智慧樹章節(jié)測試課后答案2024年秋青島理工大學(xué)
- 手術(shù)室護(hù)理疑難病例討論
- 《成人心肺復(fù)蘇術(shù)》課件
- 國家秘密載體的管理要求
- 車間照明施工合同范例
- 硫酸安全使用管理及使用制度(4篇)
- 高教版2023年中職教科書《語文》(基礎(chǔ)模塊)下冊教案全冊
- 康復(fù)醫(yī)療行業(yè):社會(huì)辦康復(fù)醫(yī)療50企業(yè)報(bào)告
- 雪茄知識及侍茄培訓(xùn)
- 三檢制培訓(xùn)資料
- 【高考復(fù)習(xí)】文言文閱讀專題:特殊句式-(公開課課件)
評論
0/150
提交評論