Files
final-exam/接口与通讯技术/试题册/试题B.md
T

272 lines
11 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
tags: [试题, 接口与通讯技术]
create time: 2026-06-26 22:20
---
# 试题B
## 概述
武汉科技大学期末考试试卷,考试科目:接口与通讯技术,试卷类型:B卷。本试卷包含填空题、单项选择题、简答题、应用分析题和程序设计题五大题型,满分100分,考试时间120分钟(含附加题)。
## 正文
### 一、填空题(每空1分,共20分)
1. CPU的数据总线为系统总线中的 **[AB]** 与微处理器相连的接口芯片可分为通用接口芯片与 **[专用接口芯片]** 两种。
2. 在CPU的数据总线与系统总线之间必须配有 **[数据缓冲器(或数据总线驱动器)]**。8286/8287的作用是 **[数据缓冲/驱动]**。
3. 一个8254通道占用 **[2]** 个地址端口。
4. 当Intel 8086访问1MB的存储器空间时,低8位芯片数据总线 **[D7~D0]** 与偶地址存储单元连接,高8位芯片数据总线 **[D15~D8]** 与奇地址存储单元连接。因此8086访问1MB存储器空间时需要区分 **[奇偶地址(奇偶字节)]**。
5. 8255A的内部结构包括数据总线缓冲器、 **[读/写控制逻辑]**、 **[A组控制]** 和 **[B组控制]**。
6. 8259A有 **[4]** 个初始化命令字, **[3]** 个操作命令字。
7. 8251A用作异步通信时,通过编程可选择 **[波特率]**、 **[字符长度]**、 **[停止位]** 和 **[奇偶校验方式]** 等。
8. 8251A的工作方式控制字的 **[D7D6]** 位决定了芯片的工作方式,其中D7D6=00时为同步方式,D7D6=01时为异步方式。
9. RS-232C采用负逻辑,逻辑"1"对应 **[-3V~-15V]**,逻辑"0"对应 **[+3V~+15V]**。
10. 8255A的A口工作在方式1输入时,其应答联络信号为 **[STB(选通信号)]** 和 **[IBF(输入缓冲器满信号)]**。
### 二、单项选择题(每题2分,共20分)
1. 8086/8088响应中断时,会自动压入堆栈的标志位是 **[B]**。
- A. INTR
- B. IF和TF
- C. DF和IF
- D. IF和CF
2. 在8086/8088系统中,某存储单元物理地址为22456H,若段基地址为2000H,则段内偏移地址为 **[A]**。
- A. 2456H
- B. 12456H
- C. 02456H
- D. 32456H
3. 在DMA传送方式中,每传送一个数据块需要占用 **[B]** 个总线周期。
- A. 1个
- B. 2个
- C. 3个
- D. 4个
4. 在8255A的C口位定义/复位命令字中,若要使PC3=1,则命令字为 **[A]**。
- A. 07H
- B. 0FH
- C. 87H
- D. 8FH
5. 在8255A工作在方式1输入时,用于数据输入的信号是 **[B]**。
- A. INTR、IBF、STB
- B. STB、IBF、RD
- C. IBF、INTR、RD
- D. INTR、OBF、ACK
6. 若对8259A进行ICW1写入操作,即对A0=0的端口写入ICW1后,8259A将 **[A]**。
- A. 预置A0=0后写入
- B. 自动判断下一个写入的是ICW2还是ICW3
- C. 需要用OCW来控制
- D. 写入OCW1设置中断屏蔽字
7. 在DMA方式下,内存与外设之间的数据传输特点是 **[D]**。
- A. 仅由CPU控制
- B. 仅由DMA控制器控制
- C. 由CPU和DMA控制器共同控制
- D. 数据传输不经过CPU,直接在内存和外设之间进行
8. 8251A工作在异步方式时,波特率系数可通过 **[B]** 来设定。
- A. 工作方式寄存器
- B. 命令寄存器
- C. 状态寄存器
- D. 方式选择寄存器
9. 下列关于DMA,描述错误的是 **[C]**。
- A. DMA传输时,数据在内存和I/O设备之间直接传送
- B. DMA传输前CPU要初始化DMA控制器
- C. DMA传输完成后CPU要处理中断
- D. DMA传输时CPU不能做其他工作
10. RS-232C中,控制数据流方向的信号是 **[B]**。
- A. RTS
- B. CTS
- C. DTR
- D. DSR
### 三、简答题(每题5分,共15分)
1. **简述8255A的A口在方式1输入时的工作过程,包括相关联络信号的含义。**
**答:** 8255A的A口工作在方式1输入时,利用C口的某些引脚作为联络信号:
- **STB(选通信号)**:由外设发出,低电平有效,将外设数据锁存到A口的输入锁存器中。
- **IBF(输入缓冲器满信号)**:由8255A发出,高电平有效,表示A口已接收到数据,通知外设数据已被锁存。
- **INTR(中断请求信号)**:当STB上升沿且IBF为高电平时,INTR变高,向CPU发出中断请求,请求CPU读取数据。
- **INTE(中断允许)**:可通过C口置位/复位命令控制,允许或禁止A口的中断请求。
工作过程:外设将数据放到数据线上,然后发STB信号将数据锁存,8255A发IBF通知外设数据已收到,同时在满足条件时发INTR请求CPU读取数据。CPU响应中断后读取数据,IBF变低,准备接收下一个数据。
2. **简述DMA控制器8237A的主要功能和工作模式。**
**答:** 8237A是Intel公司生产的可编程DMA控制器,主要功能包括:
- 在外设和存储器之间提供高速数据传输通道
- 支持4个独立的DMA通道
- 每个通道可独立编程,支持不同的传输参数
- 支持单字节传输、块传输、请求传输和级联传输等模式
- 支持存储器到存储器的传输
- 具有地址自动增减功能
- 具有优先级仲裁逻辑
3. **在微型计算机系统中,通常采用哪几种I/O端口编址方式?各有何特点?**
**答:** 微型计算机系统中通常采用两种I/O端口编址方式:
- **统一编址(存储器映射I/O)**:将I/O端口地址和存储器地址统一编排在同一地址空间中。优点是可以使用全部存储器指令访问I/O端口,寻址方式灵活;缺点是I/O端口占用存储器地址空间。
- **独立编址(I/O隔离编址)**:I/O端口和存储器分别使用独立的地址空间,通过专门的I/O指令(如IN/OUT)访问I/O端口。优点是不占用存储器地址空间,I/O地址译码简单;缺点是I/O指令较少,功能不如存储器指令丰富。
### 四、应用分析题(共25分)
1. **(本题10分)** 在微型计算机系统中,8237A的地址线A3~A0与CPU的地址总线A3~A0连接,地址允许信号AEN由译码器输出控制。当前CPU的地址线A9A8A7A6A5=11011,译码器输出为低电平。试回答:
- (1) 8237A各通道DMA请求优先权排列顺序如何?
- (2) 若要禁止所有通道的DMA请求,应如何写入命令字?
- (3) 通道0地址计数器初值为2000H,传送字节数为1000,传送完成后地址计数器值为多少?
**答:**
- (1) 8237A各通道的DMA请求优先权从高到低排列为:通道0 > 通道1 > 通道2 > 通道3。可用编程方式改变为循环优先权方式。
- (2) 若要禁止所有通道的DMA请求,应向命令寄存器写入控制字,将所有通道的使能位清零(即写入04H~05H禁止通道),同时设置禁止DMA控制位。
- (3) 通道0地址计数器初值为2000H,每传送一个字节地址自动加1,传送1000个字节后:2000H + 1000 = 2000H + 3E8H = 23E8H。传送完成后地址计数器值为23E8H。
2. **(本题15分)** 通过地址译码器将8254定时/计数器0通道的CLK0接至1.193182MHz时钟源,要求CLK0分频后产生约100Hz频率的方波。
- (1) 写出控制字,并写出向0通道装入的时间常数(二进制)。
- (2) 设8254口地址为40H~43H,编写初始化程序段。
- (3) 若采用BCD计数方式,时间常数如何装入?写出相应的初始化程序段。
**答:**
- (1) 分频系数 = 1193182 / 100 ≈ 11932 = 2EA4H
控制字:选用方式3(方波发生器),二进制计数,先读写低字节再读写高字节,通道0。
控制字 = 00110110B = 36H
时间常数 = 2EA4H = 11932
- (2) 初始化程序段(二进制方式):
```asm
MOV AL, 36H ; 控制字:通道0,方式3,二进制计数
OUT 43H, AL ; 写入控制寄存器
MOV AX, 2EA4H ; 时间常数
OUT 40H, AL ; 先写低字节
MOV AL, AH
OUT 40H, AL ; 再写高字节
```
- (3) 若采用BCD计数方式:
分频系数 = 11932 = 1×10000 + 1×1000 + 9×100 + 3×10 + 2 = 0192BCD(注意BCD码最大65536)
实际上 11932 的BCD表示为:0119 32BCD = 011932H → 需要用4位BCD码表示。
控制字 = 00110111B = 37H(方式3,BCD计数)
时间常数:低字节 = 32H(低2位BCD),高字节 = 11H(高2位BCD),即11932 = 1132BCD
初始化程序段:
```asm
MOV AL, 37H ; 控制字:通道0,方式3,BCD计数
OUT 43H, AL ; 写入控制寄存器
MOV AL, 32H ; 低2位BCD(32)
OUT 40H, AL ; 先写低字节
MOV AL, 11H ; 高2位BCD(11)
OUT 40H, AL ; 再写高字节
```
### 五、程序设计题(共20分)
1. **(本题10分)** 用8255A的A口控制LED显示器循环显示8个花样灯显示方式,要求:
已知8255A控制字口地址为8006H,各口地址分别为:8000H(A口)、8002H(B口)、8004H(C口)、8006H(控制口)。
编写程序段实现8255A初始化及LED花样显示控制。
**答:**
```asm
DATA SEGMENT
PATTERN DB 80H, 40H, 20H, 10H, 08H, 04H, 02H, 01H ; 8个花样灯模式
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE, DS:DATA
START:
MOV AX, DATA
MOV DS, AX
; 8255A初始化:A口方式0输出,B口方式0输出
MOV DX, 8006H ; 控制口地址
MOV AL, 80H ; 控制字:A口方式0输出
OUT DX, AL
DISPLAY:
MOV CX, 8 ; 8个花样模式
LEA SI, PATTERN
NEXT:
MOV DX, 8000H ; A口地址
MOV AL, [SI] ; 取花样灯模式
OUT DX, AL ; 输出到A口控制LED
; 延时
PUSH CX
MOV CX, 0FFFFH
DELAY:
NOP
LOOP DELAY
POP CX
INC SI ; 指向下一个模式
LOOP NEXT ; 循环显示8个模式
JMP DISPLAY ; 无限循环
CODE ENDS
END START
```
2. **(本题10分)** 编写利用8253/8254产生方波的程序段。要求:
- 系统时钟频率为1MHz
- 通过8253/8254通道0产生1kHz的方波
- 8253/8254控制口地址为4006H,通道0地址为4000H
**答:**
时钟频率1MHz,要产生1kHz方波,需要分频系数 = 1000000 / 1000 = 1000
选用方式3(方波发生器),二进制计数,先读写低字节再读写高字节。
控制字 = 00110110B = 36H
时间常数 = 1000 = 03E8H
```asm
NEXT:
MOV DX, 4006H ; 控制口地址
MOV AL, 36H ; 控制字:通道0,方式3,二进制计数
OUT DX, AL
MOV DX, 4000H ; 通道0地址
MOV AX, 03E8H ; 时间常数1000
OUT DX, AL ; 先写低字节
MOV AL, AH
OUT DX, AL ; 再写高字节
```
---
## 关联笔记
- [[接口与通讯技术/8255A可编程并行接口]]
- [[接口与通讯技术/8254定时计数器]]
- [[接口与通讯技术/8259A中断控制器]]
- [[接口与通讯技术/DMA控制器8237A]]
- [[接口与通讯技术/8251A串行通信接口]]