📅  最后修改于: 2020-12-13 15:35:48             🧑  作者: Mango
Intel 8253和8254是可编程间隔计时器(PTI),设计用于微处理器,以使用三个16位寄存器执行计时和计数功能。每个计数器具有2个输入引脚,即时钟和门,以及1个用于“ OUT”输出的引脚。要操作计数器,需要在其寄存器中加载一个16位计数。根据命令,它开始递减计数直到达到0,然后产生一个可用于中断CPU的脉冲。
下表区分了8253和8254的功能-
8253 | 8254 |
---|---|
Its operating frequency is 0 – 2.6 MHz | Its operating frequency is 0 – 10 MHz |
It uses N-MOS technology | It uses H-MOS technology |
Read-Back command is not available | Read-Back command is available |
Reads and writes of the same counter cannot be interleaved. | Reads and writes of the same counter can be interleaved. |
8253/54最突出的特点如下-
它具有三个独立的16位递减计数器。
它可以处理从DC到10 MHz的输入。
可以将这三个计数器编程为二进制或BCD计数。
它与几乎所有微处理器兼容。
8254有一个功能强大的命令,称为READ BACK命令,它使用户可以检查计数值,编程模式,当前模式和计数器的当前状态。
8254的体系结构如下所示-
这是8254的引脚图-
在上图中,有三个计数器,数据总线缓冲区,读/写控制逻辑和控制寄存器。每个计数器都有两个输入信号-CLOCK&GATE和一个输出信号-OUT。
它是一个三态双向8位缓冲区,用于将8253/54连接到系统数据总线。它具有三个基本功能-
它包括5个信号,即RD,WR,CS以及地址线A 0和A 1 。在外设I / O模式下,RD和WR信号分别连接到IOR和IOW。在内存映射的I / O模式下,它们连接到MEMR和MEMW。
CPU的地址线A 0和A 1连接到8253/54的线A 0和A 1 ,并且CS连接到解码的地址。根据线A 0和A 1上的信号选择控制字寄存器和计数器。
A1 | A0 | Result |
---|---|---|
0 | 0 | Counter 0 |
0 | 1 | Counter 1 |
1 | 0 | Counter 2 |
1 | 1 | Control Word Register |
X | X | No Selection |
当A 0和A 1行处于逻辑1时,将访问该寄存器。它用于写入命令字,该命令字指定了要使用的计数器,其模式以及读取或写入操作。下表显示了各种控制输入的结果。
A1 | A0 | RD | WR | CS | Result |
---|---|---|---|---|---|
0 | 0 | 1 | 0 | 0 | Write Counter 0 |
0 | 1 | 1 | 0 | 0 | Write Counter 1 |
1 | 0 | 1 | 0 | 0 | Write Counter 2 |
1 | 1 | 1 | 0 | 0 | Write Control Word |
0 | 0 | 0 | 1 | 0 | Read Counter 0 |
0 | 1 | 0 | 1 | 0 | Read Counter 1 |
1 | 0 | 0 | 1 | 0 | Read Counter 2 |
1 | 1 | 0 | 1 | 0 | No operation |
X | X | 1 | 1 | 0 | No operation |
X | X | X | X | 1 | No operation |
每个计数器由一个16位递减计数器组成,可以以二进制或BCD形式进行操作。通过选择存储在控制字寄存器中的模式来配置其输入和输出。程序员可以读取三个计数器中任何一个的内容,而不会干扰实际的计数。