第8章 可编程DMA控制器8237A_第1页
第8章 可编程DMA控制器8237A_第2页
第8章 可编程DMA控制器8237A_第3页
第8章 可编程DMA控制器8237A_第4页
第8章 可编程DMA控制器8237A_第5页
已阅读5页,还剩57页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第8章 可编程DMA控制器8237A 8.1 概述 8.2 8237A的内部结构与引脚8.3 8237A的工作方式8.4 8237A内部寄存器功能及格式8.5 8237A的编程及应用 2回顾 DMA方式传输的特点3回顾:DMA传输的产生条件I/ODMACCPU请求请求DREQ请求请求HRQ回答回答回答回答HLDA4回顾 DMA的基本原理图问题:问题:具体实现具体实现DMA的芯片结构如何?如何运作?的芯片结构如何?如何运作?8.1 概述 8.1.1 8237A芯片的主要功能(1)有4个独立DMA通道,每个通道均可独立传送数据。(2)每个通道DMA请求都可分别允许和禁止。(3)每个通道均有64 K

2、B寻址和计数能力。(16位地址寻址能力)(4)有4种DMA传送方式,分别为单字节传送、数据块传送、请求传送和级联传送方式。(5)需要更多数据传送通道可把8237A级联。8237A通道通道0通道通道1通道通道2通道通道3接接口口接接口口接接口口接接口口外外设设外外设设外外设设外外设设8.1 概述8.1.2 8237A的工作状态DMA控制器除了作为I/O设备接受CPU指令和设置外,还可以作为主控设备,替代CPU对总线读写进行控制,控制I/O设备和存储器之间的直接数据传送,普通I/O设备是没办法控制总线的读写的。问题:问题:DMA芯片和普通接口芯片有什么不同?芯片和普通接口芯片有什么不同?(1)从态

3、方式从态方式:DMA控制器未取控制器未取得总线控制权时须由得总线控制权时须由CPU对其进行对其进行编程,初始化并设定它的工作参数,编程,初始化并设定它的工作参数,CPU处于主控状态,处于主控状态,DMA控制器控制器和一般和一般I/O芯片一样,是系统总线芯片一样,是系统总线从设备。从设备。(2)主态方式主态方式:DMA控制器取得控制器取得总线控制权后,系统就完全在它的总线控制权后,系统就完全在它的控制下,使控制下,使I/O设备和存储器之间设备和存储器之间或存储器与存储器之间进行直接的或存储器与存储器之间进行直接的数据传送。数据传送。CPUDMACRAMI/O8.2 8237A内部结构及引脚 问题

4、:8237A内部应该有哪些功能模块?应该从数据、状态、控制几方面来考虑。8-2-1 8237A内部结构 8237A内部结构由数据和地址缓冲器组、内部寄存器、命令控制逻辑、时序与控制逻辑、优先级编码电路等组成。8237A内部结构简图98237A内部结构简化表示10时序与控制逻辑n片选,时钟,读写控制信号等11优先级编码电路n固定优先级和循环优先级;n一旦某个通道正在服务,其它通道均被禁止,直到该通道完成传输。12数据/地址缓冲器组n缓冲器可以连接系统总线。13命令控制逻辑n内部地址译码(A0-A3)等。14内部寄存器组n有4个独立通道,每个通道有4个16位寄存器,一个工作方式寄存器;n另有5个全

5、芯片共用寄存器:命令,状态,请求,屏蔽,暂存。8.2 8237A内部结构及引脚问题:芯片对外的联络方式如何?(引脚信号情况)8-2-2 8237A的引脚 8237A是40引脚的双列直插式器件,由于它既可做主模块又可做从模块,故其外部引脚设置也具有一定的特点。如它的I/O读写线和数据线是双向的,另外,还设置了存储器读/写线和16位地址输出线。这些都是其他I/O接口芯片所没有的。 片内寄存器片内寄存器寻址寻址/存储存储器低位地址器低位地址存储器低位存储器低位地址地址DMA过程结束过程结束数据数据/存储器存储器高位地址高位地址从从DB7-0输输出高出高8位位地址地址外设外设DMA请求请求应答外设的应

