實驗四DMA傳送實驗_第1頁
實驗四DMA傳送實驗_第2頁
實驗四DMA傳送實驗_第3頁
實驗四DMA傳送實驗_第4頁
全文預覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、實驗四DMA 傳送實驗一實驗目的:掌握 DMA 方式的工作原理和8237 的編程使用方法。二實驗要求:1. 按照實驗指導第 61 頁的實驗接線圖連接硬件線路2. 對照【例】的程序清單鍵入源程序,經(jīng)匯編和連接后運行程序三實驗電路四實驗程序 :DISP MACRO VARMOV AH,09HMOV DX,OFFSET VARINT 21HENDMSCANKEY MACROLOCAL LLLLLL:MOV AH,01HINT 16HJZ LLLMOV AH,0INT 16HENDMDATA SEGMENT; 宏定義; 將形參中所存的以結(jié)尾的字符串顯示在屏幕上; 宏定義; 為標號 LLL建立唯一的從?

2、0001H到 ?FFFFH的符號; 等待是否有鍵按下; 無則繼續(xù)等待; 否則讀出鍵值TEXT DB THE QUICK BROWN FOX JUMPS OVER LAZY DOGDB 0DH,0AHDB THE QUICK BROWN FOX JUMPS OVER LAZY DOGDB 0DH,0AHDB THE QUICK BROWN FOX JUMPS OVER LAZY DOGDB 0DH,0AH,$COUNT EQU $-TEXT;TEXT的總長度BUF DB COUNT DUP(?)MESG DB TO MAKE A DMA REQUEST!DB THEN STRIKE ANY KE

3、Y!,0DH,0AH,$DATA ENDSSTACK SEGMENT STACK STACKDB 256 DUP(?)STACK ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,SS:STACKBEG:MOV AX,DATAMOV DS,AXCALL I8237R; 主程序部分; 裝入數(shù)據(jù)段;DMA通道 1讀出初始化DISP MESGSCANKEYLAST1: IN AL,08HAND AL,02HJZ LAST1CALL I8237W; 顯示操作提示; 等待直到有鍵按下, 讀出鍵值; 讀 DMA狀態(tài)寄存器; 傳送是否結(jié)束; 否則繼續(xù)等待傳送結(jié)束;DMA通道 1寫

4、入初始化DISP MESGSCANKEYLAST2: IN AL,08HAND AL,02HJZ LAST2DISP BUF; 顯示操作提示; 等待直到有鍵按下, 讀出鍵值; 讀 DMA狀態(tài)寄存器; 傳送是否結(jié)束; 否則繼續(xù)等待傳送結(jié)束; 顯示 BUF中 DMA讀寫傳送的最后結(jié)果MOV AH,4CHINT 21HI8237R PROC; 結(jié)束程序并返回DOS;DMA通道 1讀出初始化MOV AL,05HOUT 0AH,ALMOV AL,01001001BOUT 0BH,AL; 通道 1屏蔽觸發(fā)器置 1; 通道 1方式字 , 單字節(jié)寫傳送; 自動加 1變址 , 不自動預置MOV AL,0OUT

5、0CH,ALMOV AX,DATAMOV BX,OFFSET TEXTCALL ADDRMOV; 先/ 后觸發(fā)器置 0;AX為 TEXT的段基址;BX為 TEXT的有效地址; 計算輸出 TEXT單元的20位物理地址RETI8237R ENDPI8237W PROCMOV AL,05HOUT 0AH,ALMOV AL,01000101BOUT 0BH,ALMOV AL,0OUT 0CH,ALMOV AX,DATAMOV BX,OFFSET BUFCALL ADDRMOVRETI8237W ENDPADDRMOV PROCMOV CX,0004HLL:SAL AX,1RCL CH,1DEC CLJ

6、NZ LLADD AX,BXJNC NEXT11INC CHNEXT11: OUT 02H,ALMOV AL,AHOUT 02H,ALMOV AL,CHOUT 83H,ALMOV AX,COUNT-1OUT 03H,ALMOV AL,AHOUT 03H,ALMOV AL,01OUT 0AH,ALRETADDRMOV ENDPCODE ENDSEND BEG;DMA通道 1寫入初始化; 通道 1屏蔽觸發(fā)器置1; 通道 1方式字 , 單字節(jié)寫傳送; 自動加 1變址 , 不自動預置; 先/ 后觸發(fā)器置 0;AX 為 BUF的段基址;BX 為 BUF的有效地址; 計算并輸出 BUF單元的 20位物理地

