微机原理与接口第二版(陈红卫版)参考答案及复习纲要 下载本文

内容发布更新时间 : 2024/3/29 4:27:42星期一 下面是文章的全部内容请认真阅读。

3.设计题 (1)在8088CPU的系统中扩展32K字节的RAM,其扩充存储空间的起始地址为80000H。设系统的地址总线为A19~A0,数据总线为D7~D0,存储器芯片选用6264。采用74LS138译码器设计译码电路,画出扩展的存储器系统的连线图。 解:系统BUS D0~D7 D~D MEMW MEMR A0~A12

A19 A18 A17 A16 A 15 A14

A13 07 R/W D0~D7 6264 1# CS OE A0~A12 R/W D0~D7 6264 2# CS OE A0~A12 R/W D0~D7 6264 3# CS OE A0~A12 R/W D0~D7 6264 4# CS OE A0~A12

G1 Y1 G2A Y2 G2B 74LS138 Y3 C B A Y0 A0~A12 图5.7 习题3(1)连接 根据要求存储器系统的连接如图5.7所示。

(2)某微机系统的CPU为8088,且工作于最小方式,原有系统RAM存储器模块的容量为128KB,其首地址为40000H,现用6264RAM芯片(8K×8位)扩展一个容量为16KB的存储器模块,地址紧接原有RAM模块,试完成该扩展RAM模块设计(可选用译码器、与门、或门及非门等)。

解:原RAM存储器系统的容量为128KB,且首地址为40000H,则末地址为5FFFFH,现RAM存储器的首地址为60000H。该RAM扩展模块采用2片6264,其设计如图5.8所示。

A18 A17 G1Y0 Y1 A16

G 2AA19 Y2

G2B M/IO Y3 74LS138 A C 15?

A14 B Y7 A13 A D7~D0

MEMW

D7~D0 D7~D0 CS CS 8088系统 总线 WE 6264(1) WE 6264(2)

A12~A0 A12~A0 OE OE

MEMR

A12~A0

图5.8 习题3(2)连接 第六章

1. 填空题

(1)I/O数据缓冲器主要用于协调CPU与外部设备在 速度 上的差异。

(2)一般I/O接口的编址方式可以分成 存储器映像方式 和 I/O映像方式 两种。 (3)在微机系统中使用 地址 来区分不同的外部设备。 (4)CPU与I/O设备之间的数据传送方式有 无条件传送方式 、程序查询传送方式 、 中断控制方式 和 DMA方式 。

(5)一片Intel8255A一般占用 4 个端口地址。

(6)Intel8255A的端口C的按位置位/复位功能的控制字写入 控制寄存器 端口。 (7)Intel8255A工作在方式0时,端口A、B和C的输入/输出可以有 16 种组合。 (8)在DMA传送过程中完成数据传送功能是由 DMA控制器 硬件直接控制。 (9)在DMA方式下, DMA控制器 控制总线。

(10)在DMA数据传送方式中,实现地址的修改与传送字节数计数的主要功能部件是DMA控制器。

2. 画出程序查询数据传送方式的流程图。 解:程序流程如图6.6所示。

读取状态信息

否 准备就绪吗? 是

传送数据

图6.6 查询方式程序流程

3.假设某一计算机系统中有一片Intel8255A接口芯片,初始化时将它的A口、B口均设置成方式1输出,请写出这时Intel8255A与外设的联络信号名称与信号方向。

答:A口设置成方式1输出时的联络信号有:

OBFA:输出缓冲器缓信号,8255A输出给外设; ACKA:应答信号,外设给8255A;

INTRA:中断请求信号,8255A输出给CPU。 B口设置成方式1输出时的联络信号有:

OBFB:输出缓冲器缓信号,8255A输出给外设; ACKB:应答信号,外设给8255A;

INTRB:中断请求信号,8255A输出给CPU。

4.假设Intel8255A的A口地址为300H,B口地址为301H,C口地址为302H,控制口地址为303H,请编写程序段,分别完成:

