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 引脚说明
这是 8254 的引脚图 −
在上图中,有三个计数器、一个数据总线缓冲区、读/写控制逻辑,和一个控制寄存器。每个计数器有两个输入信号 - 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 操作。其输入和输出由存储在控制字寄存器中的模式选择配置。程序员可以读取三个计数器中任何一个的内容,而不会干扰实际的计数过程。