6、答外设的DMA请求请求17n4. 8237A的外部引脚(分类说明)1) 请求与响应信号引脚(1) DREQ(DMA Request,输入)DREQ0DREQ3。每个通道对应一个DREQ信号端,此引脚连接外设的DMA请求信号。 (2) HRQ(Hold Request,输出)8237A收到外设接口发来DREQ信号后,如果该通道的DMA请求没有被屏蔽,则DMA控制器的HRQ端输出有效电平,向CPU发出总线请求。(3) HLDA(Hold Acknowledge,输入)DMAC向CPU发总线请求信号HRQ以后,CPU发回的总线响应信号。8237A收到该信号后,便获得了总线控制权。(4) DACK(D

7、MA channel Acknowledge,输出)DACK0 DACK3。这是DMAC送给I/O接口的回答信号,每个通道对应一个DACK信号端。DMAC获得CPU送来的总线允许信号HLDA以后,便产生DACK信号送到相应发出请求的外设接口。182) DMA传送控制信号引脚IOR/IOW: 双向,被动态时接收CPU的读/写命令,主动态时向I/O发读/写命令;MEMR/MEMW: 输出,主动态时向M发读/写命令;CS: 被动态时,由CPU选中该芯片进行读/写操作;DB0DB7:被动态时作数据线,双向三态,主动态时双功能,地址和数据分时复用:传送M地址的A815,M-M传输时作数据输入/输出线;A

8、0A3:双向,被动态作端口选择线(16个可访问端口),主动态发出M地址的A03;A4A7:单向,主动态发出M地址的A47;ADSTB:地址选通,输出,用于将DB0DB7发出的A815锁存到外部地址锁存器;192) DMA传送控制信号引脚AEN:地址允许,输出,主动态时为高电平,地址允许信号,输出,高电平有效。AEN使地址锁存器中锁存的高8位地址以及页面地址寄存器的4位地址一起送到地址总线上,与芯片直接输出的低8位地址共同构成内存单元的20位物理地址。AEN信号也使与CPU相连的地址锁存器无效,从而由8237A提供内存地址。READY:准备就绪,输入,用于慢速I/O或M申请延长总线周期;RESE

9、T:复位,输入,高有效,屏蔽寄存器被置1,所有通道工作在屏蔽状态,其他寄存器均清0。复位后,8237A进入空闲状态。 ;CLK:时钟,输入,为DMAC提供工作时钟;EOP:过程结束,双向,低有效,内部终止为输出,外部终止(强迫结束)为输入。NC:no code,未编码引脚,不连接8.3 8237A的工作方式问题:DMA控制器8237A是如何进行DMA传输的?(工作方式) 8.3.1 单字节传送方式单字节传送方式n在这种方式下,在这种方式下,8237A每传送每传送 1个字个字节,修改当前字节计数器及当前地址节,修改当前字节计数器及当前地址寄存器,然后释放系统总线,结束一寄存器,然后释放系统总线,

10、结束一次次DMA传送。如果收到新的一个传送。如果收到新的一个DMA请求,则重新申请总线,重复上请求,则重新申请总线,重复上述过程。在这种方式下,述过程。在这种方式下,CPU可以在可以在每个每个DMA周期结束后控制总线。周期结束后控制总线。n当内部字节计数器由当内部字节计数器由0减为减为FFFFH时,产生传输过程结束信号时,产生传输过程结束信号EOP,表示整个表示整个DMA传送过程结束。传送过程结束。发送发送DMA请求请求传送传送1字节,并修字节,并修改地址及计数改地址及计数DMA结束,结束,让出总线让出总线获得总线,获得总线,DMA开始开始问题:单字节传送方式有什么优缺点?传输效率较低,但传输

