微型计算机技术及应用--习题解答

更新时间:2023-10-16 07:31:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

微型计算机技术及应用习题解答

微型计算机技术及应用

--习题解答

第一章 微型计算机概述

1.1 微处理器、微型计算机和微型计算机系统三者之间有什么不同?

答:① 微处理器是微型计算机的核心,是微型计算机的一部分。它是集成在一块芯

片上的CPU,由运算器和控制器组成。 ② 微型计算机包括微处理器、存储器、I/O接口和系统总线,是微型计算机系统的主体。

③ 微型计算机系统包括微型计算机、外设及系统软件三部分。 1.2

CPU在内部结构上由哪几部分组成?CPU应具备哪些主要功能? 答:1.CPU在内部结构上由以下几部分组成:

① 算术逻辑部件(ALU); ② 累加器和通用寄存器组;

③ 程序计数器(指令指针)、指令寄存器和译码器; ④ 时序和控制部件。

2.CPU应具备以下主要功能: ① 可以进行算术和逻辑运算; ② 可保存少量数据;

③ 能对指令进行译码并执行规定的动作; ④ 能和存储器、外设交换数据;

⑤ 提供整个系统所需要的定时和控制; ⑥ 可以响应其他部件发来的中断请求。

累加器和其他通用寄存器相比,有何不同?

答:许多指令的执行过程以累加器为中心;输入/输出指令一般也以累加器来完成。 微处理器的控制信号有哪两类?

答:一类是通过对指令的译码,由CPU内部产生的。这些信号由CPU送到存储器、

I/O接口电路和其他部件。另一类是微型机系统的其他部件送到CPU的。通常用来向CPU发出请求。如中断请求、总线请求等。 微型计算机采用总线结构有什么优点? 答:首先是系统中各功能部件之间的相互关系变为各个部件面向总线的单一关系。其

次是一个部件只要符合总线标准,就可以连接到采用这种总线标准的系统中,使系统功能得到扩充。 数据总线和地址总线在结构上有什么不同之处?如果一个系统的数据和地址合用一套总线或者合用部分总线,那么,要靠什么来区分地址或数据? 答:1.数据总线是双向三态;地址总线是单向输出三态。

2.数据和地址复用时,必须有一个地址选通信号来区分该总线上输出的是地址还是数据。 控制总线传输的信号大致有哪几种?

答:包括CPU送往存储器和I/O接口的控制信号,如读信号、写信号、中断响应信

号、存储器和I/O接口区分信号等。还包括其他部件送到CPU的信号,如时钟信号、中断请求信号、准备就绪信号等。

1

1.3 1.4

1.5

1.6

1.7

微型计算机技术及应用习题解答

第二章 8086微处理器 2.1

总线接口部件有哪些功能?请逐一进行说明。

答:1.总线接口部件的功能是负责与存储器、I/O端口传送数据。

2.具体讲:① 总线接口部件要从内存取指令送到指令队列;

② CPU执行指令时,总线接口部件要配合执行部件从指定的内存单

元或者外设端口中取数据,将数据传送给执行部件,或者把执行部件的操作结果传送到指定的内存单元或外设端口中。 8086的总线接口部件由哪几部分组成?

答:4个段地址寄存器CS、DS、ES、SS;16位的指令指针寄存器IP;20位的地址

加法器;6字节的指令队列。 段寄存器CS=1200H,指令指针寄存器IP=FF00H,此时,指令的物理地址为多少?指向这一物理地址的CS值和IP值是唯一的吗? 答:1.该指令的物理地址=CS×10H+IP=21F00H。

2.指向这一物理地址的CS值和IP值不是唯一的。 8086的执行部件有什么功能?由哪几部分组成? 答:1.8086的执行部件的功能是负责指令的执行。

2.4个通用寄存器AX、BX、CX、DX;4个专用寄存器BP、SP、SI、DI;标志寄存器FLAGS和算术逻辑单元ALU。 状态标志和控制标志有何不同?程序中是怎样利用这两类标志的?8086的状态标志和控制标志分别有哪些?

答:1.不同之处在于:状态标志由前面指令执行操作的结果对状态标志产生影响,即

前面指令执行操作的结果决定状态标志的值。控制标志是人为设置的。

2.利用状态标志可进行计算和判断等操作。利用控制标志可对某一种特定功能(如单步操作、可屏蔽中断、串操作指令运行的方向)起控制作用。 3.8086的状态标志有:SF、ZF、PF、CF、AF和OF计6个。 8086的控制标志有:DF、IF、TF计3个。 8086/8088和传统的计算机相比在执行指令方面有什么不同?这样的设计思想有什么优点? 答:1.传统的计算机在执行指令时,指令的提取和执行是串行进行的。8086/8088 CPU

的总线接口部件和执行部件在提取和执行指令时是并行同时工作的。 2.8086/8088 CPU的设计思想有力地提高了CPU的工作效率,这也正是8086/8088成功的原因之一。 总线周期的含义是什么?8086/8088的基本总线周期由几个时钟组成?如一个CPU的时钟频率为24MHz,那么,它的一个时钟周期为多少?一个基本总线周期为多少?如主频为15MHz呢? 答:1.总线周期的含义是总线接口部件完成一个取指令或传送数据的完整操作所需的最

少时钟周期数。

2.8086/8088的基本总线周期由4个时钟周期组成。

3.当主频为24MHz时,Tφ=1/24MHz≈41.7ns,T总=4Tφ≈167ns。 4.当主频为15MHz时,Tφ=1/15MHz≈66.7ns,T总=4Tφ≈267ns。 在总线周期的T1、T2、T3、T4状态,CPU分别执行什么动作?什么情况下需要插入等待状态TW?TW在哪儿插入?怎样插入?

答:1.在总线周期的T1、T2、T3、T4状态,CPU分别执行下列动作:

① T1状态:CPU往多路复用总线上发出地址信息,以指出要寻找的存储单元或外设端口的地址。

2

2.2

2.3

2.4

2.5

2.6

2.7

2.8

微型计算机技术及应用习题解答

② T2状态:CPU从总线上撤销地址,而使总线的低16位浮置成高阻状态,为传输数据做准备。总线的高4位(A19~A16)用来输出本总线周期的状态信息。

③ T3状态:多路总线的高4位继续提供状态信息。低16位(8088为低8位)上出现由CPU写出的数据或者CPU从存储器或端口读入的数据。 ④ T4状态:总线周期结束。

2.当被写入数据或者被读取数据的外设或存储器不能及时地配合CPU传送数据。这时,外设或存储器会通过“READY”信号线在T3状态启动之前向CPU发一个“数据未准备好的信号”,于是CPU会在T3之后插入一个或多个附加的时钟周期TW。

3.TW插在T3状态之后,紧挨着T3状态。

4.插入的TW状态时的总线上的信息情况和T3状态的信息情况一样。当CPU收到存储器或外设完成数据传送时发出的“准备好”信号时,会自动脱离TW状态而进入T4状态。

2.9

从引腿信号上看,8086和8088有什么区别?

答:① 8086有16根数据/地址复用总线,8088只有8根,称AD7~AD0。

② 8086的第28腿为M/IO,8088的第28腿为M/IO(为兼容8080等)。 ③ 8086的第34腿为BHE/S7,8088的第34腿为SS0。

2.10 在对存储器和I/O设备读写时,要用到IOR、IOW、MR、MW信号,这些信号在

M/IO

IOR

M/IO

IOW

M/IO

MR

M/IO

MW

最大模式和最小模式时分别可用怎样的电路得到?请画出示意图。 答:1.最小模式(以8086为例):

2.最大模式:用8288总线控制器来实现。

2.11 CPU启动时,有哪些特征?如何寻找8086/8088系统的启动程序?

答:1.CPU启动时,有以下特征:

① 内部寄存器等置为初值; ② 禁止中断(可屏蔽中断); ③ 从FFFF0H开始执行程序; ④ 三态总线处于高阻状态。

2.8086/8088系统的启动程序从FFFF0H单元开始的无条件转移指令转入执行。 2.12 CPU在8086的微机系统中,为什么常用AD0作为低8位数据的选通信号?

答:因为每当CPU和偶地址单元或偶地址端口交换数据时,在T1状态,AD0引腿传

送的地址信号必定为低电平。而CPU的传输特性决定了只要是和偶地址单元或偶地址端口交换数据,则CPU必定通过总线低8位即AD7~AD0传输数据。可见AD0可以用来作为接于数据总线低8位上的8位外设接口芯片的选通信号。 2.13 8086和8088在最大模式或最小模式时,引腿信号分别有什么不同? 答:在此两种模式中,只有第24~31腿的信号不同。 24 25 26 27 28 29 30 引腿号 最小模式信号

31 HOLD INTA ALE DEN DT/R M/IO 3

WR HLDA 微型计算机技术及应用习题解答

QS1 QS0 最大模LOCK RQ/GT1 RQ/GT0 S0 S2 S1 式信号 另外8088的第34腿在最大模式时为高电平,最小模式时为SS0状态信号。8088的第28腿在最小模式时为M/IO信号。

2.14 8086和8088是怎样解决地址线和数据线的复用问题的?ALE信号何时处于有效电平?

答:1.在总线周期的T1状态,复用总线用来输出要访问的存储器或I/O端口的地址给

地址锁存器8282(3片)锁存;在其他状态为传送数据或作传送准备。地址锁存器8282在收到CPU发出的地址锁存允许信号ALE后,锁存地址。 2.ALE信号在每个总线周期的T1状态为有效高电平。 2.15

BHE信号和A0信号是通过怎样的组合解决存储器和外设端口的读/写的?这种组合决定了8086系统中存储器偶地址体及奇地址体之间应该用什么信号来区分?怎样区分?

答:1.组合情况如下: 操 作 所用的数据引腿 BHE A0 0 1 0 0 0 0 1 1 从偶地址开始读/写一个字 从偶地址单元或端口读/写一个字节 从奇地址单元或端口读/写一个字节 AD15~AD0 AD7~AD0 AD15~AD8 AD15~AD8 AD7~AD0 从奇地址开始读/写一个字(在第一个总线1 0 周期,将低8位数送AD15~AD8, 在第二个总线周期,将高8位数送AD7~AD0) 2.用A0信号来区分偶地址体和奇地址体。 3.当A0=0时选中偶地址体,A0=1时选中奇地址体。

2.16 RESET信号来到后,CPU的状态有哪些特点?

答:复位信号来到后,CPU便结束当前操作,并对处理器标志寄存器FR、IP、DS、

SS、ES、其他寄存器及指令队列清0,而将CS设置为FFFFH。当复位信号变为低电平后,CPU从FFFF0H单元开始执行程序。 2.17 在中断响应过程中,8086往8259A发的两个INTA信号分别起什么作用?

答:第一个负脉冲通知外部设备的接口,它发出的中断请求已经得到允许;外设接口

收到第二个负脉冲后,往数据总线上放中断类型码,从而CPU得到了有关此中断请求的详尽信息。 2.18 总线保持过程是怎样产生和结束的?画出时序图。

答:1.当系统中CPU之外的另一个主模块要求占用总线时,通过HOLD引腿向CPU

发一个高电平的请求信号。如果CPU此时允许让出总线,就在当前总线周期完成时,于T4状态从HLDA引腿发出一个应答信号,对刚才的HOLD请求做出响应。同时,CPU使地址/数据总线和控制状态线处于浮空状态。总线请求部件收到HLDA信号后,就获得了总线控制权,在此后一段时间,HOLD和HLDA都保持高电平。在总线占有部件用完总线之后,会把HOLD信号变为低电平,表示现在放弃对总线的占有。8086/8088收到低电平的HOLD信号后,也将HLDA变为低电平,这样,CPU又获得了地址/数据总线和控制状态线的占有权。 2.时序图为:

4

微型计算机技术及应用习题解答

T4/TI 采样 CLK HOLD HLDA 三态引腿

高阻 采样 2.19 8086系统在最小模式时应该怎样配置?请画出这种配置并标出主要信号的连接关系。

答:1.8086系统在最小模式时的配置是:8086CPU一片,8284A时钟发生器一片,

8282地址锁存器三片,8286总线收发器二片。 2.连接关系为: RESET 8284A

READY

8282

BHE (3片) CLK RESET READY STB ALE

地址总线 BHE

A19~A16 AD15~AD0 8286(2片) OE T 控制总线 数据总线 DEN 2.20 时钟发生器的功能是什么?画出它的线路图。

答:1.时钟发生器的功能是:提供频率恒定占空比符合标准的时钟信号,对准备好

(READY)和复位(RESET)信号进行同步。 2.线路图见书21页图2.7所示。 2.21 8086在最大模式下应当怎样配置?最大模式时为什么一定要用总线控制器?总线控

制器的输入信号是什么?输出信号是什么?

答:1.8086在最大模式下的配置是:8086CPU一片,8284A时钟发生器一片,8282

地址锁存器三片,8286总线收发器二片,8288总线控制器一片,8259A中断优先级管理部件一片。

2.因为在最大模式下,需要用外加电路来对CPU发出的控制信号进行变换和组合,以得到对存储器和I/O端口的读/写信号和对锁存器8282及总线收发器8286的控制信号。8288总线控制器就是完成上述这些功能的专用芯片。所以必须用总线控制器。

