8255 控制端口


在 8255 中,有两种类型的命令字或控制字可用。它们是:

  • 模式定义控制字和

  • 端口 C 位设置/复位控制字。

这两个都只写入控制端口。从微处理器的角度来看,只有一个 8 位控制端口,当 CS*=0,WR*=0,A1=1 和 A0=1 时被选中。但是如果我们考虑 8255 的架构,内部有两个控制端口,一个用于模式定义控制,另一个用于端口 C 位设置/复位控制。如果控制端口的 MS 位 = 1,则控制端口的内容被锁存到模式定义控制端口中。如果控制端口的 MS 位 = 0,则控制端口的内容被锁存到端口 C 位设置/复位控制端口中。这可以从下图看出。

现在让我们讨论模式定义控制字。下图描述了这一点:

下表描述了所有这些位的含义和用途:

位 0 (PClI)1 = 端口 C 下部 (PC3-0) 作为输入
0 = 端口 C 下部 (PC3-0) 作为输出
位 1 (PBI)1 = 端口 B 作为输入
0 = 端口 B 作为输出
位 2 (MB)1 = 端口 B 在模式 1
0 = 端口 B 在模式 0
位 3 (PCuI)1 = 端口 C 上部 (PC7-4) 作为输入
0 = 端口 C 上部 (PC7-4) 作为输出
位 4 (PAI)1 = 端口 A 作为输入
0 = 端口 A 作为输出
位 6, 50 0 = 端口 A 在模式 0
(MA2,MA1)0 1 = 端口 A 在模式 1
1 0 = 端口 A 在模式 2
1 1 = 端口 A 在模式 2
位 7必须为 1,表示它是模式定义控制。

现在让我们讨论端口 C 位设置/复位控制字。下图描述了这一点:

下表描述了所有这些位的含义和用途:

位 0 (S/R*)1 = 设置由位 3、2 和 1 选择的端口 C 位
0 = 复位由位 3、2 和 1 选择的端口 C 位
位 3, 2, 1 (SB2, 1, 0)000 = 选择端口 C 的位 0
001 = 选择端口 C 的位 1
010 = 选择端口 C 的位 2
011 = 选择端口 C 的位 3
100 = 选择端口 C 的位 4
101 = 选择端口 C 的位 5
110 = 选择端口 C 的位 6
111 = 选择端口 C 的位 7
位 6, 5, 4无关紧要。通常加载为 000
位 70 表示它是端口 C 位设置/复位控制

更新于:2019年7月30日

5K+ 次浏览

开启你的职业生涯

完成课程获得认证

开始学习
广告