7、址; 計算并輸出某地址; 計算用 AX:BX表示的物理地址; 將移位時的溢出計入CH; AX=AX*4+BX; 低 8位存入通道 1基本地址寄存器; 中 8位存入通道 1基本地址寄存器; 高 4位存入通道 1頁面寄存器; 要傳送的字節(jié)數(shù)減1傳給基本字節(jié)寄存器; 解除通道 1屏蔽五 實驗分析:分析 DMA時序。1讀過程按下 DMA按鍵,通過端子向DMA通道 1 發(fā)硬件 DMA請求,系統(tǒng)DMA控制器向CPU發(fā)總線請求信號, CPU在執(zhí)行完當前總線周期后向系統(tǒng) DMA控制器發(fā)總線響應信號,隨即把總線控制權(quán)交給 DMA控制器, 此時 /DACK1有效。然后 DMA控制器將通道 1 的頁面地址寄存器及當

8、前地址寄存器中的內(nèi)容放到地址總線上去,并發(fā)出存儲器讀命令,讀出內(nèi)存單元中的 text內(nèi)容送往數(shù)據(jù)總線。由于 /DACK1有效,通過J4 短路線選中 6116 和雙向總線驅(qū)動器74LS245, /IOW 有效,通過 J3 短路線 , 使 6116 的 /WE有效,從而把數(shù)據(jù)總線上的數(shù)據(jù)通過74LS245 寫入到 6116 的 0號單元,完成一次DMA讀傳送。此時通道 1 當前地址寄存器自動加1,當前字節(jié)寄存器自動減1。另外通過 U38 和 JS 引線向分頻器輸入一個進位脈沖,使分頻器計數(shù)一次,Q10Q0輸出選擇 6116 的下一個單元。 再反復上述讀過程直到當前字節(jié)寄存器為FFFFH為止,讀過程

9、結(jié)束。2 寫過程按下 DMA按鍵,通過端子向DMA通道 1 發(fā)硬件 DMA請求,系統(tǒng) DMA控制器向CPU發(fā)總線請求信號,CPU在執(zhí)行完當前總線周期后向系統(tǒng)DMA控制器發(fā)總線響應信號,隨即把總線控制權(quán)交給DMA控制器, 此時 /DACK1有效。然后 DMA控制器將通道1 的頁面地址寄存器及當前地址寄存器中的內(nèi)容放到地址總線上去,并發(fā)出存儲器讀命令,讀出內(nèi)存單元中的text內(nèi)容送往數(shù)據(jù)總線。由于/DACK1有效,通過J4 短路線選中 6116 和雙向總線驅(qū)動器74LS245, /IOR 有效,通過J2 短路線 , 使 6116 的 /RD有效, 從而讀出 6116 當前單元的內(nèi)容,通過 74LS

10、245 寫入到系統(tǒng)數(shù)據(jù)總線,完成一次 DMA寫傳送。 此時通道1 當前地址寄存器自動加1,當前字節(jié)寄存器自動減1。另外通過 U38 和 JS 引線向分頻器輸入一個進位脈沖,使分頻器計數(shù)一次,Q10Q0輸出選擇 6116 的下一個單元。再反復上述讀過程直到當前字節(jié)寄存器為FFFFH為止,寫過程結(jié)束。4 4LS393 在本實驗中的作用作為一個分頻器,在本實驗中起到了選定存儲器6116地址的作用。這是通過輸入譯碼后的進位時鐘實現(xiàn)的。5 DMA傳送過程及特點DMA 傳送方式是在內(nèi)存與外設之間開辟專用的數(shù)據(jù)通道, 這個數(shù)據(jù)通道在 DMA 制器的控制下直接進行數(shù)據(jù)交換而不通過 CPU,不用 I/O 指令。這樣,數(shù)據(jù)傳送的速度上限取決于存儲器的存儲速度。因而 DMA 方式主要用于速度要求比較高的場合??亓鶎嶒炐〗Y(jié):這次實驗其實要讓我們自己來考慮設計實現(xiàn)的話是非常困難的,好在書上已經(jīng)給了我們實驗電路和原程序代碼,所以我們只要將書上的例子看明白的就可以做了,不過,這樣一來, 也可能有些人連書上的程序都不看而直接敲入代碼運行通過,這樣就什么都沒有學到,沒有達到實驗的效果了。我做這個實驗時到了最后一周了,許多實驗板已經(jīng)壞了,有時候即使實驗步驟完全正確由于板子的原因也做不出來。我就被害的夠慘的了,插了幾次線, 還是不出來,最后到別人的板子上去一試就成了。但我覺得,

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論