8255 微处理器工作模式
8255 是一种通用可编程 IO 设备。它旨在将 CPU 与一些外部设备(如 ADC、DAC、键盘等)连接起来。我们可以根据给定的条件对设备进行编程。
有三个 8 位双向 IO 端口。端口 A、端口 B 和端口 C。这些端口被指定为输入或输出端口。
8255 的框图如下所示
8255 有两种不同的模式。这些模式是
位设置复位 (BSR) 模式
输入/输出模式
位设置复位 (BSR) 模式
此模式用于设置或复位端口 C 的位。对于 BSR 模式,D7 将始终为 0。控制寄存器如下所示
(D3、D2、D1)将为 000 到 111。在此模式下,它一次只影响端口 C 的一位。当用户设置该位时,它将保持设置状态,直到用户取消设置它。用户需要将位模式加载到控制寄存器中以更改该位。
输入/输出模式
当控制寄存器的 D7 位为 1 时,选择此模式。
此模式还有三种不同的模式。这些模式是模式 0、模式 1 和模式 3。
模式 0 – 简单或基本 I/O 模式
在此模式下,所有端口 A、B 和 C 都可以用作输入或输出模式。输出被锁存,但输入不被锁存。此模式具有中断处理功能。
模式 1 – 握手或选通 I/O
在此模式下,端口 A 和端口 B 可用作输入或输出端口,端口 C 用于握手。在此模式下,输入和输出都被锁存。此模式还具有中断处理功能,以及信号控制以匹配 CPU 和 IO 设备的速度。
模式 3 – 双向 I/O
在此模式下,只有端口 A 可以工作,端口 B 可以处于模式 0 或模式 1,端口 C 用于握手。在此模式下,输入和输出都被锁存。控制寄存器在此模式下的外观如下所示
位 | 功能 |
D7 | IO 模式为 1,BSR 模式为 0 |
D6 & D5 | 这些用于设置端口 A 模式。对于 00,它是 m0 模式,对于 01,它是 m2 模式,对于 10 或 11,它是 m2 模式。 |
D4 | 端口 A 接收输入时为 1,端口 A 发送输出时为 0。 |
D3 | 端口 C 的高四位接收输入时为 1,发送输出时为 0。 |
D2 | 它指示端口 B 的模式。对于 0,它是 m0 模式,对于 1,它是 m1 模式。 |
D1 | 端口 B 接收输入时为 1,发送输出时为 0。 |
D0 | 端口 C 的低四位接收输入时为 1,发送输出时为 0。 |
广告