微型计算机技术及应用习题解答
5.19 通常解决中断优先级的方法有哪几种?各有什么优缺点?
答:1.有软件查询方式、简单硬件方式——菊花链法、专用硬件方式三种。
2.软件查询方式的优点是节省硬件,缺点是中断响应时间长;简单硬件方式的优点是中断响应时间短,硬件较简单,缺点是优先级固定,变动起来很麻烦;专用硬件方式优点是对优先级可编程修改,中断管理非常方便,缺点是硬件复杂的多,好在有专用的中断控制器。 5.20 和DMA比较,中断传输方式有什么不足之处?
答:CPU执行一次传送要花费许多与传送操作无关的指令执行等时间,另外中断传
送方式不能进行数据块传送,而是按字节或字传送。 5.21 叙述用DMA方式传送单个数据的全过程。
答:① 接口准备就绪,发DMA请求信号给DMA控制器。
② DMA控制器向CPU转发总线请求信号HOLD。
③ CPU向DMA控制器发总线请求允许信号HLDA,DMA控制器得到总线控
制权。
④ DMA控制器把地址送地址总线。
⑤ DMA控制器向接口发DMA请求确认信号。 ⑥ 内存和接口通过数据总线传送数据。 ⑦ DMA控制器撤销总线请求信号HOLD。 ⑧ 8086 CPU收回总线控制权。 5.22 DMA控制器的地址线为什么是双向的?什么时候往DMA控制器传输地址?什么时
候DMA控制器往地址总线传输地址?
答:1.因为DMA控制器要接受CPU的控制,接收CPU发来的初始化等信息,这要
求地址线来寻址各端口,地址线为输入线。又因为DMA控制器可控制总线,这要求地址线为输出。所以地址线必须为双向才行。
2.CPU要对DMA控制器发初始化信息时,必须往DMA控制器传输地址。 3.DMA控制器得到总线控制权后,向地址总线传输地址。 5.23 在设计DMA传输程序时,要有哪些必要的模块?设计一个启动数据块输出的程序
段。
答:1.要有DMA的初始化模块:对字节计数器、地址寄存器和控制寄存器置初值。
还要有对接口部件设置控制字的模块:指出数据传输方向,并启动I/O操作。 2.启动数据块输出的程序段如下:
IDLO: IN AL,INTSTAT ;接口状态寄存器的状态位(2)是否忙
TEST AL,04 JNZ IDLO ;忙,则等待 MOV AX,COUNT ;不忙,则设置计数初值 OUT BYTE_REG,AX ;对字节计数器BYTE_REG初始化 LEA AX,BUFFER ;设置地址初值 OUT ADD_REG,AX ;对DMA地址寄存器ADD_REG初始化
MOV AL,DMAC ;取原DMA控制字 OR AL,08H ;设置方向为输出 OUT DMACON,AL ;置DMA控制字 MOV AL,INTC ;取原接口控制字 OR AL,04H ;设置传输方向为输出及允许 OUT INTCON,AL ;置接口控制字
┆ 后续处理
13
微型计算机技术及应用习题解答
5.24 在查询方式、中断方式和DMA方式中,分别用什么方法启动数据传输过程?
答:① 查询方式:通过程序来检测接口中状态寄存器中的“准备好”位,以确定当
前是否可以进行数据传输。 ② 中断方式:当接口中已经有数据要往CPU输入或者准备好接收数据时,接口
会向CPU发一个外部中断请求。CPU响应中断后,便通过运行中断处理程序来实现输入/输出。 ③ DMA方式:外设要求传送数据时,接口会向DMA控制器发DMA请求信号,
DMA控制器转而向CPU发一个总线请求信号,以请求得到总线控制权,如果得到CPU允许,那么,就可在没有CPU参与的情况下,实现DMA传输。
第六章 串并行通信和接口技术 6.1
接口部件为什么需要有寻址功能?设计一个用74LS138构成的译码电路,输入为A3、A4、A5、A8,输出8个信号以对8个接口部件进行选择。想一想如果要进一步对接口中的寄存器进行寻址,应该怎样实现?
答:1.因为,首先接口要对选择M和I/O的信号能够做出解释;此外,要对送来的片
选信号进行识别,以便判断当前本接口是否被访问,如果受到访问,还要决定是接口中那个寄存器受到访问。
2.将A1接在接口的A0上,A2接在接口的A1上;将接口的CS接在74LS138的某一输出端,RD和WR分别接在对应的控制总线上。从而可实现接口中的共8个只读和只写寄存器的寻址。(由于用的是8086 CPU,所以A0空。)
6.2
接口部件的输入/输出操作具体对应哪些功能,举例说明。
答:1.具体对应的功能为:寻址功能、输入/输出功能、数据转换功能、联络功能和错
误检测功能等。
2.例如串行输入操作:首先要将串行输入的数据转换为并行输入的数据放入输入缓冲器,然后发一个准备好信号通知CPU来读取该输入寄存器的内容。从而完成一个串行数据的输入过程。其中在数据转换时自动检测传输的错误。 从广义上说接口部件有哪些功能?
答:寻址功能、输入/输出功能、数据转换功能、联络功能、中断管理功能、复位功
能、可编程功能和错误检测功能。 怎样进行奇/偶校验?如果用偶校验,现在所传输的数据中1的个数为奇数,那么,校验位应为多少?
答:1.用奇/偶校验位对传输错误进行检测。传输时,如果用奇校验,那么使信息中1
的数目(包括校验位)为奇数。即所传输的数据中1的个数为奇数,则使校验位为0;若所传输的数据中1的个数为偶数,则使校验位为1。这样奇校验时,在传输一个数据时,1的总数目总是为奇数。同样若用偶校验,信息中1的数目(包括校验位)为偶数。
2.偶校验时,所传输的数据中1的个数为奇数,则校验位应为1。 什么叫覆盖错误?接口部件如何反映覆盖错误?
答:1.接口的数据缓冲寄存器中的数据还未被取走,由于某种原因又被装上了新的数
据,就会产生一个覆盖错误。
2.在产生覆盖错误时,接口会在状态寄存器中设置相应的状态位来反映。 接口部件和总线之间一般有哪些部件?它们分别完成什么功能? 答:1.外部逻辑电路和地址译码器。
2.外部逻辑电路把CPU送来的一些控制信号翻译成联络信号。地址译码器将总线提供的I/O地址翻译成对接口的片选信号。
14
6.3
6.4
6.5
6.6
微型计算机技术及应用习题解答
6.7
为什么串行接口部件中的4个寄存器可以只用1位地址线来进行区分? 答:一位地址线可编址二个地址,再加上读和写信号可对2个只读寄存器和2个只写
寄存器进行端口寻址。而串行接口部件的控制寄存器和数据输出寄存器是只写的,状态寄存器和数据输入寄存器是只读的,所以可用一位地址线来区分。 在数据通信系统中,什么情况下可以采用全双工方式,什么情况下可用半双工方式? 答:对于近距离较大信息量的传输应采用全双工方式。而对于远距离或较少信息量的
传输或单向的输入或输出设备时应采用半双工方式。 什么叫同步通信方式?什么叫异步通信方式?它们各有什么优缺点?
答:1.在同一时钟控制下需用同步字符同步的信息按组传送的方式叫同步通信方式。
2.在两个相近频率的时钟分别控制下只需一个起始位的信息按字符传送的方式叫异步通信方式。
3.在传输率相同时同步方式的信息有效率要比异步方式下的高。但同步方式必须传送时钟信号,异步方式只要两端的时钟频率相近即可。
6.8
6.9
6.10 什么叫波特率因子?什么叫波特率?设波特率因子为64,波特率为1200,时钟频率
为多少?
答:1.波特率因子:时钟频率和位传输率的比值。此比值必须为16、32或 64。
2.波特率:位传输率即为波特率。
3.时钟频率=波特率因子×波特率=64×1200=76800Hz。 6.11 标准波特率系列指什么?
答:国际上规定的波特率标准值为:110、300、600、1200、1800、2400、4800、9600
和19200、、38400、57600、115200。 6.12 设异步传输时,每个字符对应1个起始位、7个信息位、1个奇/偶校验位和1个停止位,如果波特率为9600,则每秒钟能传输的最大字符数为多少?
答:每个字符所占的总位数为:1+7+1+1=10位。所以每秒钟能传输的最大字符数为
9600/10=960个字符。 6.13 在RS–232–C标准中,信号电平与TTL电平不兼容,问RS–232–C标准的1和0分
别对应什么电平?RS–232–C的电平和TTL电平之间用什么器件进行转换? 答:1.RS–232–C的1对应–3V~–25V;RS–232–C的0对应+3V~+25V电平。
2.RS–232–C电平→TTL电平用MC1489转换; TTL电平→RS–232–C电平用MC1488转换。 6.14 从8251A的编程结构中,可以看到8251A有几个寄存器与外部电路有关?一共要几
个端口地址?为什么?
答:1.有7个寄存器与外部电路有关。
2.要2个端口地址。
3.因为,一个数据输入缓冲寄存器为只写,一个数据输出缓冲寄存器为只读,可共用一个端口地址,在读/写信号配合下进行读/写操作。一个模式寄存器、2个同步字符寄存器和1个控制寄存器都是只写的,但它们有初始化约定,可用一个端口写入,1个状态寄存器为只读,因此与上面共用的一个写入端口合用一个读/写端口地址进行寻址。因此只要2个端口地址即可。 6.15 8251A内部有哪些功能模块?其中读/写控制逻辑电路的主要功能是什么?
答:1.8251A内部有7个功能模块组成。为:接收缓冲器、接收控制电路、发送缓冲
器、发送控制电路、数据总线缓冲器、读/写控制逻辑电路、调制/解调控制电路。
2.读/写控制逻辑电路的主要功能是:用来配合数据总线缓冲器工作。
① 接收写信号WR,并将来自数据总线的数据和控制字写入8251A;
15
微型计算机技术及应用习题解答
② 接收读信号RD,并将数据或状态字从8251A送往数据总线;
③ 接收控制/数据信号C/D,将此信号和读/写信号合起来通知8251A,当前
读/写的是数据还是控制字、状态字; ④ 接收时钟信号CLK,完成8251A的内部定时; ⑤ 接收复位信号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端应当和哪个信号相连,以便实现状态端口、数据
端口、控制端口的读/写?
16