8254控制字和操作模式

在这里,我们将看到8254可编程间隔定时器芯片的控制字和操作模式。

在讨论其工作模式和控制字属性之前,我们应该了解该芯片的一些重要事实。

  • 芯片加电时,状态不确定。当时未定义模式,计数值和输出。

  • 每个计数器在使用前都必须编程。我们不需要对一些未使用的计数器进行编程。

  • 计数器是通过编写控制字和一个初始计数来编程的。

计数器的结构是这样的-

7
6
5
4
3
2
1
0
SC1
0SC0RW1
RW2
M2
M1
M0
BCD /二进制

 我们可以通过SC1和SC0选择计数器。

SC1
SC0Selection
0
0
Counter 0
0
1
Counter 1
1
0
Counter 2
1
1

读取返回状态

 

RW1和RW2的值用于表示读取和写入操作。

RW1
RW0
Selection
0
0
计数器锁存命令
0
1
读或写低字节
1
0
读取或写入高位字节
1
1
读或写低字节,后跟高字节

 

M2,M1和M0的三位用于确定编程模式。这些如下所示:

M2
M1
M0
操作模式
0
0
0
Mode 0
0
0
1
Mode 1
X
1
0
Mode 2
X
1
1
Mode 3
1
0
0
Mode 4
1
0
1
Mode 5

 控制字的最后一位(LSb)用于选择计数是二进制还是BCD。如果该值为0,它将充当二进制计数器,否则将充当BCD计数器。

现在让我们看看8254芯片的这六个工作模式:

模式
类型
描述
Mode 0
中断和终端计数

这用于事件计数。写入控制字后,OUT首先为低电平。它会一直保持低电平,直到计数器达到0,然后在每个时钟周期后递减1。

然后,OUT变为高电平,并保持高电平,直到有一个新计数或将新的模式0控制字写入计数器为止。GATE = 1表示启用计数,0表示禁用计数。

Mode 1

硬件可再触发一次

OUT首先将为高电平,在触发一个脉冲开始后,时钟脉冲将为低电平。它将保持为0,直到计数器达到0。
Mode 2
速率发生器
最初,OUT为低电平。启用计数后,它会变高。此过程会定期重复。此模式用作分频器。
Mode 3
方波发生器

如果GATE为1,则启用计数,否则禁用。此模式用于生成方波。时间段等于计数。如果计数为偶数,则波形的接通时间为count / 2。

否则,开启时间为(count + 1)/ 2,关闭时间为(count-1)/ 2。

Mode 4
软件触发的频闪
如果GATE为1,则启用计数,否则禁用。当计数处于最后阶段时,初始OUT值较高,而较低。再次为后续时钟脉冲重新加载计数。
Mode 5
硬件触发频闪

最初,OUT为高。计数由门的上升沿触发。当初始计数到期时,OUT会在一个时钟脉冲内变为低电平,然后再次变为高电平。

写入控制字和初始计数后,直到一次触发后的时钟脉冲才加载计数器。