Intel 8253 - 可编程间隔定时器

Intel 8253 和 8254 是可编程间隔定时器 (PTI),专为微处理器而设计,使用三个 16 位寄存器执行计时和计数功能。每个计数器有 2 个输入引脚,即时钟和门,以及 1 个"OUT"输出引脚。要操作计数器,需要在其寄存器中加载 16 位计数。根据命令,它开始减少计数,直到达到 0,然后生成一个可用于中断 CPU 的脉冲。

8253 和 8254 之间的区别

下表区分了 8253 和 8254 的特点 −

8253 8254
其工作频率为 0 - 2.6 MHz 其工作频率为 0 - 10 MHz
它使用 N-MOS 技术 它使用 H-MOS技术
读回命令不可用 读回命令可用
同一计数器的读取和写入不能交错。 同一计数器的读取和写入可以交错。

8253 / 54 的特点

8253/54 最突出的特点如下 −

  • 它有三个独立的 16 位递减计数器。

  • 它可以处理从 DC 到 10 MHz 的输入。

  • 这三个计数器可以编程为二进制或 BCD 计数。

  • 它与几乎所有微处理器兼容。

  • 8254 有一个强大的命令,称为 READ BACK 命令,它允许用户检查计数值、编程模式、当前模式和计数器的当前状态。

8254 架构

8254 的架构如下所示 −

8254 Architecture

8254 引脚说明

这是 8254 的引脚图 −

8254 Pin Description

在上图中,有三个计数器、一个数据总线缓冲区、读/写控制逻辑,和一个控制寄存器。每个计数器有两个输入信号 - CLOCK 和 GATE,以及一个输出信号 - OUT。

数据总线缓冲器

它是一个三态、双向、8 位缓冲器,用于将 8253/54 连接到系统数据总线。它有三个基本功能 −

  • 对 8253/54 的模式进行编程。
  • 加载计数寄存器。
  • 读取计数值。

读/写逻辑

它包括 5 个信号,即 RD、WR、CS 和地址线 A0 和 A1。在外围 I/O 模式下,RD 和 WR 信号分别连接到 IOR 和 IOW。在内存映射 I/O 模式下,它们连接到 MEMR 和 MEMW。

CPU 的地址线 A0 和 A1 连接到 8253/54 的线 A0 和 A1,CS 与解码地址绑定。控制字寄存器和计数器根据线 A0 和 A1 上的信号进行选择。 A1

A1 A0 结果
0 0 计数器 0
0 1 计数器 1
1 0 计数器2
1 1 控制字寄存器
X X 无选择

控制字寄存器

当 A0 和 A1 行处于逻辑 1 时,可访问此寄存器。它用于写入命令字,该命令字指定要使用的计数器、其模式以及读取或写入操作。下表显示了各种控制输入的结果。

A1 A0 RD WR CS 结果
0 0 1 0 0 写入计数器 0
0 1 1 0 0 写入计数器1
1 0 1 0 0 写入计数器 2
1 1 0 0 写入控制字
0 0 0 1 0 读取计数器0
0 1 0 1 0 读取计数器 1
1 0 0 1 0 读取计数器 2
1 1 0 1 0 否操作
X X 1 1 0 无操作
X X X 1 无操作

计数器

每个计数器由一个 16 位递减计数器组成,可以以二进制或 BCD 操作。其输入和输出由存储在控制字寄存器中的模式选择配置。程序员可以读取三个计数器中任何一个的内容,而不会干扰实际的计数过程。