11、两个字节之间,CPU有机会得回控制权。如何进行更高效的传输?8.3.2 数据块传送方式n 外设准备好后,向8237A发DREQ信号,8237A收到该信号后向CPU发HRQ信号请求占用总线,CPU同意HRQ请求,向8237A发HLDA信号,然后8237A向外设发DACK信号开始DMA传送。n 在这种方式下,DMA控制器获得总线控制权后,可以连续进行多个字节的传送(最多64K字节)。只有当字节计数器计数由 0 减为FFFFH,或者收到外部输入的结束命令(从EOP引脚输入一个低电平信号)时,8237A才释放总线而结束传送。问题:数据块传输方式有什么特点?一次申请总线,可以传输多个字节(一个数据块,最

12、大64KB)8.3.3 请求传送方式n 这种工作方式与数据块传送方式类似,不同点在于每传送1 B后,8237A都对DREQ端进行测试,询问其是否有效。n 如检测到DREQ端变为无效电平,则停止DMA传送,但不释放系统总线,测试过程仍进行。n 当检测到DREQ端变为有效电平时,就在原来的基础上继续进行传送。n 这种方式的特点是DREQ信号一直有效时,连续传送数据,只有当字节计数器由 0 减为FFFFH,或外部送来有效的EOP信号才结束DMA传送过程。23问题:请求传送方式有什么特点?和数据块传送方式一样,一次申请总线,可以传输多个字节(最大64KB),不过有其独特特点,每传输一个字节都要重新检测

13、外设来的DREQ信号,如果信号无效,暂停传输,直到信号重新有效。8.3.4 级联传送方式在这种方式下可把一片8237A(主片)和几片8237A(从片)进行级联,以便扩充DMA通道。有什么特点?主片只作信号联络和管理,数据传输是在从片的控制下进行的。图图8-3 二级二级8237A级联级联258.4 8237A内部寄存器功能及格式思考:思考:要使用要使用8237A进行正确的进行正确的DMA数据传输,必须数据传输,必须对它进行编程控制对它进行编程控制,如何编程控制它?,如何编程控制它?对对8237A进行编程控制,就是往它各种内部寄存器写进行编程控制,就是往它各种内部寄存器写数据,以此来设定它的工作参

14、数,并启动它开始运作。数据,以此来设定它的工作参数,并启动它开始运作。通道共用通道共用寄存器寄存器请求寄存器请求寄存器;屏蔽寄存器;暂存寄存器;屏蔽寄存器;暂存寄存器;命令寄存器命令寄存器;状态寄存器状态寄存器;通道专用通道专用寄存器寄存器方式寄存器方式寄存器字节寄存器字节寄存器地址寄存器地址寄存器基字节计数寄存器基字节计数寄存器当前字节计数寄存器当前字节计数寄存器基地址寄存器基地址寄存器当前地址寄存器当前地址寄存器字节和字节和地址寄地址寄存器为存器为16位位8位位8位位26问题:8237A只有8根数据线,如何写入16位数据到字节计数或存储器地址相关的寄存器中?分两次写。往该寄存器拥有的端口地

15、址写入字节数据,连续对同一端口按顺序写两次,就可以把16位字的低八位和高八位分别写入寄存器中。如何确保低八位和高八位的顺序正确?8237A内有一个高/低位触发器,当用专门指令清0( P.195)这个触发器后,立即往寄存器写数,先写低八位,后写高八位即可。(软、硬件复位时,高/低触发器自动被清0)8.4 8237A内部寄存器功能及格式8237A的内部10个可编程寄存器详列下表。名 称位数数量功能当前地址寄存器164保存在DMA传送期间的地址值,可读写当前字节计数寄存器164寄存当前字节数,初始值比实际值少1,可读写基地址寄存器164寄存当前地址寄存器的初始值,只能写基字节数寄存器164保存相应通

16、道当前字(节)数的计数器的初值工作方式寄存器84寄存相应通道的方式控制字,由编程写入命令寄存器81寄存CPU发送的控制命令状态寄存器81存放8237A各通道的现行状态请求寄存器41寄存各通道的DMA请求信号屏蔽寄存器41用于选择允许或禁止各通道的DMA请求信号暂存寄存器81暂存传输数据,仅用于存储器到存储器的传输8.4.1 当前地址寄存器n每个通道都有一个16位的当前地址寄存器,用于存放DMA传送的存储器当前地址值。每传送一个数据,地址值自动增1或减1,以指向下一个存储单元。在编程状态下,CPU可用输出指令对该寄存器写入初值,也可由输入指令读出该寄存器中的值,但每次只能读/写8位数据,故对该寄