3.总线控制器的输入信号是:来自CPU的S2、S1、S0状态信息,时钟CLK信号,及决定本身工作方式的信号IOB、AEN、CEN。

4.总线控制器的输出信号是:用来作为CPU进行中断响应的信号INTA,两组读

5

微型计算机技术及应用习题解答

⑤ 接收复位信号RESET,使8251A处于空闲状态。

6.16 什么叫异步工作方式?画出异步工作方式时8251A的TxD和RxD线上的数据格式。

答:1.在两个相近频率的时钟分别控制下,只需一个起始位的信息按字符传送的方式

发送器输出 D0D1??Dn 由8251A产生 TxD

启动位 数 据 位 校验位 停止位 接收器输入 D0D1??Dn 不出现在数据总线上 RxD

启动位 数 据 位 校验位 停止位 叫异步工作方式。 2.异步工作方式时8251A的TxD和RxD线上的数据格式为:

6.17 什么叫同步工作方式?什么叫双同步字符方式?外同步和内同步有什么区别?画出

双同步工作方式时8251A的TxD线和RxD线上的数据格式。

答:1.在同一时钟控制下需用同步字符同步的信息按组传送的方式叫同步工作方式。

2.需用2个同步字符的同步工作方式叫双同步字符方式。

3.外同步只能工作于同步接收方式,而内同步即适用于同步接收,也适用于同步发送。外同步是由外设来搜索同步字符,一旦搜索成功,立即给串行接口的同步输入端送来一个高电平,表示同步已实现,串行接收端开始接收数据。而内同步由串行接口本身来搜索同步字符而实现同步的。

发送格式 TxD线上的串行输出数据

同步字符1 同步字符2 数 据 字 符

接收格式 RxD线上的串行输入数据

同步字符1 同步字符2 数 据 字 符

4.双同步工作时8251A的TxD和RxD线上的数据格式为:

6.18 8251A 和CPU之间有哪些连接信号?其中C/D和RD、WR如何结合起来完成对命

令、数据的写入和状态、数据的读出?

答: 1.8251A 和CPU之间的连接信号有:片选信号—CS,数据信号—D7~D0,读/

写控制信号—RD、WR、C/D,收发联络信号—TxRDY、TxE、RxRDY、SYNDET。

2.C/D=0、RD=0、WR=1时CPU从8251A输入数据; C/D=0、RD=1、WR=0时CPU往8251A输出数据; C/D=1、RD=0、WR=1时CPU读取8251A的状态; C/D=1、RD=1、WR=0时CPU往8251A写入控制命令。

6.19 8086/8088系统中,8251A的C/D端应当和哪个信号相连,以便实现状态端口、数据

端口、控制端口的读/写?

答:8251A的C/D端应与地址总线的A1相连。 6.20 8251A与外设之间有哪些连接信号?

答:收发联络信号—DTR、DSR、RTS、CTS,数据信号—TxD、RxD。

16

微型计算机技术及应用习题解答

6.21 为什么8251A要提供DTR、DSR、RTS、CTS四个信号作为和外设的联络信号?平

常使用时是否可以只用其中两个或者全部不用?要特别注意什么?说明CTS端的连接方法。

答:1.8251A的这四个信号是提供给CPU和外设进行联络用的,因为CPU不能和外

设直接相连。这样CPU对外设的控制信号DTR和RTS及外设给CPU的状态信号DSR和CTS必须由接口(此处为8251A)来传递。所以要提供此4个信号作为和外设的联络信号。

2.平常使用时可以只用其中两个或者全部不用。

3.要特别注意的是在某个时候CTS要输入一个低电平。否则CPU不能往8251A发送数据。

4. CTS一般接地,以确保不用它作联络信号时也维持低电平输入。

6.22 8086系统中采取什么措施来实现8位接口芯片和低8位数据线的连接且满足对奇/偶

端口的读/写?这样做的道理是什么?

答:1.将系统总线的A1与接口的A0相连接即可。软件上采用连续的偶地址代替端

口的奇/偶地址。

2.因为这样连接,从CPU这边来说,端口地址都是偶地址,传输信息时,信息总是出现在CPU的低8位数据总线上;而从端口这边来说,端口地址中既有奇地址也有偶地址,且是连续的,这又满足了许多8位接口芯片对端口地址的要求。 6.23 对8251A进行编程时,必须遵守哪些约定?

答:① 芯片复位以后,第一次用奇地址端口写入的值作为模式字进入模式寄存器。

② 若模式字中规定了8251A工作在同步模式,则CPU接着往奇地址端口输出

的1个或2个字节就是同步字符被写入同步字符寄存器。若有两个同步字符,则会按先后分别写入第一个同步字符寄存器和第二个同步字符寄存器。 ③ 此后,只要不是复位命令,不管是在同步模式还是在异步模式下,由CPU用

奇地址端口写入的值将作为控制字送到控制寄存器,而用偶地址端口写入的值将作为数据送到数据输出缓冲寄存器。 6.24 8251A的模式字格式如何?参照教材上给定格式编写如下模式字:异步方式,1个停

止位,偶校验,7个数据位,波特率因子为16。

答:1.8251A的模式字格式为:(含义见书240页图6.11所示) SSEPELLBB SCESEPELL0 0 P N S D P N 2 1 2 1 2 1 2 1 异步模式字 同步模式字 2.因是异步方式,波特率因子为16:B2B1=10;1个停止位:S2S1=01;偶校验:EP=1,PEN=1;7个数据位:L2L1=10。所以模式字为01111010B=7AH。 6.25 8251A的控制字格式如何?参照教材上列出的格式给出如下控制字:发送允许,接收

允许, DTR端输出低电平,TxD端发送空白字符, RTS端输出低电平,内部不复

位,出错标志复位。

答:1.8251A的控制字格式为:(含义见书241页图6.12所示) EH IR RTS ER SBRK RxE DTR TxEN 2.发送允许:TxEN=1,接收允许:RxE=1,DTR端输出低电平:DTR=1,TxD端发送空白字符SBRK=1; RTS端输出低电平:RTS=1,内部不复位:IR=0,

出错标志复位ER=1。EH=0/1则控制字为00111111B或10111111B =3FH或0BFH。

17

微型计算机技术及应用习题解答

6.26 8251A的状态字格式如何?哪几位和引腿信号有关?状态位TxRDY和引腿信号

TxRDY有什么区别?它们在系统设计中有什么用处?

答:1.8251A的状态字格式为:(含义见书242页图6.13所示) DSR SYNDET FE OE PE TxE RxRDY TxRDY 2.DSR、SYNDET、TxE、RxRDY四个状态位与其对应的引腿信号有关。 3.状态位TxRDY只要数据输出缓冲器为空就置1。而引腿TxRDY为1的条件是:

数据输出缓冲器为空、CTS为有效低电平、TxEN为1才可以,缺一不行。 4.能让CPU随时了解当前8251A的工作状态,而执行相应的操作。对查询方式的设计非常方便。

6.27 参考初始化流程,用程序对8251A进行同步模式设置。奇地址端口的地址为66H,

规定用内同步方式,同步字符为2个,用奇校验,7个数据位。

答:模式字为:00011000B=18H。两个同步字符取16H,控制字为97H,它使8251A

对同步字符进行检索;同时使状态寄存器中的3个出错标志复位;使8251A的发送器启动,接收器也启动;CPU当前已准备好进行数据传输。具体程序段如下:

MOV AL,18H ;设置模式字 OUT 66H,AL MOV AL,16H ;发送两个同步字符 OUT 66H,AL OUT 66H,AL MOV AL,97H ;设置控制字 OUT 66H,AL 6.28 设计一个采用异步通信方式输出字符的程序段,规定波特率因子为64,7个数据位,

1个停止位,用偶校验,端口地址为40H、42H,缓冲区首址为2000H:3000H。 答:模式字为:01111011B=7BH。控制字为:00110101B=35H。

MOV AL,0 ;为发复位命令作准备 OUT 42H,AL OUT 42H,AL OUT 42H,AL MOV AL,40H ; 发复位命令 OUT 42H,AL MOV AL,7BH ;设置模式字,异步方式,规定波特率因子为64

;7个数据位,1个停止位,偶校验

OUT 42H,AL MOV AL,35H ;设置控制字,使发送器和接收器启动,并清除

;出错标志

OUT 42H,AL PUSH DS

MOV BX,2000H ;DS:BX指向输出缓冲区首址 MOV DS,BX

MOV BX,3000H ;缓冲区指针初始化 MOV CX,100H ;发送100H个字节

BEGIN: IN AL,42H ;读取状态字,测试TxRDY是否为1

TEST AL,01H JZ BEGIN ;为0表示外设还未取走字符 MOV AL,[BX] ;从输出缓冲区取数 OUT 40H,AL ;发送字符

18

微型计算机技术及应用习题解答

INC LOOP POP ┆

BX BEGIN DS

;修改缓冲区指针 ;则再发送下一个字符

6.29 并行通信和串行通信各有什么优缺点?

答:并行通信的优点是信息实际传输速度快,信息率高。缺点是需多条通信线。串行

通信的优点是只用1至2条通信线,但信息传输速度较慢。 6.30 在输入过程和输出过程中,并行接口分别起什么作用?

答:简单说,并行接口只起着桥梁和联络的作用。具体如下:

① 输入过程:外设将数据送给接口,并使状态线“输出准备好”成为高电平。

接口把数据接收到数据输入缓冲寄存器的同时,使“数据输入回答”线变为高电平,作为对外设的响应。外设接到此信号,便撤消数据和“数据输入准备好”信号。数据到达接口后,接口便在状态寄存器中设置“输入准备好”状态位,并发中断请求,CPU可用查询方式或中断方式来设法读取接口中的数据。CPU读取数据后,接口会自动清除状态寄存器中的“输入准备好”位,并使数据总线处于高组状态。此后又可以开始下一个输入过程。

② 输出过程:当外设从接口取走一个数据后,接口就会将状态寄存器中的“输

出准备好”状态位置1,并发中断请求,以表示CPU当前可以通过查询方式或中断方式往接口中输出数据。当CPU输出的数据到达接口的输出缓冲器中后,接口会自动清除“输出准备好”状态位,并将数据送往外设,同时,接口往外设发送一个“驱动信号”来启动外设接收数据。外设被启动后,开始接收数据,并往接口发一个“数据输出回答”信号。接口收到此信号,便将状态寄存器中的“输出准备好”状态位重新置1,以便CPU输出下一个数据。 6.31 8255A的三个端口在使用时有什么差别?

答:端口A和端口B常常作为独立的输入端口或者输出端口,端口C则配合端口A

和端口B工作。 6.32 当数据从8255A的端口C往数据总线上读出时,8255A的几个控制信号CS、A1、

A0、RD、WR分别是什么电平?

答:CS=0、A1=1、A0=0、RD=0、WR=1。“0”为低电平,“1”为高电平。 6.33 8255A的方式选择控制字和置1/置0控制字都是写入控制端口的,那么,它们是由什么来区分的?

答:由最高位D7位来区分。D7=1时为方式选择控制字,D7=0时为端口C置1/置0

控制字。 6.34 8255A有哪几种工作方式?对这些工作方式有什么规定?

答:1.8255A有三种工作方式:方式0、方式1、方式2。

2.端口A可以工作于方式0、方式1、方式2;端口B可以工作于方式0、方式1;端口C只能工作于方式0或者配合端口A和端口B工作。 6.35 对8255A设置工作方式,8255A的控制口地址为00C6H。要求端口A工作在方式1,

输入;端口B工作在方式0,输出;端口C的高4位配合端口A工作;低4位为输入。 答: MOV DX,00C6H

MOV AL,0B1H ;取方式选择控制字为B1H(10110001B)或B9H

19

微型计算机技术及应用习题解答

OUT DX,AL

6.36 设8255A的4个端口地址为00C0H,00C2H,00C4H,00C6H,要求用置1/置0方

式对PC6置1,对PC4置0。 答: MOV DX,00C6H

MOV AL,0DH ;对PC6置1的控制字为0DH OUT DX,AL MOV AL,08H ;对PC4置0的控制字为08H OUT DX,AL 6.37 8255A在方式0时,如进行读操作,CPU和8255A分别要发什么信号?对这些信号

有什么要求?据此画出8255A方式0的输入时序。

答:1.CPU要发RD、CS、A2、A1四个信号,8255A要发数据信号D7~D0。

2.对信号的要求如下:

① CPU在发出读信号前,先发出地址信号。且在整个读出期间,地址信号保

持有效。

② 输入数据必须保持到读信号结束后才消失。 ③ 要求读脉冲的宽度至少为300ns。

3.8255A方式0的输入时序见书256页图6.24所示。 6.38 8255A在方式0时,如进行写操作,CPU和8255A分别要发什么信号?画出这些信

号之间的时序关系。

答:1.CPU要发WR、CS、A2、A1控制和地址信号及D7~D0数据信号,8255A输

出数据到外设。

2.8255A方式0的输出时序见书257页图6.25所示。 6.39 8255A的方式0一般使用在什么场合?在方式0时,如要使用应答信号进行联络,应

该怎么办?

答:1.方式0一般使用在同步传送和查询式传送中。

