第9章可编程dma控制器8237a

第9章可编程dma控制器8237a

ID:14030028

大小:485.00 KB

页数:24页

时间:2018-07-25

第9章可编程dma控制器8237a_第1页
第9章可编程dma控制器8237a_第2页
第9章可编程dma控制器8237a_第3页
第9章可编程dma控制器8237a_第4页
第9章可编程dma控制器8237a_第5页
资源描述:

《第9章可编程dma控制器8237a》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、目录第9章可编程DMA控制器8237A9.18237A的引脚与内部结构9.1.1项目1:利用8237进行存贮器到存贮器数据传送9.1.2知识讲解9.28237A的控制字及应用9.2.1项目2:用8237A从接口向RAM输入数据并显示9.2.2知识讲解9.3项目扩展与工程应用9.3.1项目3:DMA进行存贮器到存贮器传送数据9.3.2项目4:DMA进行存贮器到I/O数据传送思考题与练习题第9章可编程DMA控制器8237A9.18237A的引脚与内部结构9.1.1项目1:利用8237进行存贮器到存贮器数据传送1.项目要求与目的(1)项目要求:利用8086CPU控制8237A可编程DMA

2、控制器,实现存贮器之间的DMA数据传送。(2)项目目的:●了解8237ADMA控制器基本原理。●掌握8237ADMA控制器的使用方法。●学习用DMA进行存贮器到存贮器传送数据的编程方法。2.项目电路连接与说明(1)项目电路连接:做MEM=>MEM数据传送时无需用户联线,系统自动做总线切换,本程序将RAM中的一段数据用DMA方式复制到另一地址。(2)项目说明:实验过程中不用联线,程序运行状态通过查看存贮器、寄存器内容来观察。要传送存储器的起始地址为8100H:0000H,传送字节数2000,8237的端口地址为00H~0FH,8237通道1的页面寄存器端口地址为83H,则利用8237

3、通道1进行存储器的数据传送。对程序进行编译连接后,使光标指向最后一条MOV指令处,点击菜单栏"调试"下拉菜单的"执行到光标所在行",使程序执行到此处。查看运行后8237寄存器值、存贮器的内容,点击菜单栏"查看"的"数据区窗口"中的"代码段数据窗口",查看8100:0000到8100:0800中数据与8100:0100到8100:0900中数据一致(要注意各实验系统为用户提供的RAM区间)。3.项目电路原理框图DMA进行存贮器到存贮器传送数据电路框图如图9-1所示。电路由8086CPU芯片、8237A芯片、RAM等组成。图9-1DMA进行存贮器到存贮器传送数据电路框图4.项目程序设计

4、(1)程序流程图DMA进行存贮器到存贮器传送数据程序流程图如图9-2所示。图9-2DMA进行存贮器到存贮器传送数据程序流程图(2)程序清单DMA进行存贮器到存贮器传送数据程序清单如下所示。DMAEQU00HDATASEGMENTPBDB?DATAENDSSTACKSEGMENTSTACKSTADW50DUP(0)TOPEQULENGTHSTASTACKENDSCODESEGMENTASSUMECS:CODE,DS:DATA,SS:STACKSTART:MOVAL,04HOUTDMA+0DH,AL;复位命令,使先后触发器清0MOVAL,08HOUT83H,AL;置通道1页面寄存器MO

5、VAL,00HOUTDMA+02H,AL;写地址低8位MOVAL,00HOUTDMA+02H,AL;写地址高8位MOVAX,2000;置传送字节数OUTDMA+03H,AL;先写入低8位MOVAL,AH;OUTDMA+03H,AL;后写入高8位MOVAL,88HOUTDMA+0BH,AL;后通道0模式字MOVAL,85HOUTDMA+0BH,AL;后通道1模式字MOVAL,83HOUTDMA+08H,AL;写命令字,允许通道0地址保持MOVAL,0EHOUTDMA+0FH,AL;通道0解除屏蔽MOVAL,04HOUTDMA+09H,AL;通道0软件请求,启动DMA传送MOVAH,4

6、CH;返回DOSINT21HCODEENDSENDSTART9.1.2知识讲解1.DMA传送的基本概念直接存储器存取DMA是一种外设与存储器或者存储器与存储器之间直接传送数据的方法,适用于需要大量数据高速传送的场合,通常在微机系统中,图像显示、磁盘存取、磁盘间的数据传送和高速的数据采集系统均可采用DMA数据交换技术。DMA传送示意图如图9-3所示,在数据传送过程中,DMA控制器可以获得总线控制权,控制高速I/O设备(如磁盘)和存储器之间直接进行数据传送,不需要CPU直接参与。用来控制DMA传送的硬件控制电路就是DMA控制器(简称DMAC)。图9-3DMA传送示意图图9-3DMA数据

7、传送过程如下:①I/O接口向DMAC发出DMA请求。②如果DMAC未被屏蔽,则在接到DMA请求后,向CPU发出总线请求,希望CPU让出数据总线、地址总线和控制总线的控制权,由DMAC控制。③CPU执行完现行的总线周期,如果CPU同意让出总线控制权,向DMAC发出响应请求的回答信号,并且脱离三总线处于等待状态。④DMAC在收到总线响应信号后,向I/O接口发DMA响应信号,并由DMAC接管三总线控制权。⑤进行DMA传送。DMAC给出传送数据的内存地址,传送的字节数,及发出

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。