17 KiB
tags, create time
| tags | create time | ||
|---|---|---|---|
|
2026-06-26 22:20 |
试题 B — 武汉科技大学《接口与通讯技术》
概述
- 课程:接口与通讯技术(B 卷)
- 学校:武汉科技大学
- 题型:填空题、单项选择题、简答题、应用分析题、程序设计题
- 知识点:8255A、8254、8259A、8237A DMA、8251A、RS-232C
[!tip] 学习建议 本卷侧重 DMA 传输方式与 8237A 控制器分析,以及 8254 方波产生程序设计。建议重点掌握 8255A 方式 1 联络信号时序和 BCD/二进制计数初值的换算。
正文
一、填空题(每空1分,共20分)
- CPU的数据总线为系统总线中的 与微处理器相连的接口芯片可分为通用接口芯片与 两种。
[!success]- 答案与解析 答案:(1)AB(地址总线) (2)专用接口芯片
解析:系统总线包括数据总线(DB)、地址总线(AB)和控制总线(CB)。接口芯片按功能分为通用接口芯片(如 8255A)和专用接口芯片(如 8251A 串行接口)。
- 在CPU的数据总线与系统总线之间必须配有。8286/8287的作用是。
[!success]- 答案与解析 答案:(1)数据缓冲器(或数据总线驱动器) (2)数据缓冲/驱动
解析:8286/8287 是 Intel 公司生产的总线收发器(数据缓冲器),用于增强数据总线的驱动能力。8286 为同相输出,8287 为反相输出。
- 一个8254通道占用 个地址端口。
[!success]- 答案与解析 答案:(1)2
解析:8254 每个计数器通道占用 2 个端口地址(分别用于读/写计数初值的低字节和高字节),加上控制寄存器,3 个通道共需 4 个端口地址。
- 当Intel 8086访问1MB的存储器空间时,低8位芯片数据总线 与偶地址存储单元连接,高8位芯片数据总线 与奇地址存储单元连接。因此8086访问1MB存储器空间时需要区分。
[!success]- 答案与解析 答案:(1)D7
D0 (2)D15D8 (3)奇偶地址(奇偶字节)解析:8086 采用 16 位数据总线,低 8 位(D7
D0)连接偶地址存储体,高 8 位(D15D8)连接奇地址存储体。通过 BHE(总线高字节允许)和 A0 信号区分访问奇地址字节、偶地址字节或字。
- 8255A的内部结构包括数据总线缓冲器、 和。
[!success]- 答案与解析 答案:(1)读/写控制逻辑 (2)A组控制 (3)B组控制
解析:8255A 内部由四部分组成:数据总线缓冲器(实现 CPU 与 8255A 之间的数据传输)、读/写控制逻辑(控制端口的读写操作)、A 组控制(控制 A 口和 C 口高 4 位)、B 组控制(控制 B 口和 C 口低 4 位)。
- 8259A有 个初始化命令字, 个操作命令字。
[!success]- 答案与解析 答案:(1)4 (2)3
解析:8259A 有 4 个初始化命令字(ICW1
ICW4)和 3 个操作命令字(OCW1OCW3)。ICW 在初始化阶段写入,OCW 在工作过程中写入。
- 8251A用作异步通信时,通过编程可选择 和 等。
[!success]- 答案与解析 答案:(1)波特率 (2)字符长度 (3)停止位 (4)奇偶校验方式
解析:8251A 异步通信方式下,方式控制字可设定波特率系数(x1/x16/x64)、字符长度(5~8 位)、停止位(1/1.5/2 位)和奇偶校验方式(奇/偶/无校验)。
- 8251A的工作方式控制字的 位决定了芯片的工作方式,其中D7D6=00时为同步方式,D7D6=01时为异步方式。
[!success]- 答案与解析 答案:(1)D7D6
解析:8251A 的方式控制字中 D7D6 位用于选择工作方式:00 为同步方式,01 为异步方式(波特率系数 x1),10 为异步方式(波特率系数 x16),11 为异步方式(波特率系数 x64)。
- RS-232C采用负逻辑,逻辑"1"对应,逻辑"0"对应。
[!success]- 答案与解析 答案:(1)-3V~-15V (2)+3V~+15V
解析:RS-232C 标准采用负逻辑,与 TTL 电平相反。逻辑"1"(MARK)为 -3V ~ -15V,逻辑"0"(SPACE)为 +3V ~ +15V。
- 8255A的A口工作在方式1输入时,其应答联络信号为 和。
[!success]- 答案与解析 答案:(1)STB(选通信号) (2)IBF(输入缓冲器满信号)
解析:8255A A 口方式 1 输入时使用两个联络信号:STB(Strobe,选通信号)由外设发出,将数据锁存到 A 口输入锁存器;IBF(Input Buffer Full,输入缓冲器满)由 8255A 发出,通知外设数据已被接收。
二、单项选择题(每题2分,共20分)
- 8086/8088响应中断时,会自动压入堆栈的标志位是。
- A. INTR
- B. IF和TF
- C. DF和IF
- D. IF和CF
[!success]- 答案与解析 答案:B
解析:8086/8088 响应中断时,CPU 自动将 FLAGS、CS 和 IP 压入堆栈,然后清除 IF(中断允许标志)和 TF(单步标志),以禁止中断嵌套和单步执行。
- 在8086/8088系统中,某存储单元物理地址为22456H,若段基地址为2000H,则段内偏移地址为。
- A. 2456H
- B. 12456H
- C. 02456H
- D. 32456H
[!success]- 答案与解析 答案:A
解析:物理地址 = 段基地址 x 16 + 偏移地址。偏移地址 = 物理地址 - 段基地址 x 16 = 22456H - 20000H = 2456H。
- 在DMA传送方式中,每传送一个数据块需要占用 个总线周期。
- A. 1个
- B. 2个
- C. 3个
- D. 4个
[!success]- 答案与解析 答案:B
解析:DMA 传送一个数据块通常需要两个总线周期:第一个周期从内存读出数据,第二个周期将数据写入 I/O 设备(或反之)。
- 在8255A的C口位定义/复位命令字中,若要使PC3=1,则命令字为。
- A. 07H
- B. 0FH
- C. 87H
- D. 8FH
[!success]- 答案与解析 答案:A
解析:C 口按位置位/复位命令字格式为 D7=0, D6D5D4 无关, D3D2D1 选择位号, D0=1 置位/0 复位。PC3 的位号为 011,置 1 则 D0=1,命令字 = 00000111B = 07H。
- 在8255A工作在方式1输入时,用于数据输入的信号是。
- A. INTR、IBF、STB
- B. STB、IBF、RD
- C. IBF、INTR、RD
- D. INTR、OBF、ACK
[!success]- 答案与解析 答案:B
解析:8255A 方式 1 输入时,数据输入涉及 STB(外设发选通信号锁存数据)、IBF(8255A 发缓冲器满信号)和 RD(CPU 读信号读取数据)。INTR 用于中断请求,OBF 和 ACK 用于输出方式。
- 若对8259A进行ICW1写入操作,即对A0=0的端口写入ICW1后,8259A将。
- A. 预置A0=0后写入
- B. 自动判断下一个写入的是ICW2还是ICW3
- C. 需要用OCW来控制
- D. 写入OCW1设置中断屏蔽字
[!success]- 答案与解析 答案:A
解析:写入 ICW1 后,8259A 进入初始化序列,自动按顺序接收 ICW2、ICW3(若需要)、ICW4(若需要)。写入 ICW1 时 A0=0,后续 ICW2 的 A0=1。8259A 根据 ICW1 中的标志位自动判断是否需要 ICW3 和 ICW4。
- 在DMA方式下,内存与外设之间的数据传输特点是。
- A. 仅由CPU控制
- B. 仅由DMA控制器控制
- C. 由CPU和DMA控制器共同控制
- D. 数据传输不经过CPU,直接在内存和外设之间进行
[!success]- 答案与解析 答案:D
解析:DMA(Direct Memory Access)方式的核心特点是数据传输不经过 CPU,直接在内存和 I/O 设备之间进行。CPU 只在传输前初始化 DMA 控制器,传输过程中让出总线控制权,传输完成后由 DMA 控制器通知 CPU。
- 8251A工作在异步方式时,波特率系数可通过 来设定。
- A. 工作方式寄存器
- B. 命令寄存器
- C. 状态寄存器
- D. 方式选择寄存器
[!success]- 答案与解析 答案:B
解析:8251A 的波特率系数通过方式控制字(方式选择寄存器)的 D7D6 位设定:00 为同步方式,01 为 x1,10 为 x16,11 为 x64。选项 B(命令寄存器)的表述可能有误,正确应为方式选择寄存器。
- 下列关于DMA,描述错误的是。
- A. DMA传输时,数据在内存和I/O设备之间直接传送
- B. DMA传输前CPU要初始化DMA控制器
- C. DMA传输完成后CPU要处理中断
- D. DMA传输时CPU不能做其他工作
[!success]- 答案与解析 答案:C
解析:DMA 传输完成后,DMA 控制器通过中断通知 CPU,但 CPU 不一定需要处理中断(可以查询方式获知传输完成)。DMA 传输时 CPU 让出总线,确实不能做其他工作(在单总线结构中)。选项 D 的描述在某些系统中也不完全正确,因为现代系统可支持总线仲裁让 CPU 和 DMA 交替使用总线。
- RS-232C中,控制数据流方向的信号是。
- A. RTS
- B. CTS
- C. DTR
- D. DSR
[!success]- 答案与解析 答案:B
解析:RS-232C 中 RTS(Request To Send)和 CTS(Clear To Send)用于硬件流控制。RTS 由发送方发出请求发送,CTS 由接收方回应允许发送。CTS 信号控制发送方是否可以继续发送数据,从而实现数据流方向控制。DTR 和 DSR 用于设备就绪状态的握手。
三、简答题(每题5分,共15分)
- 简述8255A的A口在方式1输入时的工作过程,包括相关联络信号的含义。
[!success]- 答案与解析 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变低,准备接收下一个数据。
- 简述DMA控制器8237A的主要功能和工作模式。
[!success]- 答案与解析 8237A是Intel公司生产的可编程DMA控制器,主要功能包括:
- 在外设和存储器之间提供高速数据传输通道
- 支持4个独立的DMA通道
- 每个通道可独立编程,支持不同的传输参数
- 支持单字节传输、块传输、请求传输和级联传输等模式
- 支持存储器到存储器的传输
- 具有地址自动增减功能
- 具有优先级仲裁逻辑
- 在微型计算机系统中,通常采用哪几种I/O端口编址方式?各有何特点?
[!success]- 答案与解析 微型计算机系统中通常采用两种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分)
- (本题10分) 在微型计算机系统中,8237A的地址线A3
A0与CPU的地址总线A3A0连接,地址允许信号AEN由译码器输出控制。当前CPU的地址线A9A8A7A6A5=11011,译码器输出为低电平。试回答:- (1) 8237A各通道DMA请求优先权排列顺序如何?
- (2) 若要禁止所有通道的DMA请求,应如何写入命令字?
- (3) 通道0地址计数器初值为2000H,传送字节数为1000,传送完成后地址计数器值为多少?
[!success]- 答案与解析
- (1) 8237A各通道的DMA请求优先权从高到低排列为:通道0 > 通道1 > 通道2 > 通道3。可用编程方式改变为循环优先权方式。
- (2) 若要禁止所有通道的DMA请求,应向命令寄存器写入控制字,将所有通道的使能位清零(即写入04H~05H禁止通道),同时设置禁止DMA控制位。
- (3) 通道0地址计数器初值为2000H,每传送一个字节地址自动加1,传送1000个字节后:2000H + 1000 = 2000H + 3E8H = 23E8H。传送完成后地址计数器值为23E8H。
[!question] 解题思路 应用分析题需要理解芯片的工作原理和时序,建议先分析控制字各位的含义,再逐步推导初始化程序。
-
(本题15分) 通过地址译码器将8254定时/计数器0通道的CLK0接至1.193182MHz时钟源,要求CLK0分频后产生约100Hz频率的方波。
- (1) 写出控制字,并写出向0通道装入的时间常数(二进制)。
- (2) 设8254口地址为40H~43H,编写初始化程序段。
- (3) 若采用BCD计数方式,时间常数如何装入?写出相应的初始化程序段。
[!success]- 答案与解析
(1) 分频系数 = 1193182 / 100 ≈ 11932 = 2EA4H
控制字:选用方式3(方波发生器),二进制计数,先读写低字节再读写高字节,通道0。 控制字 = 00110110B = 36H
时间常数 = 2EA4H = 11932
(2) 初始化程序段(二进制方式):
MOV AL, 36H ; 控制字:通道0,方式3,二进制计数 OUT 43H, AL ; 写入控制寄存器 MOV AX, 2EA4H ; 时间常数 OUT 40H, AL ; 先写低字节 MOV AL, AH OUT 40H, AL ; 再写高字节(3) 若采用BCD计数方式:
分频系数 = 11932 = 1x10000 + 1x1000 + 9x100 + 3x10 + 2 = 0192BCD(注意BCD码最大65536)
实际上 11932 的BCD表示为:0119 32BCD = 011932H → 需要用4位BCD码表示。
控制字 = 00110111B = 37H(方式3,BCD计数)
时间常数:低字节 = 32H(低2位BCD),高字节 = 11H(高2位BCD),即11932 = 1132BCD
初始化程序段:
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分)
-
(本题10分) 用8255A的A口控制LED显示器循环显示8个花样灯显示方式,要求:
已知8255A控制字口地址为8006H,各口地址分别为:8000H(A口)、8002H(B口)、8004H(C口)、8006H(控制口)。
编写程序段实现8255A初始化及LED花样显示控制。
[!success]- 答案与解析
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
- (本题10分) 编写利用8253/8254产生方波的程序段。要求:
- 系统时钟频率为1MHz
- 通过8253/8254通道0产生1kHz的方波
- 8253/8254控制口地址为4006H,通道0地址为4000H
[!success]- 答案与解析 时钟频率1MHz,要产生1kHz方波,需要分频系数 = 1000000 / 1000 = 1000
选用方式3(方波发生器),二进制计数,先读写低字节再读写高字节。
控制字 = 00110110B = 36H
时间常数 = 1000 = 03E8H
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 ; 再写高字节