2.将端口A和端口B作为数据端口,把端口C的4个数位规定为输出口,用来输出一些控制信号,而把端口C的另外4位规定为输入口,用来读入外设的状态。 6.40 8255A的方式1有什么特点?参考教材中的说明,用控制字设定8255A的A口工作

于方式1,并作为输入口;B口工作于方式1,并作为输出口,用文字说明各个控制信号和时序关系。假定8255A的端口地址为00C0H,00C2H,00C4H,00C6H 答:1.方式1有如下特点:

① 端口A和端口B可分别作为两个数据口工作于方式1,并且任何一个端口

可作为输入或输出口。

② 若只有一个端口工作于方式1,则端口C有三位被规定配合其工作,其余

共13位可工作于方式0。

③ 若两个端口都工作于方式1,则端口C有6位被规定配合其工作,端口C

所剩2位仍可作为输入或输出。 2.控制字为10110100B=B4H。

MOV DX,00C6H MOV AL,0B4H ;取方式选择控制字为B4H(10110100B) OUT DX,AL

3.方式1输入口A口的各个控制信号和时序关系如下:

STBA接着就到,① 当外设来的输入数据出现之后,其宽度至少要求为500ns。

② 过tSTB时间后,IBFA有效,它可供CPU查询,为CPU工作于查询方式提

供了条件。

20

微型计算机技术及应用习题解答

14.13 8237A–5的页面寄存器有什么作用?在使用8237A–5时,对页面寄存器应用怎样的

指令进行设置?它的端口地址是什么? 答:1.页面地址用于提供DMA访问时不可缺少的最高4位地址A19~A16。而DMA控

制器本身的地址只有16位,无法提供A19~A16。 2.用输出指令进行设置。

3.4组页面寄存器对应的地址是80H(CH0),83H(CH1),81H(CH2),82H(CH3)。 14.14 IBM PC/XT的非屏蔽中断由哪几种原因引起?说明它们引起非屏蔽中断的原理。

答:1.一是系统板上的动态RAM有奇/偶校验错误,二是I/O通道的扩展板出现奇/

偶校验错误,三是协处理器8087有中断请求。 2.原理见书475页所示。 14.15 中断允许触发器的功能是什么?为什么一定要在系统中安排一个中断允许触发器?

在系统的自检程序中,是怎样使中断触发器开始起作用的?说明这一过程并用指令表示。

答:1.对送到8088 CPU的NMI中断提供屏蔽的手段。

2.因为刚加电时,RAM中必然为杂乱的随机信息,此时中断允许触发器已被RESET信号复位,禁止NMI中断。否则一加电就产生不必要的NMI中断而引起错误。

3.由校验程序用指令对NMI中断屏蔽触发器置位,使其起作用。 4. MOV AL,80H

OUT 0A0H,AL ;置位NMI中断屏蔽触发器 14.16 在IBM PC/XT中,8259A的工作方式具体是怎样的?请用程序段来表示8259A的初

始化过程。

答: 1.采用全嵌套方式,IR0的级别最高,IR7最低;ICW2为08H,这样8个中断类

型码为08H~0FH;中断请求信号采用边沿触发方式;用普通的中断结束方式;用普通屏蔽方式。 2. MOV AL,13H ;设置ICW1,单片,边沿触发,需要ICW4

OUT 20H,AL ;写入8259A的偶地址端口 MOV AL,08H ;设置ICW2

GND B1' A1' OUT 21H,AL ;写入

RESET DRV 8259A的奇地址端口

+5V MOV AL,01H ;设置ICW4

OUT 21H,AL ;写入IRQ2 8259A的奇地址端口 MOV AL,08H ;设置 OCW3,普通屏蔽方式

OUT 20H,AL ;写入

8259A的偶地址端口

14.17 IBM PC/XT系统中,8255A–5在系统处于自检方式GND B10' A10' 时控制字为89H,普通工作方式时控制字为99H,MEMW 这两个控制字分别对应了哪些功能?

MWMR 答:89H对应的是:Port A为方式0输出,Port B为

IOW 方式0输出,Port C为方式0输入。99H对应

IOR 的是:Port A为方式0输入,Port B为方式0

输出,Port C为方式0输入。

14.18 IBM PC/XT系统中,通过什么电路来读取DIP开关

的设置?

答:系统配置开关的状态通过PC3~PC0读入。

46

CLOCK B20' A20'

焊 盘 I/O CH CK D7 D6 D5 D4 D3 D2 D1 D0 I/O CH RDY AEN A19 A18 A17 A16 A15 A14 A13 A12 A11 A10 A9 元 A8 件 微型计算机技术及应用习题解答

14.19 如果一个设计人员要设计一块接口板,通过此接口板来扩展IBM PC/XT的功能,方

案考虑时,决定用系统的中断功能,中断请求信号由接口板供给。请你为他画出这块接口板的总线信号。

答:接口板的总线信号如右图所示。 14.20 IBM PC/XT系统中,RAM区、ROM区、系统保留区分别在什么范围?系统从加电到

执行BIOS程序的大致过程是怎样的?

答:1.RAM区在00000~9FFFFH范围,系统保留区在A0000~BFFFFH范围,ROM

区在C0000H~FFFFFH范围。 2.8086/8088加电后被复位,CS= FFFFH,IP=0000H,CPU就会自动转到FFFF0H处执行一条无条件转移指令,转去执行BIOS程序。 14.21 IBM PC/XT系统中,数据收发器是如何控制数据从I/O接口、ROM或系统扩展板往

CPU传送的?又如何控制数据从CPU送往这些部件?

答:1.数据收发器有一个方向控制端DIR,DIR信号由下列三组信号通过或非门U23

组合得到,当三组信号中任何1组为1时,都会使DIR成为低电平:

A8·A9·IOR;ROMADDRSEL= CS6+CS7;INTA+CARDSLCTD。当DIR为低电平时,数据收发器便允许这3组信号管理的区域将数据传输到CPU。第一组信号是用来读I/O接口芯片的,第二组信号用来读系统板的ROM,第三组信号在中断响应或者J8槽中的扩展板被选中时处于有效电平。

2.如果这3组信号都没有出现,则数据收发器的DIR为高电平,此时,如果AENBRD为低电平,则数据收发器使数据从CPU送往这个区域的局部总线。

14.22 IBM PC/XT系统中,动态RAM的刷新过程是怎样的?刷新时,为什么外部数据总线

上不会出现RAM中读出的数据?

答:1.将8253–5的计数器1用于刷新定时器,每隔15.12μs便向8237A–5的通道0

发一次DMA请求, DMA的通道0响应后即申请总线控制权,然后发出4164

刷新所要的行地址(低7位地址),并使所有的RAS有效,完成一次刷新操作。 2.刷新时,只用了行地址(低7位地址)和行地址选通信号RAS,而不用列地址选通信号CAS。因此,动态RAM刷新时不会把数据送到外部数据总线上。

14.23 RAM读/写控制电路在什么情况下产生行地址选通信号?在电路上是如何实现的?

答:1.产生行选信号有三个条件:

① 存储器读命令XMEMR或写命令XMEMW有一个有效,从而使U56的G1

端为高电平。 ② 8237A–5的DMA通道0来执行DMA操作,从而使DACK0BRD为高电平,

通过反相器U71又使G2A为低电平。

③ 访问系统板上的RAM时,U44的Q0端输出高电平,此时,DACK0BRD为高电平,这样,通过U24使G2B为低电平。

上述三个条件都满足时,U56产生译码信号,再由或门U55产生行地址选通信号RAS3~RAS0。

2.电路实现上面已介绍过了。

14.24 IBM PC/XT系统中,用什么信号产生列选信号?说明列选信号电路中延迟线的作用。

答:1. DACK0BRD为高电平使G1为高电平;RAMADDRSEL为低电平使G2A为低

电平; XMEMR和XMEMW有一个为低电平使G2B为低电平;才能使U42产

47

微型计算机技术及应用习题解答

生列地址选通信号。

2.延迟线的作用就是为了在写操作过程中等待生成奇/偶校验位,然后和数据本身一起写进存储器。

14.25 对IBM PC/XT系统进行RAM扩展时,要做哪些工作?要注意什么?以扩展256K为

例进行具体说明。 答:1.设置DIP开关的低4位,使扩展RAM的最低地址为40000H。即A19~A16=0100B,

所以DIP开关的第2位断开,1、3、4位闭合。要设置DIP开关的高4位,使其对应扩展板RAM容量(若开关8闭合则为256KB)。

2.要注意避免扩展板RAM的地址(最低位地址处)与系统板RAM地址重叠。 3.上面1也已用256K为例作了说明。 14.26 IBM PC/XT系统通过ROM中的一个字节来标识自己的型号,此字节地址为

F000:FFFEH,如代码为 FF—表示原装PC机 FE—表示为XT机 FD—表示PC兼容机 FC—表示为AT机 阅读下列程序,并在此基础上编写一程序,实现如下功能:读出F000:FFFEH中内容,并据此显示出此系统的型号,如“This is AT”。 START: PUSH DS ;保护段寄存器

PUSH BX

MOV BX,0F000H ;段地址为F000H MOV DS,BX

MOV BX,0FFFEH ;偏移量为FFFEH MOV AL,[BX] ;型号代码在AL中 POP BX POP DS RET

答:设原装PC机用“IBM PC”表示;XT机就用“XT”表示;PC兼容机就用“PC”

表示;AT机用“AT”表示。一样也不是,则用“NO ONE!”表示。程序如下: STAT: JMP DISP DISPMES DB ?This is? DISPME1 DB 6 DUP (20H),?$? ;20H为空格的ASCII码 DISP: CALL START ;取计算机型号

MOV BX,OFFSET DISPME1 CMP AL,0FFH ;是原装PC机吗? JNZ DISP1

MOV BYTE PTR [BX],?I? ;是原装PC机,填?IBM PC?供显示 INC BX

MOV BYTE PTR [BX],?B? INC BX

MOV BYTE PTR [BX],?M? INC BX ;填入一个空格 INC BX

MOV BYTE PTR [BX],?P? INC BX

MOV BYTE PTR [BX],?C? JMP DISPLAY ;转显示

DISP1: CMP AL,0FEH ;是XT机吗?

JNZ DISP2

MOV BYTE PTR [BX],?X? ;是XT机,填?XT?供显示

48

微型计算机技术及应用习题解答

DISP2:

DISP3:

DISP4: 供显示

INC MOV JMP CMP JNZ MOV 示 INC MOV JMP CMP JNZ MOV INC MOV JMP MOV INC MOV INC INC MOV INC MOV INC MOV MOV

BX

BYTE PTR [BX],?T? DISPLAY AL,0FDH DISP3

BYTE PTR [BX],?P? BX

BYTE PTR [BX],?C? DISPLAY AL,0FCH DISP4

BYTE PTR [BX],?A? BX

BYTE PTR [BX],?T? DISPLAY

BYTE PTR [BX],?N? BX

BYTE PTR [BX],?O? BX BX

BYTE PTR [BX],?O? BX

BYTE PTR [BX],?N? BX

BYTE PTR [BX],?E? AH,09H

;是兼容PC机吗? ;是兼容PC机,填?PC?供显

;是AT机吗?

;是AT机,填?AT?供显示

;一样也不是,填?NO ONE?

DISPLAY:

is ???

;显示程序,显示?This

MOV INT RET

第十五章 微型机操作系统

DX,OFFSET DISPMES 21H

15.1 操作系统的功能是什么?它和监控程序有什么区别?系统软件主要指哪些?衡量一

个操作系统的功能时,主要看什么功能?

答:1.操作系统的功能是负责管理计算机的所有资源,协调计算机的各种操作。

2.监控程序是操作系统中的一个输入/输出模块,是操作系统的一个子集。负责对键盘、显示器及一部分输入/输出功能的管理,往往具有针对性。而操作系统则提供所有的I/O管理,并能管理磁盘,且有各种功能协调。应用较为广泛,适应性强。

3.系统软件包括:操作系统、编辑程序、汇编程序、编译程序、连接程序、调试程序等一系列系统实用程序。

4.主要看操作系统能管理的用户数和作业数。 15.2 MS–DOS有哪三个主要模块?它们分别执行什么功能?互相之间的关系是什么?

答:1.基本输入/输出模块BIOS;磁盘管理模块(IBMDOS.COM);命令处理模块

(COMMAND.COM)。

2.① 基本输入/输出模块的功能是实现对输入/输出设备的管理; ② 磁盘管理模块的主要功能是实现磁盘文件的管理; ③ 命令处理模块的功能是接收、识别和处理键盘命令。

49

微型计算机技术及应用习题解答

3.它们之间可以单向调用。即磁盘管理模块只能调用基本输入/输出模块,命令处理模块可调用另两个模块,反过来不行。

15.3 MS–DOS的基本输入/输出模块主要由哪两部分组成?它们分别包含了哪些程序块?

想一想,为什么必须把输入/输出模块的一部分放在ROM中?能不能将输入/输出模块全部放在磁盘中?

答:1.由ROM BIOS和IBMBIO.COM两部分组成。

2.ROM BIOS包括系统测试程序,一部分中断处理程序和相应的中断向量装配程序,还有初始化引导程序。