(1) 设置A口和B口均为方式0输入,C口为方式0输出; (2) 设置A口为方式2,B口为方式1输入;

(3) 设置A口为方式1输入,B口为方式1输入,PC6,PC7为输出。 解:(1)MOV DX,303H

MOV AL,10010010B

OUT DX,AL (2)MOV DX,303H

MOV AL,11011111B OUT DX,AL

(3)MOV DX,303H

MOV AL,10110111B OUT DX,AL

5.写出图6.7中Intel8255A占用的四个端口地址。

D0~D7 D0~D7 IOR RD IOW WR A2 A1 A15

A1 A0 ?

A4 8255A

A3 A0 CS AEN

解:8255A的A口地址为:FFF0H;

B口地址为:FFF2H; C口地址为:FFF4H; 控制口地址为:FFF6H。

6.假设Intel8255A的端口地址为120H~123H,编写程序段使它的PC4产生一个正脉冲。 解:参考程序段如下:

MOV DX,0123H MOV AL,10000000B

OUT DX,AL ;初始化8255A MOV AL,00001000B OUT DX,AL NOP NOP INC AL

OUT DX,AL NOP NOP DEC AL

OUT DX,AL HLT

7.一个具有16键的简易键盘,若只允许使用Intel8255A的一个端口作键盘接口电路,请问应选用哪一个端口?若一片Intel8255A的三个端口均直接用于控制非编码键盘,最多的键数为多少?

解:一个具有16键的简易键盘,若只允许使用Intel8255A的一个端口作键盘接口电路,应选用C口。

图6.7 习题5的硬件连接

若一片Intel8255A的三个端口均直接用于控制非编码键盘,最多的键数为144。

8.图6.8是一片Intel8255A与软盘控制器连接的信号分配,箭头标明了I/O的方向。假设Intel8255A的端口地址为1200H~1203H,根据该图编写Intel8255A的初始化程序。

方式0 方式2 PC3 中断请求

PA0 PA1 ?PA7 PC4 PC5 PC6 PC7 PB0 PB1 PB2 PB3 PB4 PB5 PB6 PB7 PC0 PC1 PC2

选响响就选步读写磁启磁电同索D D ? D 017 通应应绪择进选选盘用头机步引道((选使准传驱方通通选 出入择能备感动向择软盘驱动器 ))器器好

图6.8 习题8的图示

0 CRC 解:Intel8255A的初始化程序为:

MOV DX,1203H MOV AL,0C0H OUT DX,AL

MOV AL,00001001B

OUT DX,AL ;开放输入中断,PC4=1 MOV AL,00001101B

OUT DX,AL ;开放输出中断,PC6=1

9.在8088最小系统中,由一片Intel8255A构成输入/输出接口,要求端口地址为240H~243H,Intel8255A的A口接输入设备,从A口读入数据并对这一数据的低4位取反(高4位不变)后,从B口输出。请完成下列问题:

(1) 设计Intel8255A片选信号的译码电路;

(2) 编写Intel8255A的初始化及输入/输出程序段。 解:(1)一种参考译码电路:

图6.9 习题9的参考译码电路

(2)MOV DX,0243H MOV AL,10011001B OUT DX,AL MOV DX,0240H

IN AL,DX XOR AL,0FH MOV DX,0241H OUT DX,AL HLT

10.简要说明Intel8237A的四种传送方式。 答:8237A在DMA传送时的四种工作方式: (1)单字节传送方式

每次DMA请求仅传送一个字节内容。 (2)数据块传送方式

当8237A工作在数据块传送方式下,一旦开始了DMA操作,就连续地进行字节数据传送直到当前字节计数器减到0,再减至0FFFFH后,产生有效的EOP信号为止。

(3)请求传送方式

请求传送方式类似于数据块传送方式,但每传送一个字节后,8237A都要对DREQ信号进行检查,若DREQ信号无效,就暂停传送数据。

(4)级联方式

8237A可以多片级联使用,以扩展DMA通道数。