17、存器的读/写操作要分两次进行。若工作方式寄存器编程为自动预置操作,则当DMA传送结束,产生EOP信号后,8237A自动将基地址寄存器中保存的初始值装入该寄存器中。8.4.2 当前字节计数寄存器n每个通道都有一个16位长的当前字节计数寄存器,用来保存DMA传送的当前字节数。实际传送的字节数比编程写入的字节数大1。例如,编程的初始值为10,将传送11 B。每次传送以后,字节计数器减1。当其内容从 0 减 1 而到达FFFFH时,将产生终止计数TC脉冲输出终止计数。CPU访问它是以连续2 B对其读出或写入。在自动预置方式时,当EOP有效后,被重新预置成基字节计数寄存器里保存的初始值;如果在非自动预置

18、方式,这个计数器在终止计数之后将为FFFFH。问题:为什么会比要求的计数值多传一个字节?计数减到 0 后,还要传送一个字节,然后 0 再减一,才导致DMA传输终止。8.4.3 基地址寄存器n每个通道都有一个16位的基地址寄存器,用来存放对应通道当前地址寄存器的初始值,CPU对DMA控制器编程设置地址初值时,同时写入基地址寄存器和当前地址寄存器,即两个寄存器有相同的写入端口地址,编程时写入相同的内容。但基地址寄存器的内容不能被CPU读出,也不能被修改。问题:为什么要这个寄存器?设置该寄存器的主要目的在于,当执行自动预置操作时,当前地址寄存器能恢复到初始值。8.4.4 基字节计数寄存器n每个通道都

19、有一个16位的基字节计数寄存器,用于存放对应通道当前字节计数器的初始值,该值也是在CPU对8237A进行初始化编程时与当前字节计数器一起被写入的,且两者具有相同的写入端口,写入相同的内容。该寄存器的内容不会自动修改,也不能被CPU读出。问题:为什么要这个寄存器?主要用于自动预置操作时使当前字节计数器能恢复初始值。8.4.5 命令寄存器例,例,10000000B指示指示8237A,允许运作,允许运作,固定优先权顺序,禁止固定优先权顺序,禁止存储器到存储器传送存储器到存储器传送(即只允许存储器和(即只允许存储器和I/O直接直接DMA传送)。传送)。同时影响同时影响4个通道个通道33(1) D0内存

20、到内存的传输控制。 D0=0时:8237A进行的是外设接口和内存之间的数据传送,多数情况下均为此种 传送。 D0=1时:传送在存储器与存储器之间进行(详见8237A的传送类型)。(2) D1用于确定在进行存储器到存储器传送时,源地址是否保持不变。 D1=0时,数据传送过程中,源数据区地址按增量或减量进行修改。 D1=1时,数据传送过程中,源数据区地址不变。当希望某1个数据传送后覆盖1个区域时,可按此设置。34(3) D2用来启动和停止8237A工作。 D2=0时,启动8237A工作。 D2=1时,停止8237A的工作。 注意:这一位影响所有通道,一般情况下应使它为0(启动工作)。(4) D3选

21、择时序类型。 D3=0时使用普通时序,此时每传送一个字节一般需要34个时钟周期。 D3=1时传送一个字节的时间可以压缩到2个时钟周期。这是为满足某些高速外设的需要。但是,使用压缩时序时,8237A只改变低8位地址,因此传送的字节数限制在256个字节以内。35(5) D4用于选择8237A的优先级设置方式。 D4=0时采用固定优先级方式,此时,通道0优先级最高,通道1和通道2依次降低,通道3优先级最低。 D4=1时采用循环优先级方式,此种方式是优先级自动循环。这样4个通道的优先级基本均等,避免了一个通道独占总线的情况。36(6) D5决定采用滞后写还是扩展写。 在普通时序时,D5=0采用滞后写,

22、此时写脉冲滞后读脉冲一个周期。 D5=1采用扩展写,此时读、写脉冲同时产生,扩展写增加了写命令的宽度。 使用压缩时序时,这一位无意义。(7) D6用于设置DMA请求信号DREQ的有效电平。 D6=0时,DREQ高电平有效。 D6=1时,DREQ低电平有效。(8) D7用于设置DMA应答信号DACK的有效电平。 D7=0时,DACK低电平有效。 D7=1时,DACK高电平有效。37问题:命令控制字有什么特点?为4个通道共用,设置8237A整个芯片的运作参数。8.4.6 工作方式寄存器例,例,10000101B通道通道1的工作方式为数的工作方式为数据块传送方式,不自动据块传送方式,不自动预置,地址