IBMBIO.COM包含了一系列输入/输出驱动程序,及其中断向量的装配程序。 3.因为计算机启动复位后必须从内存的FFFF0H(8086/8088系统)开始执行程序,而不能从其它地方运行程序。其它地方的程序要运行也必须由ROM中的程序将其装配到内存中才能执行。

4.不能将输入/输出模块全部放在磁盘中。 15.4 磁盘管理模块由哪两部分组成?具体叙述这两部分程序的功能。

答:1.由“系统进一步设置程序”和“系统功能调用程序”两部分组成。

2.① 系统进一步设置程序,完成的类型为20H~27H的中断向量设置,并为每个

磁盘驱动器建立一个磁盘参数表。

② 系统功能调用程序:以类型21H的中断处理程序的形式提供。主要是I/O

管理、文件管理和目录管理。为高级用户提供了与操作系统之间联系的软件接口。 15.5 命令处理模块的功能具体和哪些命令相对应?此模块包括哪两部分?

答:1.与用户打入的键盘命令相对应。是操作系统和普通用户之间的接口。

2.此模块包括常驻部分和暂存部分两个部分。 15.6 通常说的“冷启动”和“热启动”有什么区别?IBM PC/XT系统的加电启动过程是

怎样的?

答:1.① 冷启动是指在关机情况下,通电启动的过程,它要进行系统测试。

② 热启动是指在运行中按Ctrl+Alt+Del这3个键使系统重新启动的过程。它

不进行系统测试,其它同冷启动一样。

2.系统一加电就进行系统测试,然后在A驱动器中查找是否有系统盘,如有,则进行启动;如没有则在C盘上查找有无系统,如有系统则进行启动,如没有C盘则进入ROM BASIC。 15.7 简要叙述MS–DOS的冷启动过程(不超过200字)。

答:机器上电复位后从ROM BIOS的FFFF0H单元处执行一条无条件转移指令到系

统测试程序进行测试并显示信息。此后装配ROM BIOS中的中断向量。接着转到INT 19H从系统盘读取引导程序;若无引导程序,则执行ROM BASIC。如有则判断有无三个启动模块,没有则显示出错信息,有则装载之。然后运行IBMBIO.COM设置中断向量表。然后进入IBMDOS.COM运行,装配中断向量,建立磁盘缓冲区,程序段前缀区,并显示版本信息。在有CONFIG.SYS时运行之,否则进入COMMAND.COM,若有AUTOEXEC.BAT则运行,最后显示提示符“>”。启动完毕。 15.8 系统启动以后,中断向量表在什么位置?ROM BIOS在什么地方?显示存储区的起

始地址为多少?DOS工作区在哪里?

答:1.中断向量在0000:0000~0000:03FFH的1KB区域内。

2.ROM BIOS在FE00:0000~FE00:1FFFH的8KB区域内。其通信区首址为0040:0000H。

3.显示存储区的起始地址为:单显B000:0000H,彩显B800:0000H。

50

微型计算机技术及应用习题解答

③ STBA结束后,过tSIT时间,便会发出INTRA,为CPU工作于中断方式输

入数据提供了条件。 ④ 当CPU发出的RD有效后,过tRIT时间,INTRA被清除。在RD结束之后,

数据已经读到CPU的寄存器中,经过tRIB时间,IBFA变低,从而可开始下一个数据输入过程。

4.方式1输出口B口的各个控制信号和时序关系如下:

① 方式1的输出端口一般用于中断方式与CPU相联系。CPU响应中断后,

便往8255A输出数据,并发出WR。WR的上升沿一方面清除中断请求信号INTRB,表示CPU响应了中断;另一方面,使OBFB有效,通知外设接收数据。

② 在CPU发出WR后的tWB时间后,数据就出现在端口的输出缓冲器中。当

外设接收数据后,发一个ACKB信号。一方面使OBFB无效,表示数据已经取走,当前输出缓冲区为空;另一方面,又使INTRB有效,申请中断,从而可以开始一个新的输出过程。

6.41 8255A的方式2用在什么场合?说明端口A工作于方式2时各信号之间的时序关系。

答:1.方式2应用于分时工作的双向外设(输入输出设备)的连接。

2.端口A工作于方式2时各信号之间的时序关系如下:

① 对于方式2的输出过程:CPU响应中断,并往8255A输出一个数据,并使

WR有效。WR一方面清除INTRA信号,另一方面使OBFA有效。外设收

到OBFA后,发出ACKA信号,使8255A的输出锁存器打开,从而数据便出现在8255A与外设之间的数据连线上。ACKA信号也使OBFA信号无效,从而可开始下一个数据传输过程(输入或输出)。

② 对于方式2的输入过程:当外设往8255A送来数据时,STBA也一起来到,

使数据锁存到8255A的输入锁存器中,从而使IBFA有效。在STBA结束时,便发出INTRA请求。在CPU响应中断进行读操作时,会使RD有效将数据

从8255A读到CPU中,于是IBFA又变为无效,INTRA也被清除。

第七章 中断控制器、DMA控制器和计数器/定时器 7.1

8259A的初始化命令字和操作命令字有什么差别?它们分别对应于编程结构中哪些内部寄存器?

答:1.8259A的初始化命令字是计算机系统启动时,由初始化程序设置的。初始化命

令字一旦设定,一般在系统工作过程中就不再改变。操作命令字则是由应用程序设定的,它们用来对中断处理过程作动态控制,在一个系统运行过程中,操作命令字可以多次设置。

2.初始化命令字对应于编程结构的ICW1、ICW2、ICW3、ICW4共4个寄存器。操作命令字对应于编程结构的OCW1、OCW2、OCW3共3个寄存器。 8259A的中断屏蔽寄存器IMR和8086/8088CPU的中断允许标志IF有什么差别?在中断响应过程中,它们怎样配合起来工作?

答:1.若IMR的某位为0则该位对应的引腿上的中断请求未加屏蔽,让它通过而进

入中断优先级裁决器作裁决。若IMR的某位为1则屏蔽该位对应的引腿上的中断请求,不让它进入中断优先级裁决器。而8086/8088CPU的中断允许标志IF为1则允许INTR引腿进入的中断,IF为0则屏蔽INTR引腿进入的中断。

21

7.2

微型计算机技术及应用习题解答

与8259A的IMR位为0为1正好相反。 2.在中断响应过程中,IMR用于对外设向8259A发中断申请的允许/屏蔽,而CPU的IF用于对8259A由INT向CPU的INTR引腿发中断申请的允许/屏蔽。

7.3

8259A的全嵌套方式和特殊全嵌套方式有什么差别?各自用在什么场合?

答:1.全嵌套工作方式,只有更高级的中断请求来到时,才会进行嵌套。而特殊全嵌

套方式则能被同级和高级的中断请求所嵌套。

2.全嵌套方式用于单片8259A的场合。特殊全嵌套方式用于多片8259A系统。 8259A的优先级循环方式和优先级特殊循环方式有什么差别?

答:在优先级特殊循环方式中,一开始的最低优先级是由编程确定的,从而最高优先

级也由此而定。而优先级自动循环方式初始优先级队列为IR0~IR7。 8259A的特殊屏蔽方式和普通屏蔽方式相比,有什么不同之处?特殊屏蔽方式一般用在什么场合?

答:1.在特殊屏蔽方式中用OCW1对屏蔽寄存器中某一位进行置位时,就会同时使

ISR中的对应位自动清0。而普通屏蔽方式对OCW1的操作不影响ISR中各位的状态。

2.特殊屏蔽方式用于中断处理程序中,以开放比本身的优先级较低的中断请求。 8259A有几种结束中断处理的方式?各自应用在什么场合?除了中断自动结束方式以外,其他情况下如果没有在中断处理程序中发中断结束命令,会出现什么问题? 答:1.8259A有三种结束中断处理的方式。

2.中断自动结束方式用于只有一片8259A,并且多个中断不会嵌套的情况。一般的中断结束方式用在全嵌套情况下及多片8259A的级联系统中。特殊中断结束方式用于循环优先级的8259A中。

3.不发中断结束命令会使8259A认为该中断未结束,从而挡住了低优先级的中断被响应,即中断控制功能不正常。 8259A引入中断请求的方式有哪几种?如果对8259A用查询方式引入中断请求,那会有什么特点?中断查询方式用在什么场合?

答:1.引入中断请求的方式有:边沿触发方式、电平触发方式、中断查询方式三种。

2.中断查询方式的特点:

① 设备仍然通过往8259A发中断请求信号要求CPU服务,但8259A不使用

INT信号向CPU发中断请求信号。

② CPU内部的中断允许触发器复位,所以禁止了外部对CPU的中断请求。 ③ CPU要使用软件查询来确认中断源,从而实现对设备的中断服务。

3.中断查询方式一般用在多于64个中断的场合,也可以用在一个中断服务程序中的几个模块分别为几个中断设备服务的情况。 8259A的初始化命令字有哪些?它们各自有什么含义?哪几个应写入奇地址?哪几个应写入偶地址?

答:1.8259A的初始化命令字有ICW1、ICW2、ICW3、ICW4共四个。

2.ICW1——芯片控制初始化命令字。ICW2——设置中断类型码的初始化命令字。ICW3——标志主片/从片的初始化命令字。ICW4——方式控制初始化命令字。

3.ICW2、ICW3、ICW4必须写入奇地址端口中。 4.ICW1必须写入偶地址端口中。 8259A的ICW2设置了中断类型码的哪几位?说明对8259A分别设置ICW2为30H、38H、36H有什么差别?

答:1.8259A的ICW2设置了中断类型码的高5位。低3位中断类型码对应引入中断

的引腿号。

22

7.4

7.5

7.6

7.7

7.8

7.9

微型计算机技术及应用习题解答

2.当设置ICW2为30H和36H时,完全相同。对应的8个中断类型码为30H~37H。而设置ICW2为38H时,对应的8个中断类型码为38H~3FH。

7.10 8259A通过ICW4可以给出哪些重要信息?什么情况下不需要ICW4?什么情况下要

设置ICW3?

答:1.当SFNM=1则为特殊的全嵌套方式;BUF=1则为缓冲方式;若为缓冲方式

(BUF=1)则M/S=1表示本片为主片,M/S=0为从片;AEOI=1则设置为中断自动结束方式。当μPM=1表示8259A当前所在系统为8086/8088系统,反之μPM=0则为8080/8085系统。

2.当ICW1的D0为IC4=0时,不需要用ICW4。 3.当ICW1的D1为SNGL=0时,需要设置ICW3。

7.11 试按照如下要求对8259A设置初始化命令字:系统中有1片8259A,中断请求信号

用电平触发方式,下面要用ICW4,中断类型码为60H、61H??67H,用特殊全嵌套方式,不用缓冲方式,采用中断自动结束方式。8259A的端口地址为90H、92H。 答: MOV AL,1BH ;ICW1的命令字为00011011B=1BH

OUT 90H,AL ;ICW1送偶地址端口 MOV AL,60H ;ICW2的命令字为60H OUT 92H,AL ;ICW2送奇地址端口 MOV AL,13H ;ICW4的命令字为00010011B=13H OUT 92H,AL ;ICW4送奇地址端口 7.12 怎样用8259A的屏蔽命令字来禁止IR3和IR5引腿上的请求?又怎样撤销这一禁止

命令?设8259A的端口地址为90H、92H。 答:1. CLI

IN AL,92H ;(AL)←(IMR) OR AL,28H ;禁止IR3和IR5引腿上的中断请求 OUT 92H,AL ;OCW1送奇地址端口 STI

2. CLI

IN AL,92H ;(AL)←(IMR) AND AL,0D7H ;允许IR3和IR5引腿上的中断请求 OUT 92H,AL ;OCW1送奇地址端口 STI 7.13 试用OCW2对8259A设置中断结束命令,并使8259A按优先级自动循环方式工作。

答: MOV AL,0A0H ;OCW2的命令字为10100000B=A0H,满足上

述要求

OUT PORT0,AL ;OCW2送偶地址端口 7.14 用流程图来表示特殊全嵌套方式的工作过程。设主程序运行时先在IR2端有请求,接

着IR2端又有请求,而此时前一个IR2还未结束,后来IR3端有请求,再后来IR1端有请求。

答:流程图如下页所示: 7.15 说明特殊屏蔽方式的使用方法。为什么要用“或”的方法来设置屏蔽字?

答:1.某一中断服务程序先用OCW3命令字(ESMM=1,SMM=1)使8259A工作在特

殊屏蔽方式,再用OCW1对IMR中本中断的对应位进行置位,就可以使系统除了对本级中断外,响应其他任何未被屏蔽的中断请求。中断处理结束时,用OCW1撤销前面设置的屏蔽位,并用OCW3撤销了特殊屏蔽方式。8259A又按照原优先级方式工作。

2.用“或”的方法来设置屏蔽字可以不影响其他位的屏蔽状态。

23

微型计算机技术及应用习题解答

主程序 初始化 IR2请求中断 IR2中断处理程序 开中断 IR2又有中断 IR2'中断处理程序 开中断 IR1中断处理程序 开中断 IR3中断处理程序 关中断 IR3中断请求 IR1中断请求 开中断 关中断 中断结束命令 开中断 中断返回 关中断 中断结束命令 开中断 中断返回 中断结束命令 开中断 中断返回 关中断 中断结束命令 开中断 中断返回 ┆ ┆ 7.16 80386系统中,8259A采用了级连方式,试说明在主从式中断系统中8259A的主片和从

