微机原理及接口技术课后习题及参考答案 下载本文

6.17、答:因为在CPU响应中断时,会把中断允许标志位设置为0,即禁止CPU再响应可屏蔽中断,在中断处理程序的入口处使用STI指令开放中断,允许响应更高级的中断,实现中断嵌套。 6.18、答:IN AL, 21H

OR AL, 0FDH OUT 21H, AL

6.19、答:MOV AL, 13H

OUT 280H, AL

MOV AL, 10H OUT 21H, AL MOV AL, 01H OUT 21H, AL

习题7

7.1、设8253三个计数器的端口地址为201H、202H、203H,控制寄存器端口地址200H。试编写程序片段,读出计数器2的内容,并把读出的数据装入寄存器AX。 7.2 、设8253三个计数器的端口地址为201H、202H、203H,控制寄存器端口地址200H。输入时钟为2MHz,让1号通道周期性的发出脉冲,其脉冲周期为1ms,试编写初化程序段。 7.3 、设8253计数器的时钟输入频率为1.91MHz,为产生25KHz的方波输出信号,应向计数器装入的计数初值为多少?

7.4 、 设8253的计数器0,工作在方式1,计数初值为2050H;计数器1,工作在方式2,计数初值为3000H;计数器2,工作在方式3,计数初值为1000H。如果三个计数器的GATE都接高电平,三个计数器的CLK都接2MHz时钟信号,试画出OUT0、OUT1、OUT2的输出波形。

7.5 、试简述微机系统中定时器/计数器的必要性和重要性,以及定时实现的常用方法。

7.6、可编程定时器/计数器8253/8254有几个通道?各通道有几种工作方式?各种工作方式的主要特点是什么?8254与8253有什么区别?

7.7、8253的初始化编程包括哪几项内容?它们在顺序上有无要求,如何要求? 7.8、何谓日时钟?日时钟运行原理是什么? 7.9、日时钟定时中断的作用是什么?修改日时钟定时中断的一般步骤和方法是什么?

7.10、8253通道0的定时中断是硬中断(8号中断),它不能被用户调用,当用户对系统的时间进行修改时,需采用软中断INT 1AH。试问这两种中断有何关系?

习题七 参考答案

7.1 答:

MOV AL,80H OUT 200H,AL IN AL,203H

MOV BL,AL

IN AL,203H, MOV BH,AL MOV AX,BX

7.2 答: 要输出脉冲周期为1ms,输出脉冲的频率是钟频率为2MHz时,计数器初值是

,当输入时

使用计数器1,先读低8位,后读高8位,设为方式3,二进制计数,控制字是76H。设控制口的地址是200H,计数器0的地址是202H。程序段如下: MOV DX,200H MOV AL,76H OUT DX,,AL MOV DX,202H MOV AX,2000

OUT DX,AL

MOV AL,AH OUT DX,AL 7.3 答:

= 76.4

应向计数器装入的初值是76。

7.4 答: 计数器0工作在方式1,即可编程的单脉冲方式。这种方式下,计数的启动必须由外部门控脉冲GATE控制。因为GATE接了高电平,当方式控制字写入后OUT0变高,计数器无法启动,所以OUT0输出高电平。 计数器1工作在方式2,即分频器的方式。输出波形的频率f=

=

=666.7HZ,其周期为1.5ms,输出负脉冲的宽度等于CLK的周期为0.5μs。

计数器2工作在方式3,即方波发生器的方式。输出频率f=三个OUT的输出波形如下:

习题8

= 2000Hz的对称方波。

8.1、比较中断与DMA两种传输方式的特点。 8.2、 DMA控制器应具有那些功能?

8.3、8237A只有8位数据线,为什么能完成16位数据的DMA传送? 8.4、8237A的地址线为什么是双向的?

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

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

8.7、 8237A什么时候作为主模块工作,什么时候作为从模块工作?在这两种工作模式下,各控制信号处于什么状态,试作说明。 8.8、 说明8237A初始化编程的步骤。

8.9、 8237A选择存储器到存储器的传送模式必须具备那些条件? 8.10、DMA传送方式为什么能实现高速传送? 8.11、简述8237A的主要功能。

8.12、用DMA控制器8237A进行内存到内存传输时,有什么特点?

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

习题八 参考答案

8.1、答:中断方式下,外设需与主机传输数据时要请求主给予中断服务,中断当前主程序的执行,自动转向对应的中断处理程序,控制数据的传输,过程始终是在处理器所执行的指令控制之下。

直接存储器访问(DMA)方式下,系统中有一个DMA控制器,它是一个可驱动总线的主控部件。当外设与主存储器之间需要传输数据时,外设向DMA控制器发出DMA请求,DMA控制器向中央处理器发出总线请求,取得总线控制权以后,DMA控制器按照总线时序控制外设与存储器间的数据传输而不是通过指令来控制数据传输,传输速度大大高于中断方式。

8.2、答:DMA控制器应有DMA请求输入线,接收I/O设备的DMA请求信号;DMA控制器应有向主机发出总线请求的信号线和接收主机响应的信号线;DMA控制器在取得总线控制权以后应能发出内存地址、I/O读写命令及存储器读写命令控制I/O与存储器间的数据传输过程。

8.3、答:I/O与存储器间在进行DMA传送过程中,数据是通过系统的数据总线传送的,不经过8237A的数据总线,系统数据总线是具有16位数据的传输能力的。 8.4、答:8237A的A0~A3地址线是双向的,当8237A被主机编程或读状态处于从属状态,A0~A3为输入地址信号,以便主机对其内部寄存器进行寻址访问。当8237A取得总线控制权进行DMA传送时,A0~A3输出低4位地址信号供存储器寻址对应单元用,A0~A3必需是双向的。

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

才释放总线。

8.7、答: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传送过程使用。

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

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

8.13、答:设存储器页面寄存器内容已被置为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 ;