23、递增,从预置,地址递增,从I/O传数据到内存。传数据到内存。39n D1、D0用来选择通道号。指出从同一个端口地址中写入的控制字应该送往4个寄存器中的哪一个。 D1D0=00:为通道0设置工作方式。 D1D0=01:为通道1设置工作方式。 D1D0=10:为通道2设置工作方式。 D1D0=11:为通道3设置工作方式。40n D3、D2位用来设置数据传送类型。数据传输类型有三种,即写传输、读传输和校验传输。n D3D2=00:设置为校验传送,可用此方式对读传送功能和写传送功能进行检验,这是一种虚拟传送。此时,8237A也会产生地址信号和信号,但并不产生对存储器和I/O接口的读/写信号。检验传送功

24、能一般用于器件测试。n D3D2=01:设为写传送,数据由I/O接口写入内存。n D3D2=10:设为读传送,数据从内存读出送到I/O接口。n D3D2=11:无效状态。41n D4位决定地址和计数初值是否可以重新装入。n D4=1:可以使DMA控制器进行自动预置。如果8237A被设置为具有自动预置功能,那么,在计数值到达1时,当前地址寄存器和当前字节计数器会从基本地址寄存器和基本字节计数器中重新取得初值,从而为进入下一个数据传送过程做好准备。要注意的是,如果一个通道被设置为具有自动预置功能,那么,本通道的对应屏蔽位必须为0。n D4=0:非自动预置。42nD5位指出每次传送一字节后当前地址寄

25、存器的内容是增1还是减1,即增量传送还是减量传送。nD5=0增量传送。nD=1减量传送。nD7、D6位用于设置工作方式。nD7D6=00时,设置为请求传送方式。nD7D6=01时,设置为单字节传送方式。nD7D6=10时,设置为块传送方式。nD7D6=11时,设置为级联传送方式。43思考:方式控制字有什么特点?8237A每个通道都有一个方式寄存器,控制着本通道的工作方式。但是4个寄存器共用一个端口地址,由方式控制字最低两位指出通道号。8.4.7 请求寄存器这个寄存器整个芯片只有这个寄存器整个芯片只有一个一个,公用。如图所示,公用。如图所示,DMA请请求寄存器中的求寄存器中的D1、D0位用来指出

26、通道号,位用来指出通道号,D2位用来表示是位用来表示是否对相应通道设置否对相应通道设置DMA请求,如请求,如D2为为1,则使相应通道的,则使相应通道的DMA请求触发器置请求触发器置1,于是产生,于是产生DMA请求,如请求,如D2为为0,则,则无请求。其余位不用。无请求。其余位不用。45思考:请求寄存器有什么特点?可由软件来启动DMA传送。一般情况下,DMA请求从8237A每个通道的DREQ引脚引入,由硬件发出。但是,由于8237A为每个通道都配备了1个DMA请求触发器和1个DMA屏蔽触发器,它们分别可以用来设置DMA请求标志和屏蔽标志,请求标志可由DMA请求寄存器进行设置。所以,有些情况下DM

27、A请求也可以由软件发出。8.4.8 屏蔽寄存器(1)通道屏蔽字。 8237A的屏蔽寄存器格式为:D1、D0位用来选择通道号,D2位为1时,所选择通道的DMA请求被屏蔽,D2位为0,清除屏蔽。8237A为每个通道配备了1个DMA屏蔽触发器,每个通道通过DREQ引脚向DMAC发出的DMA请求信号,均可通过屏蔽命令字或主屏蔽字进行屏蔽设置。当一个通道的DMA屏蔽标志设置为1时,这个通道就不能接收DMA请求了,不管是硬件的DMA请求,还是软件的DMA请求,都不会被受理。8.4.8 屏蔽寄存器(2)主屏蔽字。主屏蔽字的第n位对应第n个通道,D3D0位中某一位为1,就可以使对应的通道设置屏蔽。这样,可以一