片的连接关系。

答:从片的INT输出接主片的IR0~IR7的某一输入端;主片的CAS2~CAS0接从片

的CAS2~CAS0;主片的INTA和从片的INTA连在一起接CPU的INTA输出端;主片和从片的WR、RD、D7~D0也都连在一起和CPU的WR、RD、DB7~DB0连接;主片和从片的A0连在一起接系统总线的AB1上;主片的SP/EN接数据驱动器的OE端,从片的SP/EN接地;主片和从片的CS各自接在地址译码器的一个输出端上。

7.17 试说明在DMA方式时内存往外设传输数据的过程。

答:当一个接口要由内存往其输出数据时,就往DMA控制器发一个DMA请求;DMA

控制器接到请求以后,便往控制总线上发一个总线请求;若CPU允许让出总线便发出一个总线允许信号;DMA控制器接到此信号后,就将地址寄存器的内容送到地址总线上,同时往接口发一个DMA回答信号并发一个I/O写信号和一个内存读信号;内存接到读信号后将数据送到数据总线,I/O写信号将数据送到接口,并撤除DMA请求信号,于是DMA控制器的地址寄存器的内容加1或减1,计数器的值减1,而且撤除总线请求信号,就完成了对一个数据的DMA输出传输。 7.18 对一个DMA控制器的初始化工作包括哪些内容?

答:① 将数据传输缓冲区的起始地址或者结束地址送到地址寄存器中;

② 将传输的字节数或字数送到计数器中。 ③ 通过模式寄存器设置工作方式等。

7.19 DMA控制器8237A什么时候作为主模块工作?什么时候作为从模块工作?在这两种

情况下,各控制信号处于什么状态,试作说明。

答:1.在外设向8237A发DMA请求,8237A向CPU发总线请求得到CPU总线允许

24

微型计算机技术及应用习题解答

时,获得了总线控制权就作为总线主模块工作。

2.当CPU把数据送到8237A的寄存器或者从8237A的寄存器取出时,8237A就象I/O接口一样作为总线的从模块工作。

3.主模块工作时的控制信号:DREQx有效,HRQ高,HLDA高,DACKx有效,AEN高,IOR、MEMW或IOW、MEMR有效,16位地址送地址总线。从模块工作时的控制信号: CS和HRQ为低,A3~A0为某一确定值,IOR或IOW有效。

7.20 8237A有哪几种工作模式?各自用在什么场合?

答:1.8237A有4种工作模式:单字节传输模式、块传输模式、请求传输模式、级联

传输模式。

2.单字节传输模式用于单个字节的DMA输入/输出;块传输模式用于连续进行多个字节的传输;请求传输模式用于受接口控制的连续字节传输;级联传输模式用于多片主从式DMA系统中的主片的工作模式。 7.21 什么叫DMA控制器的自动预置功能?这种功能是用得很普遍的,举一个例子说明它

的使用场合。

答:1.自动预置功能就是DMA控制器某通道在当前字节计数器的计数值到达0时,

当前地址寄存器和当前字节计数器会从基本地址寄存器和基本字节计数器中自动重新取得新值,从而又可以进入下一个数据传输过程。 2.如IBM PC/XT中,8237A的通道0用于对动态RAM进行刷新,就设置为自动预置功能。从头到尾进行一遍刷新后,就又可以自动重新再来若干遍刷新,保持数据不从动态RAM中丢失。用于同一内存地址的数据块重复传输中。 7.22 用DMA控制器进行内存到内存的传输时,有什么特点?

答:固定用通道0的地址寄存器存放源地址,而用通道1的地址寄存器和字节计数器

存放目的地址和计数值。传输时,目的地址和计数值象通常一样进行加1减1操作,源地址的值可通过控制寄存器的D1位设置,若为1则不变。另外用暂存器作为数据传输时DMA的数据暂存用。另外,DMA控制器进行内存到内存的传输是通过设置控制寄存器的D0=1来设置的。 7.23 DMA控制器8237A是怎样进行优先级管理的?

答:8237A有两种优先级管理方式:固定优先级管理方式,优先级高低固定为:通道

0、1、2、3。循环优先级管理方式,通道的优先级依次循环,当某通道进行一次传输后,其优先级变为最低,而其相邻的高一号通道的优先级变为最高。 7.24 设计8237A的初始化程序。8237A的端口地址为0000~000FH,设通道0工作在块传

输模式,地址加1变化,自动预置功能;通道1工作于单字节读传输,地址减1变化,无自动预置功能;通道2、通道3和通道1工作于相同方式。然后对8237A设控制命令,使DACK为高电平有效,DREQ为低电平有效,用固定优先级方式,并启动8237工作。 答: MOV AL,04H

MOV DX,DMA+8 ;DMA为端口首地址0000H,DMA+8为控制寄

;存器端口号

OUT DX,AL ;输出控制命令,关闭8237A MOV AL,00

MOV DX,DMA+0DH ;DMA+0DH为总清命令端口号 OUT DX,AL ;发总清命令(即复位命令)

MOV DX,DMA+0BH ;DMA+0BH为模式寄存器的端口号 MOV AL,98H

25

微型计算机技术及应用习题解答

OUT DX,AL 块读传输模

MOV AL,69H OUT DX,AL 单字节读传

MOV AL,6AH OUT DX,AL 功能同通道1

MOV AL,6BH OUT DX,AL 功能同通道1

MOV DX,DMA+8 MOV AL,0C0H DREQ OUT MOV MOV OUT ┆

;对通道0选择模式,模式字为98H:;式,地址加1变化,自动预置功能

;对通道1选择模式,模式字为69H:;输,地址减1变化,无自动预置功能

;对通道2选择模式,模式字为6AH:

;对通道3选择模式,模式字为6BH:

;控制字格式为C0H: DACK高电平有效,;低电平有效,固定优先级,启动工作

DX,AL

DX,DMA+0FH ;DMA+0FH为综合屏蔽命令端口号 AL,0 DX,AL ;去除四个通道的屏蔽

7.25 概述怎样用软件方法和硬件方法来进行定时。

答:① 软件方法就是根据所需要的时间常数来设计一个延迟子程序。当延迟子程序

执行完后,可直接执行下面的操作,也可用输出指令输出一个信号作为定时输出。

② 硬件方法使用计数器/定时器。根据需要的定时时间,用指令对计数器/定时器

设置定时常数,并用指令启动计数器/定时器,于是计数器/定时器开始计数,计到确定值时,便自动产生一个定时输出。 7.26 8253计数器/定时器中,时钟信号CLK、门脉冲信号GATE分别起什么作用?

答:时钟信号CLK决定了计数的速率,是计数减1的依据。而门脉冲信号GATE是

作为对时钟的控制信号,以控制计数的启停。 7.27 说明8253在6种工作方式下的特点,并举例说明使用场合。

答:① 模式0、模式1、模式4、模式5为软件启动或硬件启动的不自动重复的计数

方式;模式2、模式3为即可软件启动也可硬件启动的自动重复的定时器方式。

② 作为计数器时,8253在GATE控制下进行减1计数,减到终值时,输出一个

信号,至此计数过程便结束。作为定时器工作时,8253在门控GATE控制下进行减1计数,减到终值时,又自动装入初值,重新作减1计数,于是输出端会不间断地产生为时钟周期整数倍的定时间隔。

③ 定时方式一般用于实时控制及周期性操作中,如日时钟定时、扬声器发声、

波特率发生器等场合。计数方式则用于外部事件的计数,如生产线上的产品计数等场合。 7.28 8253工作于模式4和模式5时有什么不同?

答:模式4是用软件触发启动,GATE为低电平时停止计数;而模式5则用门控GATE

的上升沿触发即硬件触发启动,GATE为低电平时不影响计数。 7.29 编程将8253计数器0设置为模式1,计数初值为3000H;计数器1设置为模式2,计

26

微型计算机技术及应用习题解答

数初值为2010H;计数器2设置为模式4,计数初值为4030H;地址设为0070H、0072H、0074H、0076H。 答: MOV AL,32H ;设置计数器0为模式1

OUT 76H,AL

MOV AX,3000H ;写计数初值 OUT 70H,AL MOV AL,AH OUT 70H,AL

MOV OUT MOV OUT MOV OUT MOV OUT MOV OUT MOV OUT

AL,74H ;设置计数器1为模式2 76H,AL

AX,2010H ;写计数初值 72H,AL AL,AH 72H,AL AL,0B8H ;设置计数器2为模式4 76H,AL

AX,4030H ;写计数初值 74H,AL AL,AH 74H,AL

7.30 CPU对应DMA控制器的总线请求响应要比中断请求响应快,请分析其原因。

答:当CPU检测到总线请求信号后在当前总线周期的T4状态或TI状态的下降沿就

可响应而出让总线,并发总线响应信号HLDA。而当CPU检测到INTR请求时,

则必须要等到当前指令执行完后才能发第一个INTA负脉冲,而且中断响应需两个INTA负脉冲才可组成一个完整的中断响应信号。因此总线请求响应要比中断请求响应快。

7.31 设8259A工作于优先级循环方式,当前最高优先级为IR4,现在要使优先级最低的为

IR1,则应该再设置哪个操作命令字?具体的值是多少? 答:1.再设置OCW2操作命令字。

2.OCW2的具体的值是C1H(=11000001B),写入偶地址端口。 7.32 下面是一个对8259A进行初始化的程序段,请为下面程序段加上注释,并具体说明

各初始化命令字的含义。 PORT0 EQU 40H ;8259A的偶地址端口号 PORT1 EQU 41H ;8259A的奇地址端口号

MOV AL,13H ;控制初始化命令字ICW1设为13H,中断请求为边沿触

;发方式,单片8259A,需写入ICW4

MOV DX,PORT0 ;取8259A的偶地址端口 OUT DX,AL ;设置ICW1 INC DX ;取8259A的奇地址端口 MOV AL,08H ;中断类型码初始化命令字ICW2设为08H,对应于

;IR0~IR7的中断类型码为08H~0FH

OUT DX,AL ;设置ICW2 MOV AL,06H ;方式控制初始化命令字ICW4设为06H,非特殊全嵌套

27

微型计算机技术及应用习题解答

;方式,非缓冲方式,中断自动结束方式,工作于8080/8085 ;系统中

OUT DX,AL ;设置ICW4

答:初始化命令字的含义见注释。

7.33 下面是一个对主从式8259A系统进行初始化的程序段,请对以下程序段加详细注释,

并具体说明各初始化命令字的含义。 ;主片初始化程序 M82590 EQU 40H ;主片8259A的偶地址端口号 M82591 EQU 41H ;主片8259A的奇地址端口号

MOV AL,11H ;控制初始化命令字ICW1设为11H,中断请求为边沿触

;发方式,多片8259A,需设置ICW4

MOV DX,M82590 ;取主片8259A的偶地址端口 OUT DX,AL ;设置ICW1 MOV AL,08H ;中断类型码初始化命令字ICW2设为08H,对应于

;IR0~IR7的中断类型码为08H~0FH

INC DX ;取主片8259A的奇地址端口 OUT DX,AL ;设置ICW2 MOV AL,04H ;ICW3设为04H,只有IR2连有从片8259A OUT DX,AL ;设置ICW3 MOV AL,01H ;方式控制初始化命令字ICW4设为01H,非特殊全嵌套

;方式,非缓冲方式,非中断自动结束方式,工作于

;8086/8088系统中

OUT DX,AL ;设置ICW4

;从片初始化程序 S82590 EQU 90H ;从片8259A的偶地址端口号 S82591 EQU 91H ;从片8259A的奇地址端口号

MOV DX,S82590 ;取从片8259A的偶地址端口 MOV AL,11H ;控制初始化命令字ICW1设为11H,功能同上 OUT DX,AL ;设置ICW1 MOV AL,70H ;中断类型码初始化命令字ICW2设为70H,对应于

;IR0~IR7的中断类型码为70H~77H

INC DX ;取从片8259A的奇地址端口 OUT DX,AL ;设置ICW2 MOV AL,02H ; ICW3设为02H,表示本从片与主片的IR2相连 OUT DX,AL ;设置ICW3 MOV AL,01H ;方式控制初始化命令字ICW4设为01H,非特殊全嵌套

;方式,非缓冲方式,非中断自动结束方式,工作于

;8086/8088系统中

OUT DX,AL ;设置ICW4

28

微型计算机技术及应用习题解答

答:各初始化命令字的含义见注释。

7.34 8237A在进行单字节方式DMA传输和块方式DMA传输时,有什么区别?

答:区别在于:单字节方式时DMA每完成一个字节传输后,便释放系统总线,CPU

至少可占用一个总线周期。块传输方式时,只有当字节计数器减为0,从而在

EOP端输出一个负脉冲或者外部I/O接口往DMA控制器的EOP端送一个低电

平信号时,8237A才释放总线而结束传输。

7.35 下面是一个常驻内存的中断服务程序框架和它的装配程序,请对此程序的注释进行补

充,以便得到一个完整的注释清单。 STACK SEGMENT ;设置堆栈段

