實驗一__8237_DMA傳送實驗_(1)_第1頁
實驗一__8237_DMA傳送實驗_(1)_第2頁
實驗一__8237_DMA傳送實驗_(1)_第3頁
實驗一__8237_DMA傳送實驗_(1)_第4頁
實驗一__8237_DMA傳送實驗_(1)_第5頁
已閱讀5頁,還剩4頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、實驗一 8237 DMA傳送實驗一、實驗目的 (1)掌握DMA方式的工作原理和8237DMA控制器的編程使用方法。(2)掌握如何在實驗系統環境下,使用DMA的CH0進行數據傳送。二、實驗內容 利用本實驗系統提供的8237A-5 DMA控制的CH0,實現DMA的內存到內存的讀、寫傳送,采用DMA軟件請求,把內存中3000H4FFFH單元內容傳送到5000H6FFFH單元中。三、編程指南 1、8237A引腳圖2、8237A的內部寄存器格式8237A控制寄存器格式(2)8237A模式寄存器格式(3)8237A狀態寄存器格式 (4)請求寄存器和屏蔽寄存器格式(5)多通道屏蔽寄存器格式(6)8237A端

2、口地址3、8237A的初始化編程命令字寫入控制寄存器方式字寫入模式寄存器屏蔽字寫入屏蔽寄存器寫先/后觸發器寫入基地址和當前地址寄存器以及基字節和當前字節計數器。寫入請求寄存器如果采用軟件DMA請求,在適當的時候令通道的請求觸發器置1。四、實驗接線圖 五、實驗步驟 連CS10到FF80H,在系統內存3000H4FFFH單元中填充10,11,12,13,運行程序8237ASM或在實驗系統處于P態下,按SCAL鍵,然后在系統內存3000H4FFFH單元中填充10,11,12,13,輸入2860,按EXEC鍵即可,當系統顯示“8237good”表示DMA傳送結束,按RST鈕,返回P態,用內存讀寫命令檢

3、查5000H6FFFH單元內容是否和3000H4FFFH單元內容相一致,驗證其正確性。 六、實驗程序清單 ;8237.ASM,MOV:RAM FROM 3000H TO 5000H;BYTE-MOVCODE SEGMENT ASSUME CS:CODEPCTL EQU 0FF20H ;控制口PA EQU 0FF21H ;字位口PB EQU 0FF22H ;字形口PC EQU 0FF23H ;鍵入口CLEARF EQU 800CHCH0A EQU 8000hCH1A EQU 8002HCH1C EQU 8003HMODE EQU 800BHCMMD EQU 8008HMASKS EQU 800F

4、HREQ EQU 8009HSTATUS EQU 8008Hrst equ 800dhLATCH EQU 9000H ORG 2860H ;FORM EPROM FILE (.COM),SET ORG= 0100HSTART: JMP START0BUF DB ?,?,?,?,?,?data1: db 0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h,88h,83h,0c6h,0a1h db 86h,8eh,0ffh,0ch,89h,0deh,0c7h,8ch,0f3h,0bfh,8FHSTART0: MOV SI,3000H MOV DI,5000H

5、MOV CX,1FFFH MOV AL,00 MOV DX,LATCH OUT DX,AL NOP NOP mov dx,rst out dx,al MOV DX,CLEARF OUT DX,AL MOV AL,0FH ;MASK_CH_0-3 MOV DX,MASKS OUT DX,AL NOP NOP MOV DX,CH0A ;L-SAD MOV AX,SI OUT DX,AL MOV AL,AH OUT DX,AL NOP NOP MOV DX,CH1A ;L-DAD MOV AX,DI OUT DX,AL MOV AL,AH OUT DX,AL NOP NOP MOV AX,CX ;C

6、OUNT MOV DX,CH1C OUT DX,AL MOV AL,AH OUT DX,AL MOV AL,48H ;P_MODE MOV DX,MODE OUT DX,AL MOV AL,45H OUT DX,AL MOV AL,01H ;ON-8237 MOV DX,CMMD OUT DX,ALL1: MOV AL,0EH ;UNMASK_CH_0 MOV DX,MASKS OUT DX,AL MOV AL,04H ;START_DMA_TRANSFER MOV DX,REQ OUT DX,AL MOV DX,STATUS NOP NOPWAIT1: IN AL,DX TEST AL,03

7、H JZ WAIT1 ; CALL CMP1 ; JNZ ERR MOV DX,CH1C IN AL,DX MOV AH,AL IN AL,DX CMP AX,0FFFFH JNZ L1 CALL BUF1 MOV CX,0080HL2: PUSH CX CALL DISP POP CX LOOP L2 CALL BUF2L3: CALL DISP JMP L3;-CMP1: MOV DX,CH0A CALL CMP10 MOV SI,AX MOV DX,CH1A CALL CMP10 MOV DI,AX MOV AX,SI CMP DI,AX RETCMP10: IN AL,DX MOV B

8、L,AL IN AL,DX MOV AH,AL MOV AL,BL DEC AX RETERR: CALL BUF3ERR0: CALL DISP JMP ERR0;-DISP: MOV AL,0FFH ;00H MOV DX,PA OUT DX,AL MOV CL,0DFH ;20H ;顯示子程序 ,5ms MOV BX,OFFSET BUFDIS1: MOV AL,BX MOV AH,00H PUSH BX MOV BX,OFFSET DATA1 ADD BX,AX MOV AL,BX POP BX MOV DX,PB OUT DX,AL MOV AL,CL MOV DX,PA OUT D

9、X,AL PUSH CXDIS2: MOV CX,00A0HDELAY: LOOP DELAY POP CX CMP CL,0FEH ;01H JZ LX1 INC BX ROR CL,1 ;SHR CL,1 JMP DIS1LX1: MOV AL,0FFH MOV DX,PB OUT DX,AL RETBUF1: MOV BUF,08H MOV BUF+1,02H MOV BUF+2,03H MOV BUF+3,07H MOV BUF+4,17H MOV BUF+5,17H RET;-BUF2: MOV BUF,09H MOV BUF+1,00H MOV BUF+2,00H MOV BUF+3,0DH

溫馨提示

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

評論

0/150

提交評論