28、次完成对4个通道的屏蔽设置。综合屏蔽命令字的高5位不用。应当注意,当复位后4个通道均置于被屏蔽状态,所以在编程时,应根据需要对相应的屏蔽位进行复位。 8.4.9 状态寄存器8237A的状态寄存器分别表示的状态寄存器分别表示4个通道的个通道的DMA请求状态和计数请求状态和计数状态。状态寄存器的高状态。状态寄存器的高4位位D7D4分别表示分别表示4个通道当前有无个通道当前有无DMA请求,比如请求,比如D5=1,表示通道,表示通道1当前有当前有DMA请求需要处理。请求需要处理。低低4位位D3 D0位分别表示位分别表示4个通道的计数结束状态,比如个通道的计数结束状态,比如D0=1表表示通道示通道0计数

29、结束。计数结束。8.4.10 暂存寄存器n暂存寄存器是一个8位的寄存器,在存储器至存储器传送期间,用来暂存从源地址单元读出的数据。当数据传送完成时,所传送的最后1 B数据可以由CPU读出。用RESET信号可以清除此暂存器。要注意有什么?全芯片只有一个,在存储器到存储器传输时,作为数据暂存用。存储器到存储器传输需要同时使用两个通道。8.4.11 软件命令(1)主清除命令(软件复位)。主清除命令的功能和RESET功能相同。即执行复位命令后使控制寄存器、状态寄存器、暂存器、DMA请求寄存器以及高/低触发器复位,屏蔽寄存器置位,同时使8237A进入空闲周期,便于编程。复位后屏蔽寄存器全置1,其它寄存器

30、全置零。复位命令的执行是通过对端口地址为芯片端口起始地址+0DH的端口实施一次写操作完成的,也就是对该端口执行一条输出指令,输出的具体内容无意义。OUT 0DH, AL ; 主清除命令AL的值无意义51(2)清除字节指示器(高/低触发器)命令。8237A内部有一个“高/低触发器”,当这个触发器为0时,与16位寄存器的低字节进行数据通信;为1时,访问高字节。每访问一次16位寄存器后,能自动翻转,0变1或1变0。在写入存储器起始地址或字节计数器初值之前,应将这个触发器清0,就可以按照先低后高的字节顺序写入初值。通过对端口地址为芯片端口起始地址+0CH的端口实施一次写操作完成。OUT 0CH, AL

31、 ; 该命令AL的值无意义52(3)清除屏蔽寄存器命令。清除所有屏蔽位,使各通道均可接受DMA传输请求。通过对端口地址为芯片端口起始地址+0EH的端口实施一次写操作完成。OUT 0EH, AL ; 该命令AL的值无意义8.5 8237A的编程及应用问题:了解寄存器的含义后,还无法立刻编程控制8237A,因为还不知道个读写各个寄存器要用到的端口地址,8237A各寄存器的端口地址是怎样编排的?8.5.1 8237A主要寄存器端口地址分配 DMA传送前CPU要对8237A进行初始化编程。 每片8237A有4个地址选择线A3A0,占用16个连续端口地址。各寄存器的低位地址 00H 0FH ,和芯片的起

32、始地址加起来即可访问各个寄存器,芯片的起始地址由外部片选信号的产生方式决定。54译码译码器器A4A5A68237ACSA0A1A2A31100101xxxx50H 5FH55A3 A2 A1 A0通道号IOR#IOW#0 0 0 0 (0H)0 0 0 10读当前地址寄存器读当前字节计数器写基 (当前)地址寄存器写基 (当前)字节计数器0 0 1 00 0 1 1 1读当前地址寄存器读当前字节计数器写基 (当前)地址寄存器写基 (当前)字节计数器0 1 0 00 1 0 12读当前地址寄存器读当前字节计数器写基 (当前)地址寄存器写基 (当前)字节计数器0 1 1 00 1 1 13读当前地址寄存器读当前字节计数器写基 (当前)地址寄存器写基 (当前)字节计数器1 0 0 0 (8H)1 0 0 1 (9H)1 0 1 01 0 1 11 1 0 01 1 0 11 1 1 0 (EH)1 1 1 1 (FH)公共端口读状态寄存器读暂存寄存器写控制寄存器写请求寄存器写屏蔽寄存器某一位写方式寄存器清除高/低触发器主清除(软件复位)清除屏蔽寄存器写屏蔽寄存器所有位(1)发送主清除命令,使8237A复位。(2)写工作方式寄存器。(3)写命令寄存器

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论