DW 256 DUP (?)

STACK ENDS

DATA 8259P0 8259P1 DATA CODE

SEGMENT EQU EQU ┆ ENDS SEGMENT ASSUME

40H 41H

;设置数据段 ;8259A的偶地址端口号 ;8259A的奇地址端口号

;设置代码段

CS:CODE,DS:DATA,SS:STACK ;段说明

;程序开始,直接转START2执行 ;定义一个远过程(段外子程;开中断 ;保护现场

START1: JMP INTSUB PROC

序)INTSUB

STI PUSH PUSH PUSH PUSH PUSH PUSH ┆ POP POP POP POP POP POP MOV MOV OUT IRET

INTSUB ENDP START2: MOV

MOV MOV 口条件 MOV MOV INT MOV

START2 FAR

ES DS AX BX SI DI DI SI BX AX DS ES

AL,20H DX,8259P0 DX,AL AX,DATA DS,AX AL,45H

;中断处理内容 ;恢复现场

;发一般的中断结束命令 ;取8259A偶地址 ;中断返回

;远过程定义结束 ;程序开始,取数据段的段地址送DS ;设置中断向量的系统功能调用的入AH,25H

DX,OFFSET INTSUB 21H AL,0

29

;设置中断向量

;OCW1=00H,开放8259A的所有中微型计算机技术及应用习题解答

MOV DX,8259P1 OUT DX,AL STI MOV AX,3100H 件

MOV DX,$–INTSUB INT 21H

CODE ENDS

END START1

答:注释见程序清单的下划线部分。

;取8259A的奇地址号 ;开中断 ;终止用户程序并驻留内存的入口条 ;程序驻留退出 ;代码段结束 ;程序结束 7.36 8259A在采用边沿触发方式时,为了防止IR端有毛刺产生中断,因此通常也要求有

足够的脉冲宽度,这一点由8259A的内部性能所决定。所以,中断控制器的初始化命令字虽用边沿触发,但是,中断请求信号却是某个脉冲信号。你认为,这种情况下,设置边沿触发方式和设置电平触发方式相比,有什么优点?

答:电平触发方式时,中断请求信号必须在第一个INTA脉冲结束之前保持高电平,

而此时的中断请求信号却是某个脉冲信号,不一定能满足电平触发方式的要求,可能会造成中断请求得不到响应。而此信号能满足边沿触发方式对中断请求信号的要求,可基本保证能得到中断响应(IF=1)。 7.37 下面是一个8253的初始化程序段。8253的控制口地址为46H,3个计数器端口地址

分别为40H、42H、44H。在8253初始化前,先将8259A的所有中断进行屏蔽,8259A的奇地址端口为82H。请对下面程序段加详细注释,并以十进制数表示出各计数器的值。 INI: CLI ;CPU关中断 MOV AL,0FFH ;8259A屏蔽中断 OUT 82H,AL MOV AL,36H ;设置计数器0控制字,工作于模式3 OUT 46H,AL MOV AL,0 ;设置计数器0的计数初值为4000H=16384 OUT 40H,AL MOV AL,40H OUT 40H,AL MOV AL,54H ;设置计数器1控制字,工作于模式2,低8位字节读/写 OUT 46H,AL MOV AL,18H ;设置计数器1的计数初值为18H=24 OUT 42H,AL

MOV AL,0A6H ;设置计数器2控制字,工作于模式3,高8位字节读/写 OUT 46H,AL MOV AL,46H ;设置计数器2的计数初值为4600H=17920 OUT 44H,AL MOV AL,80H ;修改计数器2的计数初值为8000H=32768 OUT 44H,AL

答:注释见程序清单,计数器初值的十进制值也见注释。 7.38 下面是一个用8253作为定时器的发音程序,程序中已加了部分注释。请对8253的有

关程序段加上注释,并画出整个程序的流程图。8253的控制口地址为46H,3个计数器端口地址分别为40H、42H、44H。8255A的B端口接扬声器驱动电路,B端口的

30

微型计算机技术及应用习题解答

地址为62H。

SOUND: PUSHF

CLI OR DH,DH ;DH中为发长音的个数 JZ K3 ;如不发长音,则转K3

K1: MOV BL,6 ;如发长音,则置长音计数器

CALL BEEL ;调用发音程序

K2: LOOP K2 ;两音之间留一点间隙

DEC DH ;长音发完否 JNZ K1 ;否,则继续

K3: MOV BL,1 ;如发完长音,则置短音计数器

CALL BEEL ;调用发音程序

K4: LOOP K4 ;两音之间留一点间隙

DEC DL ;继续发短音吗 JNZ K3 ;是,则继续

K5: LOOP K5 ;否,则留一点间隙

POPF ;标志恢复 RET ;返回

BEEL: MOV AL,B6H ;发音子程序开始

OUT 46H,AL ;8253的计数器2工作于模式3 MOV AX,533H ;计数初值为533H OUT 44H,AL ;送初值低位 MOV AL,AH OUT 44H,AL ;送初值高位 IN AL,62H ;取扬声器驱动信息 MOV AH,AL OR AL,03 ;接通扬声器 OUT 62H,AL ;扬声器驱动 SUB CX,CX ;一次发音时间设定

K7: LOOP K7

DEC BL ;BL中为发音计数值 JNZ K7 ;如未结束,则继续发音 MOV AL,AH ;如发音结束,则恢复B端口信息 OUT 62H,AL RET

答:补充的注释见程序清单中的下划线部分。程序流程图如下所示。

SOUND开始 BEEL开始 8253计数器2初始化为保护标志,关中断 模式3,计数初值为533H

Y 发长音吗?

取扬声器驱动信息并送N

AH中保护起来 置长音计数器,调发音子 程序,并延时 接通扬声器并使其发音 N 长音发完吗? Y 延时

N 置短音计数器,调发音子程序,并延时 31 短音发完吗? Y 延时并恢复标志 音发完了吗? Y 发音结束,关掉扬声器 N 微型计算机技术及应用习题解答

第八章 模/数和数/模转换 8.1

什么叫分辨率?什么叫相对转换精度? 答:1.在D/A转换时,将最低位增1所引起的增量和最大输入量的比称为分辨率。即:

n

分辨率=1/(2-1)。

2.用绝对转换精度相对于满量程输出的百分数表示的精度即为相对转换精度。有时也用最低位(LSB)的几分之几表示。 在T型电阻网络组成的D/A转换器中,设开关K0、K1、K2、K3、K4分别对应一位二进制数,当二进制数据为10110时,流入运算放大器的电流为多少?画出这个T型网络。

8.2

I?VREFVREFVREF11VREF?N??(10110B)??22?。16R2NR25R25R答:1.流入运算放大器的电流I为:(n=5)

2.T型网络如下图: 8.3

- + K0 K1 K2 K3 K4 Ro Vo

VREF 用带两级数据缓冲器的D/A转换器时,为什么有时要用三条输出指令才完成16位或12位数据转换? 答:因为一般第一次将低8位数据送输出低位的第一级数据缓冲器,第二次输出高4

位或高8位数据到高位的第一级数据缓冲器。第三次执行一次伪输出,将第一级数据缓冲器的内容打入第二级数据缓冲器从而实现高于8位的D/A转换。因此要用3条输出指令才能完成一次16位或12位数据转换。以避免出现错误的中间结果。 使用DAC0832进行数/模转换时,有哪两种方法可对数据进行锁存? 答:第一种方法是使输入寄存器工作在锁存状态,而DAC寄存器工作在不锁存状态。

第二种方法是使输入寄存器工作在不锁存状态,而DAC寄存器工作在锁存状态。 在数字量和模拟量并存的系统中,地线连接时要注意什么问题?

答:首先各个模拟地连在一起,各个数字地连在一起;其次模拟地和数字地只能且必

须用一个共地点连起来,以防干扰。

2R R R R R 8.4

8.5

8.6

设计一个电路和相应程序完成一个锯齿波发生器的功能,使锯齿波呈负向增长,并且锯齿波的频率可调。

答:① 电路如下图所示:

数据总线 D7~D0 REB

WR1 IOUT1 - Vo DAC +

0832 地址总线 32 IOUT2 XFER M/IO CS WR2 微型计算机技术及应用习题解答

② 程序如下:

MOV MOV

ROTATE: DEC

OUT CALL JMP

DELAY: MOV 改变周期

DELAY1: LOOP

RET

8.7

DX,PORTDA AL,0 AL DX,AL DELAY ROTATE

CX,DATA DELAY1

;PORTDA为D/A转换器的端口号 ;初值 ;呈负向增长 ;往D/A转换器输出数据 ;延迟

;往CX中送延迟常数,修改DATA即可

什么叫模/数转换精度?什么叫转换速率?什么叫分辨率?

答:1.反映A/D转换器的实际输出接近理想输出的精确程度叫模/数转换精度。

2.完成一次A/D转换所需要的时间的倒数叫转换速率。 3.A/D转换器能够分辨最小的量化信号的能力叫分辨率。 参考《微型计算机技术及应用》一书中图8.12说明计数式A/D转换的工作原理。 答:首先启动信号S由高电平变为低电平,使计数器清0,当启动信号恢复高电平时,

计数器准备计数。开始,D/A转换器的输出电压VO为0,此时,运算放大器在同相端的输入电压作用下,输出高电平,从而使计数信号C为1。于是,计数器开始计数,D/A转换器输入端获得的数字量不断增加,使输出电压VO不断上升。在VO小于Vi时,运算放大器的输出总是保持高电平。当VO上升到某个值时,会出现VO大于Vi的情况,这时,运算放大器的输出变为低电平,即C为0。于是,计数器停止计数。这时候的数字输出量D7~D0就是与模拟输入电压对应的数字量。计数信号C的负向跳变也是A/D转换的结束信号。它用来通知其他电路,当前已经完成一次A/D转换。

8.8

8.9

双积分式A/D转换的原理是什么?

答:一开始,电路对输入的未知模拟量进行固定时间的积分,然后转换为对标准电压

进行反向积分。反向积分到一定时候,便返回起始值。因此对标准电压的反向积分START 时间T正比于输入模拟电压Vi,Vi越大,T越长。只要用标准的高频时钟频率测定

初始化,试探位BL从最高位开始反向积分花费的时间,就可得到输入模拟

(BL)←80H,试探次数(CX)←08H 电压所对应的数字量,即实现了A/D转

换。

计算试探值并送BH保护 8.10 参考《微型计算机技术及应用》一书中图8.14 说明逐次逼近式A/D转换的工作原理。

试探值→D/A转换,接着答:当启动信号由高电平变为低电平时,逐次

读取比较器的比较结果 逼近寄存器清0,这时,D/A转换器输出

电压VO也为0,当启动信号变为高电平

时,转换开始,同时,逐次逼近寄存器进Y 试探值小了吗? 行计数。逐次逼近寄存器工作时与普通计

N 数器不同,它不是从低位往高位逐一进行

试探值的该试探位清0→BH保护 计数和进位,而是从最高位开始,通过设

置试探值来进行计数。具体讲,在第一个 时钟脉冲时,控制电路把最高位送到逐次

试探位右移一位,取试探值→AL 33

试探结束了吗? Y 输出转换结果 微型计算机技术及应用习题解答

逼近寄存器,使它的输出为10000000B,这个输出数字一出现,D/A转换器的输出电压VO就成为满量程的128/255。这时,如果VO大于Vi,那么,作为比较器的运算放大器的输出就成为低电平,控制电路据此清除逐次逼近寄存器的最高位;如果VO小于或等于Vi,则比较器输出高电平,控制电路使最高位的1保留下来。如果最高位被保留下来,那么,逐次逼近寄存器的内容为10000000B,下一个时钟脉冲使次高位D6为1。于是,逐次逼近寄存器的值为11000000B,D/A转换器的输出电压VO到达满量程的192/255。此后,如果VO大于Vi,则比较器输出为低电平,从而使次高位D6复位;如果VO小于或等于Vi,则比较器输出高电平,从而保留次高位D6为1。再下一个时钟脉冲对D5位置1,然后据此对VO和Vi的比较,决定保留还是清除D5位上的1??重复上述过程,直到D0=1,再与输入电压比较。经过N次比较后,逐次逼近寄存器中得到的值就是转换后的数据。转换结束以后,控制电路送出一个低电平作为结束信号,这个信号的下降沿将逐次逼近寄存器中的数字量送入缓冲寄存器,从而得到数字量输出。

8.11 比较计数式、双积分式和逐次逼近式A/D转换的优缺点。

答:计数式的优点是电路比较简单,但速度较慢。双积分式的优点是精度高、干扰小,

但速度慢。逐次逼近式的优点是速度快,但抗干扰较双积分式差。 8.12 设计一个电路并画出软件流程以实现A/D转换,软件流程中要体现逐次逼近法思想。

答:1.电路见书344页图8.15所示。

2.软件流程图见上页右图所示: 8.13 什么叫采样保持电路的采样状态和保持状态?用示意图说明 。

答:① 采样状态:输出随输入而变化,增益为1。书351页图8.20的状态控制开关

闭合。

② 保持状态:输出保持为某个值。图8.20的状态控制开关断开,电容保持充电

