微机原理及应用习题与答案(12)

/2007-11-15

    15.8237A只有8位数据线,为什么能完成16位数据的DMA传送?

    答:I/O与存储器间在进行DMA传送过程中,数据是通过系统的数据总线传送的,不经过8237A的数据总线,系统数据总线是具有16位数据的传输能力的。

    16.8237A的地址线为什么是双向的?

    答:8237A的A0~A3地址线是双向的,当8237A被主机编程或读状态处于从属状态,A0~A3为输入地址信号,以便主机对其内部寄存器进行寻址访问。当8237A取得总线控制权进行DMA传送时,A0~A3输出低4位地址信号供存储器寻址对应单元用,A0~A3必需是双向的。

    17.说明8237A单字节DMA传送数据的全过程。

    答:8237A取得总线控制权以后进行单字节的DMA传送,传送完一个字节以后修改字节计数器和地址寄存器,然后就将总线控制权放弃。若I/O的DMA请求信号DREQ继续有效,8237A再次请求总线使用权进行下一字节的传送。

    18.8237A单字节DMA传送与数据块DMA传送有什么不同?

    答:单字节传送方式下,8237A每传送完一个字节数据就释放总线,传送下一字节时再请求总线的控制权。块传送方式下8237A必须把整个数据块传送完才释放总线。

    19. 8237A什么时候作为主模块工作,什么时候作为从模块工作?在这两种工作模式下,各控制信号处于什么状态,试作说明。

    答:8237A取得总线控制权后,开始进行DMA传送过程,此时8237A作为主模块工作。8237A在被处理器编程或读取工作状态时,处于从模块工作状态。8237A处于从模块时,若CS#=0、HLDA=0说明它正被编程或读取状态,IOR#与IOW#为输入,A0~A3为输入。8237A处于主模块时,输出地址信号A0~A15 (低8位经A0~A7输出,高8位经DB0~DB7输出)。8237A还要输出IOR#、IOW#、MEMR#、MEMW#、AEN、ADSTB等有效信号供DMA传送过程使用。

    20.说明8237A初始化编程的步骤。

    答:(1)写屏蔽字,阻止某通道的DMA请求。(2)写命令字(8号地址),确定信号有效电平、优先级方式、通道工作允许等。(3)写模式字(B号地址),确定某通道传送方式、传送类型、地址寄存器变化方式等。(4)置0先/后触发器。(5)设置地址寄存器、字节数寄存器的初值。(6)清除某通道屏蔽位,允许8237A响应其DMA请求。

    21.8237A选择存储器到存储器的传送模式必须具备那些条件?

    答:必须使用8237A内部的暂存器作为数据传送的缓冲器。8237A通道0的地址寄存器存放存储器的源地址、通道1的地址寄存器存放存储器的目的地地址、字节计数器存放传送的字节数,建立通道0的软件DMA请求来启动这一传输过程。

    22. 利用8237A的通道2,由一个输入设备输入一个32KB的数据块至内存,内存的首地址为34000H,采用增量、块传送方式,传送完不自动初始化,输入设备的DREQ和DACK都是高电平有效。请编写初始化程序,8237A的首地址用标号DMA表示。

    答:设存储器页面寄存器内容已被置为3。8237A初始化程序如下:

    MOV AL, 06H ;屏蔽通道2

    MOV DX, DMA+0AH ;

    OUT DX, AL ;

    MOV AL, 80H ;写通道2命令字:DREQ、

    MOV DX, DMA+08H ;DACK高电平有效,正常

    DUT DX, AL ;时序、固定优先级、允许8237A工作等。

    MOV AL, 86H ;写通道2模式字:块传

    MOV DX,DMA+0BH ;输、写传输、地址增、

    OUT DX, AL ;禁止自动预置等。

    MOV DX,DMA+0CH ;置0先/后触发器

    OUT DX,AL ;

    MOV AL,00H ;设通道2基地址为4000H

    MOV DX,DMA+04H ;

    OUT DX,AL ;

    MOV AL, 40H ;

    OUT DX, AL ;

    MOV AL, 0FFH ;设通道2基字节数为

    MOV DX, DMA+05H ;7FFFH (32767D)

    OUT DX, AL ;

    MOV AL, 7FH ;

    OUT DX, AL ;

    MOV AL,02H ;清除通道2屏蔽。

    MOV DX, DMA+0AH ;

    OUT DX, AL ;

    MOV AL, 06H ;通道2发DMA请求

    MOV DX,DMA+09H ;

    OUT DX,AL ;

    第10章 微机的基本接口技术

    1.简述行列式键盘矩阵的读入方法。

    答:将行线接输出口,列线接输入口,采用行扫描法,先将某一行输出为低电平,其它行输出为高电平,用输入口来查询列线上的电平,逐次读入列值,如果行线上的值为0时,列线上的值也为0,则表明有键按下。否则,接着读入下一列,直到找到该行有按下的键为止。如该行没有找到有键按下,就按此方法逐行找下去,直到扫描完全部的行和列。

    2.简述用反转法实现键的识别的基本方法。

    答:用反转法识别闭合键,需要用可编程的并行接口。行线和列线分别接在PA和PB 2个并行口上,首先让行线上的PA口工作在输出方式,列线上的PB口工作在输入方式,通过编程使PA口都输出低电平,然后读取PB口的列线值,如果某一列线上的值为0,则判定改列有某一键按下。为了确定是哪一行要对PA和PB进行反转,即对PA口重新进行初始化工作在输入方式,列线上的PB口工作在输出方式,并将刚读取的列线值从列线所接的PB口输出,再读取行线所接的PA口,取得行线上的输入值,在闭合键所在的行线上的值必定为0。这样,当一个键被按下时,必定可读得一对唯一的行值和列值。根据这一对行值和列值就可判断是哪一行哪一列的键被按下。


相关话题/

  • 领限时大额优惠券,享本站正版考研考试资料!
    大额优惠券
    优惠券领取后72小时内有效,10万种最新考研考试考证类电子打印资料任你选。涵盖全国500余所院校考研专业课、200多种职业资格考试、1100多种经典教材,产品类型包含电子书、题库、全套资料以及视频,无论您是考研复习、考证刷题,还是考前冲刺等,不同类型的产品可满足您学习上的不同需求。 ...
    本站小编 Free壹佰分学习网 2022-09-19