Files
final-exam/接口与通讯技术/重点复习/填空题专题/82C55A工作方式.md
T

115 lines
4.1 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:
- 接口与通讯技术
- 8255A
- 工作方式
- 重点复习
create time: 2026-06-28 15:00
---
# 82C55A 工作方式
## 概述
82C55A(可编程并行接口芯片)有 3 种工作方式,其中方式 1 和方式 2 具有固定联络信号线、固定时序和确定的状态字。本专题聚焦填空题常考的三种工作方式对比,尤其是联络信号的有无。
## 正文
### 1. 三种工作方式总览
| 工作方式 | 名称 | 联络信号 | 固定时序 | 状态字 | 中断支持 |
|---------|------|:--------:|:--------:|:------:|:--------:|
| **方式 0** | 基本输入/输出 | ✗ 无 | ✗ 无 | ✗ 无 | ✗ 无 |
| **方式 1** | 选通输入/输出 | ✓ **有** | ✓ **有** | ✓ **有** | ✓ 有 |
| **方式 2** | 双向选通总线 I/O | ✓ **有** | ✓ **有** | ✓ **有** | ✓ 有 |
> [!important] 考试关键点
> **方式 1 和方式 2** 有固定联络信号线、固定时序和确定的状态字。方式 0 是最基本的、无握手信号的方式。
### 2. 三种方式详解
#### 方式 0 — 基本 I/O(无联络信号)
最简单的方式,无需任何握手信号:
- A、B、C 三个端口均可使用
- 适用于无条件传送或简单外设(LED、开关)
- **没有**固定的联络信号线、时序和状态字
#### 方式 1 — 选通 I/O(有固定联络信号)
利用端口 C 的部分引脚作为联络信号,实现同步数据传输:
| 方向 | 占用 C 口引脚数 | 联络信号 |
|------|:------------:|---------|
| 输入 | 3 根 | STB、IBF、INTR |
| 输出 | 3 根 | OBF、ACK、INTR |
```mermaid
graph LR
subgraph "方式 1 输入联络信号"
A1["STB<br/>选通信号"] --> B1["锁存数据"]
B1 --> C1["IBF<br/>缓冲器满"]
C1 --> D1["INTR<br/>中断请求"]
end
subgraph "方式 1 输出联络信号"
A2["OBF<br/>输出缓冲满"] --> B2["等待外设取走"]
B2 --> C2["ACK<br/>应答确认"]
C2 --> D2["INTR<br/>可写下一个"]
end
```
#### 方式 2 — 双向总线 I/O(有固定联络信号 + 状态字)
**仅端口 A 可用**,同一端口既可输入又可输出:
- 占用 C 口 **5 根**引脚(PC3~PC7)
- 兼顾输入和输出的联络信号
- 有确定的**状态字**反映当前传输方向
### 3. 方式对比速查图
```mermaid
graph TD
A["82C55A<br/>三种工作方式"] --> B["方式 0<br/>基本 I/O<br/>无联络信号<br/>最灵活"]
A --> C["方式 1<br/>选通 I/O<br/>有固定联络信号<br/>固定时序"]
A --> D["方式 2<br/>双向 I/O<br/>有固定联络信号<br/>固定时序+状态字"]
style B fill:#ffd,stroke:#333,color:#000
style C fill:#dfd,stroke:#333,color:#000
style D fill:#dfd,stroke:#333,color:#000
```
> [!question] 思考题
> 为什么方式 0 没有固定联络信号?这在实际应用中意味着什么?
>
> 答:方式 0 是最基本的 I/O 方式,CPU 直接通过 IN/OUT 指令读写端口数据,不依赖任何握手协议。这意味着:
> 1. 需要外设和 CPU 速度匹配(否则数据可能丢失)
> 2. 适用于无条件传送场景(如 LED 显示、开关读取)
> 3. 编程简单,但可靠性不如方式 1/2
### 4. 端口 C 引脚复用
方式 1/2 下,端口 C 的部分引脚被用作联络信号:
| 端口配置 | 占用的 C 口引脚 | 数量 |
|----------|----------------|:----:|
| A 口方式 1 输入/输出 | PC3、PC4、PC5 或 PC3、PC6、PC7 | 3 |
| A 口方式 2 | PC3、PC4、PC5、PC6、PC7 | **5** |
| B 口方式 1 输入/输出 | PC0、PC1、PC2 | 3 |
> [!tip] 规律记忆
> - 每个方式 1 端口固定占用 **3 根** C 口引脚
> - 方式 2 额外增加 2 根 → 共 **5 根**
> - B 口的联络信号全部来自 C 口低 3 位(PC0~PC2)
### 5. 真题回顾
> [!example] 【真题】82C55A 有 3 种工作方式——方式 0、方式 1 和方式 2,其中方式\_\_\_\_\_\_有固定联络信号线,固定时序和确定的状态字。
>
> **答案**:1 和 2
## 关联笔记
- [[82C37A DMA控制器]]
- [[接口分层结构]]
- [[接口与通讯技术/复习文档/8255A可编程并行接口]]
- [[接口与通讯技术/试题册/index|试题册索引]]