时的最终电压值,使A2输出不变。 8.14 在实时控制和实时数据处理系统中,当需要同时测量和控制多路信息时,常用什么方

法解决?

答:① 首先使用公共的A/D、D/A转换器;

② 然后用独立的的多路转换模拟开关来轮流切换各回路和A/D、D/A之间的通

路。

③ 或者选择内部本身带有多路转换模拟开关的A/D、D/A转换器。

第九章 键盘和LED显示器 9.1

利用行扫描法来识别闭合键的工作原理是什么?为什么在识别一个键前,先快速检查键盘中是否有键按下?快速识别有无闭合键的方法是什么?

答:1.从第0行开始扫描,看是否是该行的键闭合,直至最后一行扫描结束。(每扫

一行输入列值,检查此行是否有键闭合,若有键闭合则转去识别该键;若无键闭合,则扫描下一行??)

2.为了提高程序运行的速度,在无键按下时无需进行行扫描。

3.先使所有各行同时为低电位,再检查是否有列线也处于低电位。若有某列线处于低电位,则说明必有键按下,否则无键按下。 设计一个用行扫描法识别闭合键的扫描程序,设键盘上有4×5个键,并行口A接四根行线,并行口B接五根列线,两个端口的地址分别为PORTA、PORTB。 答:START: MOV AL,00H ;判断是否有键按下的程序

MOV DX,PORTA

34

9.2

微型计算机技术及应用习题解答

OUT DX,AL MOV DX,PORTB IN AL,DX AND AL,1FH CMP AL,1FH JZ START CALL DELAY

SCAN: MOV BL,0

MOV CL,0FEH MOV BH,4

SCAN1: MOV AL,CL

MOV DX,PORTA OUT DX,AL RCL AL,1 MOV CL,AL MOV DX,PORTB IN AL,DX AND AL,1FH CMP AL,1FH JNZ SCAN2 MOV AL,BL ADD AL,5 MOV BL,AL DEC BH JNZ SCAN1 ;未扫描完,继续扫描 JMP DONE ;已扫完,无键按下,则转DONE

SCAN2: RCR AL,1 ;如此列接地则转NEXT

JNC NEXT INC BL JMP SCAN2 ;如未找到接地的列线,则转SCAN2继续寻找

NEXT: ┆ ;键命令处理程序 DONE: ┆ ;后续处理程序

9.3

叙述行反转法的基本工作原理,画出行反转法的程序流程。

答:1.行反转法的基本工作原理:将

行线接一个并行口,使其工作于输出方式;将列线接一个并行口,使其工作于输入方式;程序使CPU通过输出口往各

35

;往4根行线输出低电平

;读取列值

;列值只有低5位有效 ;是否有列线处于0电位 ;无闭合键,循环等待

;有闭合键,则延时20ms消抖 ;键号初值为0 ;送扫描初值

;计数值为行数(4行)

;扫描一行 ;修改扫描值

;读取列值

;列值只有低5位有效 ;是否有列线处于0电位 ;有列线接地,则转SCAN2

;如无列线接地,则键号=键号+列数/每行

;扫描下一行

设A端口工作在输出方式 B端口工作在输入方式 往行线输出全0 读 取 列 值 有闭合键吗? N 保 留 列 值 Y 延 迟 20ms 设A端口工作在输入方式 B端口工作在输出方式 输出刚才读得的列值 读 取 行 值 设 置 键 码 值 与表中的码符合吗? N 转键命令处理 Y 修改表地址,修改计数值 N 表查完了吗? Y

微型计算机技术及应用习题解答

行线上全送低电平,然后读入列线的值。若此时有某个键被按下,则必定会使某列线值为0。然后程序将两个并行端口的输入/输出方式调换,并将刚才读得的列线值从列线所接的并行口输出,再读取行线的输入值,在闭合键所在的行线上的值必定为0。这样当一个键被按下时,必定可以读得唯一的行值和列值。 2.程序流程如右:

9.4

连锁法和巡回发识别重建的基本思想是什么?

答:① 连锁法识别重建的基本思想是:在所有键释放后,只承认此后闭合的第一个键,

对此键闭合时按下的其他键均不作识别,直到所有键释放以后,才读入下一个键。 ② 巡回法识别重建的基本思想是:等前面所识别的键被释放以后,就可以对其他闭合键作识别。 用连锁法识别重键时,对《微型计算机技术及应用》一书的图9.8中的三种重键情况分别如何处理?看懂图8.9的流程,并说明按标准的连锁法,此流程应如何修改? 答:1.图9.8(a),只读入A键;图9.8(b),标准连锁法也只读入A键;图9.8(c)则无

效,两键都不读入。

2.标准连锁法的流程可按书362页图9.9来修改,即将等待释放的一部分改为等待所有键释放即可。方法是:在读进列值前加一个“使所有行为低电平”既可以了。 巡回法是如何识别三种重键情况的?分析图9.10的流程图,并编写一个8行×8列的巡回法识别重键程序,端口地址用标号表示。

答:1.图9.8(a),只识别A键;图9.8(b),A、B键同行则识别A键而舍弃B键,不

同行则两键均识别;图9.8(c)若B键处于较小行号上则只读入B键,若B键处于较大行号上则两键均读入。 2.START: MOV AL,00H

MOV DX,RPORT ;取行端口号 OUT DX,AL ;使所有各行为低电平 MOV DX,LPORT ;取列端口号 IN AL,DX ;读入列值 CMP AL,0FFH ;判断是否有键闭合 JZ QUIT ;无键闭合,则退出 CALL DELAY ;有键闭合,则延时消抖 MOV AL,0FEH ;使第0行为低电平 MOV CX,08H ;总行数送CX

KEY: MOV DX,RPORT

OUT DX,AL ;使所选的一行为低电平 PUSH AX ;保存行值 MOV DX,LPORT IN AL,DX ;读入列值 CMP AL,0FFH ;所选行上有闭合键吗? JNZ YE ;有键闭合,则转译码程序 POP AX ;无键闭合,恢复行值 SHL AL,1 ;选择扫描下一行 LOOP KEY JMP QUIT ;扫描结束则退出

YE: ┆ ;键译码程序

PUSH AX ;AX中为键值

KEY1: MOV DX,LPORT ;读入列值

IN AL,DX CMP AL,0FFH ;测试键是否已释放 JNZ KEY1 ;如未释放则等待 CALL DELAY ;已释放则再去抖动

36

9.5

9.6

微型计算机技术及应用习题解答

QUIT:

9.7

POP ┆ RET AX

;AX中为键值 ;键命令处理 ;返回

在LED显示系统中,采用硬件方法译码和采用软件方法译码各有什么优缺点? 答:使用方便,不占用CPU过多的时间是硬件译码方法的优点,其缺点是使用局限

性大(如有的硬件只能对BCD码进行译码等),成型电路改造麻烦。软件译码正好相反。

画一个实现4位显示的扫描和驱动电路,LED为共阴极器件。然后画出LED显示程序流程图。

答:1.实现4位显示的扫描和驱动电路见下图。

2.LED显示程序流程图也见下页图。 设计计时器软件时,可以采用哪几种方案?哪一种方案最好?为什么在中断处理程序中包含的模块越少越容易调试?

答:1.① 显示程序和初始化程序等放在主程序中,键盘处理程序和计时程序放在中

断处理程序中。

② 显示程序、键盘处理程序和初始化程序等都放在主程序中,计时程序放在

中断处理程序中。

③ 键盘处理程序等作为主程序,显示和计时程序作为中断处理程序 2.第③种方案最好。因其软件设计较为简单,显示实现较方便。 3.模块越少,程序越简单,调试自然越容易。

9.8

9.9

37

微型计算机技术及应用习题解答

指向缓冲区首址 取显示位指针 关 显 示 取要显示的数 修改缓将数变为段码 冲区指针和位码 段码送到段控制通道 位码送到位控制通道 延迟一定时间 N 是否是最右边一位? Y 退 出

+5V 段驱动 ?? Dpgfedcba ?? 阴极 位驱动 38

微型计算机技术及应用习题解答

第十章 CRT技术

10.1 显示器控制系统中,字符发生器、显示存储器分别起什么作用?字符发生器是怎样选

中某个单元的?

答:1.字符发生器的作用是存放并提供每个ASCII码的显示字型码。显示存储器的作

用是存放由CPU送来的显示字符的ASCII码和属性码或图形点阵,并能由CRT控制器和CPU读取。

2.字符发生器的单元选址由该字符的ASCII码和字符行的扫描线序号来选中的。 10.2 将一个字符显示到屏幕上,要进行什么操作? 答:① 访问显存,找到该字符的ASCII码。

② 顺序多次访问字符发生器,逐次读取该字符对应每条水平扫描线上的点阵码。 ③ 将并行格式的点阵码送到视频移位寄存器。

④ 移位寄存器用串行方式将视频串行数据流送到显示器。 10.3 在IBM PC/XT系统中,彩色显示器的显示存储器空间在什么地方?黑白显示器的显

示存储器空间呢?分别写出这两个显示存储区的首尾地址和空间长度。 答:1.彩显在B8000H~BBFFFH单元;

2.黑白在B0000H~B0FFFH单元;

3.彩色图形方式为:B8000H~B9F3FH、BA000H~BBF3FH共16000字节(16KB)。黑白为:B0000H~B0F3FH共4000字节(4KB)。

第十一章 打印机接口技术

11.1 打印机和主机接口方式有哪两大类?衡量一台打印机的主要指标有哪些?

答:1.打印机和主机接口有并行和串行两大类。

2.主要指标有:接收的是串行数据还是并行数据、字符打印还是图形打印、可接收的字符种类、打印行缓冲器和输入缓冲器、字模形式及单向打印还是双向打印等指标。 11.2 一个打印机和主机之间的信号有哪些?数

据信号中的可打印字符和控制字符是由打印机内部哪一部分电路处理的?

答:1.有数据信号、选通信号、回答信号和

忙信号。

2.两类字符由输入控制逻辑电路进行判断。控制信号由其送往时序电路和打印机控制逻辑电路。可打印字符再送往打印行缓冲器。 11.3 什么叫Centronic标准?在这一标准中,哪

些信号用来指示打印机的状态?哪些信号用来控制打印机工作?最重要的控制信号和状态信号是什么?

答:1.由美国Centronic公司制定的打印机

并行接口的36芯D型插座的接口信号标准。

2.用来指示打印机状态的信号有:

ACKNLG、BUSY、PE、SLCT、ERROR。

39

打印输出程序 8255A初始化 PC7输出1,使STB无效 Y 输入PB0,BUSY? N 从内存缓冲区取打印字符,通过8255A的PA口输出 PC7输出0,使STB有效 PC7输出1,使STB无效 数据打印完了吗? Y N 微型计算机技术及应用习题解答

3.控制打印机工作的信号有:STROBE、AUTO FEED XT、INIT、SLCTIN。 4.最重要的控制信号是:STROBE;最重要的状态信号是:BUSY。

11.4 根据《微型计算机技术及应用》一书的图11.4,设计打印机驱动程序的详细流程图。

答:流程图如右图所示: 11.5 串行打印机中,通过什么方法来解决速度较快的主机和速度较慢的打印机之间的协调

工作问题?为什么“输入缓冲器满信号”并不是在缓冲器装满时才发出?

答:1.加入较大容量的输入缓冲器,且在输入缓冲器将要装满时,打印机向主机发出

输入缓冲器满信号,主机因此停止发送数据到打印机。 2.避免在全满时,主机发送的数据丢失。以及在主机未及时向打印机发送数据时,打印机中仍然有数据打印。 11.6 在IBM PC/XT系统中,主机和打印机通过哪几个端口地址相联系?主机往打印机可

发哪几种命令?

答:1.端口地址为378H~37AH。

2.5种命令。即:数据写入命令、数据读出命令、控制字写入命令、控制字读出命令、状态字读出命令。 11.7 在IBM PC/XT系统中,打印机适配器的控制字和状态字格式分别是什么?

答:① 控制字格式:只用了低5位。

D7 D6 D5 D4 D3 D2 D1 D0 允许中断 联机 初始化 自动加换选通 IRQEN SLCT IN INIT 行 STROBE AUTO FD ② 状态字格式:只用了高5位。 D7 D6 D5 D4 D3 D2 D1 D0 忙 应答 纸用联机状态 打印出错 BUSY ACK 完 SLCT ERROR PE 11.8 主机和打印机用中断方式和查询方式时,具体分别用怎样的过程来实现字符输出?

答:① 中断方式:每当打印机接收一个字符后,使用ACK信号向主机发出中断请求,主机收到此信号且IF=1时,响应中断,从而往打印机发送下一个字符。 ② 查询方式:主机不停地测试打印机的“忙”信号。当忙时,主机必须等待;

当“忙”信号消失时,主机便往打印机输出一个字符,并且发出选通信号STB。

11.9 在IBM PC/XT系统中,BIOS的17H中断提供了哪些打印功能?

答:AH=0时打印AL中的字符,AH=1时初始化打印机,AH=2时读打印机状态。

并且都由AH返回当前状态字。

40

微型计算机技术及应用习题解答

11.10 下面是一个查询方式下的打印机控制程序,进入程序时,AX中为要打印的字符,退

出时,AH中为状态,AL中为打印字符,画出下面程序流程,并说明AH中PRI近过程开始 的状态所表示的含义,再说明选通信号

保护现场 为怎样的波形。 PRI PROC NEAR 等待时间常数→BL PUSH DX PUSH CX 保护并输出AX中的打印字符(AL) PUSH BX

MOV BL,0FFH ;BLDX改为指向打印机的状态控制口 中为打印机等

;待置循环初值CX=0,循环65536次 时间

读取状态并送AH保存 常

N 数

打印机“忙”吗? MOV DX,PORT

Y 输出选 ;PORT为打印机数 N 循环结束了吗? 通信号,;据

Y 口先使控等待时间常数BL–1→BL 地制口址 D0=1,N 等待时间到吗? PUSH AX ;保再使控Y 存打印字符 置超时标志AH.0=1 制口OUT DX,AL ;AL中的打印字符

恢复打印字符并送AL ;送打恢复现场并RET 印

PRI近过程结束 机

INC DX ;指向状态口

TEST1: SUB CX,CX ;设置循环初值,循

;环65536次

TESTATE: IN AL,DX ;取状态

MOV AH,AL TEST AL,80H ;检测状态 JNZ AAA ;打印机不忙,

;则转AAA

LOOP TESTATE ;打印机忙,

;则再测

DEC BL ;等待时间常

;数减1

JNZ TEST1 ;时间未到,则

;再检测

OR AH,1 ;如超时等待,则置出错标志 JMP BBB ;退出

AAA: MOV AL,0DH ;使D0位为1

OUT DX,AL ;输出选通信号 MOV AL,0CH ;使D0位为0,选通信号复位 OUT DX,AL

BBB: POP DX ;恢复打印字符

41

微型计算机技术及应用习题解答

MOV AL,DL ;打印字符送AL POP BX POP CX POP DX RET ;返回

PRI ENDP

答:1.程序流程图如上页右图所示:

2.AH的状态:AH.7位“忙”,AH.0位“超时出错”。 3.选通信号是一个正脉冲信号

11.11 以下是IBM PC/XT系统的打印机服务程序的一部分,其中省去了从打印缓冲区取数

据的部分。378H为打印机数据口地址,37AH为打印机控制口地址,20H为8259A的偶地址端口地址。请为下列程序加上注释。 PRI PROC FAR ;打印的中断服务 ;子程序,是一个远 ;过程 STI ;开中断 PUSH AX ;保护现场 PUSH DX PUSH BX ┆ ;从打印缓冲区取数据送入AL MOV DX,378H ;指向打印机数据口 OUT DX,AL ;输出打印字符 MOV DX,37AH ;指向打印机控制口 MOV AL,1DH ;输出选通信号(先使D0位为1) OUT DX,AL MOV AL,1CH ;输出选通信号(再使D0位为0) OUT DX,AL ┆ ;修改缓冲区指针,指向下一个单元 MOV AL,20H ;向8259A发一般的中断结束命令 OUT 20H,AL POP BX ;恢复现场 POP DX POP AX IRET ;中断返回 PRI ENDP ;中断处理程序结束 答:注释见程序的下划线部分。

第十二章 软盘、硬盘和光盘子系统 (略)

第十三章 总线

13.1 什么叫内部总线?什么叫计算机外部总线?通常讲的总线是指哪一种?

答:1.位于芯片内部的总线叫内部总线。

2.位于芯片外部连接各部件的总线叫外部总线。 3.通常讲的总线是指外部总线。

13.2 计算机系统采用总线结构有什么优点?局部总线和系统总线有什么差别?局部总线

在多处理器系统中为什么显得特别重要?

答:1.优点在于凡是同一种总线标准的模块可直接与该总线连接,扩展及应用非常方

便。

42

微型计算机技术及应用习题解答

2.局部总线是指主机板内部和其他插件板内部的总线,其上挂有局部的存储器和局部的I/O口。而系统总线是指连接各插件板的总线,其上挂有公共存储器和公共的输入/输出接口。

3.可以把很大一部分存储器读/写操作和输入/输出操作通过局部总线来完成。只有在访问公共存储器和公共输入/输出接口时,才用系统总线。于是,对系统总线的使用次数便大大减少,避免了“堵塞”现象,并且还提供了各个子系统并行工作的条件。

13.3 MULTIBUS有什么特点?在MULTIBUS中,P1插头信号中有哪些总线控制信号?

答:1.MULTIBUS有如下特点:

① 既支持8位,也支持16位的数据总线;若为32位数据总线,则需用

MULTIBUS–II。

② 很容易组成多机系统。

第3版答案:1、独立于CPU ③ 在总线的各主模块板上都有总线控制器。

2、灵活性强 ④ 可以有8级中断响应信号。

3、可靠性和抗干扰性好 ⑤ 信号线全部用负逻辑定义。

2.P1插头的总线控制信号有:BCLK、BPRN、BPRO、BUSY、BREQ和CBRQ。另外,还有一个LOCK。

13.4 在MULTIBUS系统中,读操作过程和写操作过程的工作时序如何?请用时序图和文

字进行说明。

答:① 读操作过程:主模块首先输出地址,然后发出读命令MRDC(存储器读命令)

或者IORC(I/O读命令),从模块接到命令后,将数据置于数据总线,然后发送传输响应信号XACK。当主模块接收到XACK信号后,便选通输入,并撤销MRDC或IORC,随后,XACK也消失。时序图见书457页图13.6所示。 ② 写操作过程:主模块送出地址的同时,也送出数据,然后发出写命令MWTC(存储器写命令)或者IOWC(I/O写命令),此后,从模块接收数据,并向主模块发出传输响应信号XACK。当主模块接收到XACK信号后,便撤消写命令,并撤消地址和数据。时序图见书457页图13.7所示。

13.5 在MULTIBUS中,为什么要用字节交换缓冲器?进行字节交换的原理是什么?

答:1.因为MULTIBUS中,可以允许16位模块和8位模块混合使用。

2.当8位模块和16位模块(其上有字节交换缓冲器)交换数据时,16位模块通过字节交换缓冲器,将高8位的数据输出到DAT7~DAT0上,再通过DAT7~DAT0进行数据传输。 13.6 当系统中多个主模块同时请求使用总线时,采用什么方式解决这个问题?

答:采用总线仲裁方式。

13.7 说明串行的总线仲裁方式和并行的总线仲裁方式使用场合的区别。

答:串行的总线仲裁方式适用于主模块数目较少的系统中。并行的总线仲裁方式适用

于较多主模块的系统中。

第十四章 主机系统的结构和工作原理

14.1 IBM PC/XT系统板的电路分为哪五个功能块?它的I/O空间为多少?内存寻址空间

为多少?IBM PC/XT的中断源最多可为多少?

答:1.CPU子系统、接口部件子系统、总线、ROM子系统和RAM子系统五个功能

块。

43

微型计算机技术及应用习题解答

2.IBM PC/XT的最大I/O空间为1K。 3.内存寻址空间为1M字节。 4.最多可为256个中断源。

14.2 IBM PC/XT系统中,8088工作于最大模式还是最小模式?在此模式下,有什么特点?

答:1.最大模式。

2.在最大模式下,需要总线控制器8288把系统的控制信号送到总线上去。另外,允许使用8087协处理器等。 14.3 IBM PC/XT的时钟信号频率为多少?一个基本总线周期由多少时钟周期组成?基本

总线周期和时钟信号之间是什么关系?

答:1.IBM PC/XT的时钟信号频率为:4.77MHz。

2.一个基本总线周期由4个时钟周期组成。

3.时钟信号是CPU的基本时间计量单位;基本总线周期包含4个时钟周期,称为4个状态,即:T1状态、T2状态、T3状态、T4状态。 14.4 IBM PC/XT系统板上有哪些接口部件?DMA器件8237A–5的4个通道分别作什么用

途?用户开发程序时,可以用哪个DMA通道?8253–5的3个定时器/计数器是怎样使用的?中断控制器8259A的八级中断中哪些被系统用了,哪些提供给用户使用? 答:1.8237A–5、8253–5、8255A–5、8259A各一片。

2.DMA的通道0用于RAM刷新,通道1为用户保留,通道2用于软驱,通道3用于硬驱。

3.用户用DMA的通道1。

4.计数器0作为定时器,为计时电子钟提供恒定时间标准;计数器1为DMA通道0产生RAM刷新请求;计数器2用于产生扬声器的音调。 5.8259A的IR0和IR1被系统占用。 6.8259A的IR2~IR7供用户使用。 14.5 在什么情况下,系统中必须用到总线控制器8288?概括地讲,8288有什么功能?如

果一个8086/8088系统中不使用8288,那么,应该怎样得到下列信号:MEMW、MEMR、IOW、IOR、ALE?画出简单线路图以表明这4个信号的来源。 答:1.当8086/8088 CPU工作于最大模式时,必须用到8288。

2.功能:根据CPU执行指令时提供的状态信号来建立控制时序,据此输出读/写控制命令。

3.ALE由8086/8088 CPU的25脚直接提供(最小模式)。对8086CPU而言:信号得到方法如下。

M/IO M/IO

IOR IOW

RD WR

M/IO M/IO

MR MW

RD WR

14.6 8086/8088系统工作于最大模式时和最小模式时,CPU在连接上有什么差别?此时

CPU的输出信号有什么差别?

答:1.最大模式下必须使用总线控制器8288,最小模式确不能用它。另外,最大模式

时MIN/MAX必须接地,最小模式时MIN/MAX必须接+5V。

2.CPU只有24~31脚的输出控制信号发生变化:24~25脚的INTA→QS1,ALE→QS0;26、27、28脚的DEN、DT/R、M/IO (或M/IO)变为S0~ S2;29脚的WR→LOCK;30、31脚的HLDA、HOLD变为RQ/GT1、RQ/GT0。

44

微型计算机技术及应用习题解答

14.7 IBM PC/XT系统中,有几个时钟信号?想一想,为什么要用多个时钟信号?它们之

间有何联系?是否可以用不同的晶振来产生这些信号呢? 答:1.有3个时钟信号:CLK88、OSC、PCLK。

2.因为系统中有很多部件需要时钟,而频率却不同,所以需要多个时钟信号。 3.一般来说不可以,因误差情况不同。 14.8 CPU插入等待状态TW时,READY、DMAWAIT、RDY/WAIT信号分别处于什么电

平?在物理意义上,此时说明了一种什么情况?

答:1.READY=0、DMAWAIT=0、RDY/WAIT=1。

2.存储器或外设的速度较慢。

14.9 当DMA传输时,IBM PC/XT的总线控制器8288停止工作,在信号连接上,是怎样

实现这个控制功能的?

答:8288的AEN接系统的AENBRD,CEN接系统的AEN'。在DMA传输时,

AENBRD=1, AEN'=0,因此8288停止工作。

14.10 IBM PC/XT中,通过怎样的线路连接使系统地址总线和系统数据总线上同时存在地址信

息和数据信息?

答:通过地址锁存器在ALE下降沿时锁存地址并送到地址总线,在T2、T3状态时,

数据信息就会同时存在于数据总线上。 14.11 等待逻辑电路的输入信号分为哪两组?它们分别和什么操作相关?叙述CPU插入一

个TW状态的过程,再叙述DMA控制器插入一个SW状态的过程。当需要插入多个TW或SW时,线路上应采取什么措施?

答: 1.一是对I/O进行访问的IOR和IOW,二是用于对动态RAM刷新的信号

DACK0BRD、AENBRD和MEMR。

2.第一组信号实现I/O读操作、I/O写操作。第二组实现动态RAM刷新。

3.I/O读功能、I/O写功能和DMA刷新功能中的任一功能在实现时,都会使触发器U70置1,使Q端即RDY/WAIT变为高电平;在下一个时钟来到时,又把U88的Q端置0,由于Q接U70的R端,因此又把U70置0。这样,在RDY/WAIT端得到宽度为1个时钟周期的正脉冲,此正脉冲送到8284A的AEN1端,通过8284A使CPU插入一个TW状态。U88的另一路输出信号为RDY TO DMA,这是接到DMA控制器8237A–5的。DMA控制器的基本传送周期为4个周期,它和CPU工作时的情况相似,如果存储器或I/O设备的速度较慢,则通过信号RDY TO DMA插入一个SW状态。

4.可以附加等待电路,由此电路产生低电平的I/O CH RDY信号,使U70置1。这样RDY/WAIT端出现高电平,便可以插入任意多个等待状态。直到设备得到足够时间可完成数据传送后,使I/O CH RDY变为高电平,才结束等待状态。

14.12 由片选信号译码器U45(74LS138)的连接说明8237A–5的端口地址为什么在00~1FH范围中,同理再说明其他接口芯片的端口地址范围。

答:因为U45(74LS138)的G2A—A9、G2B—A8、C—A7、B—A6、A—A5。因此,工

作时若使U45的Y0~Y7有一个输出低电平,必须使A9=0,A8=0。又因为8237A–5的CS接Y0,因此A7、A6、A5也必须为000,因此Y0的地址为0000000000B~ 0000011111B即00~1FH。其他接口的端口分别接在U45的Y1~Y7上,其具体端口地址见书473页表142所示。

45

本文来源:https://www.bwwdw.com/article/nadf.html

Top