8254 可编程计数/定时芯片简介:
本接口卡采用 8254 可编程计数/定时器芯片完成对外部脉冲信号的各种处理。8254
芯片内部具有三个独立的 16 位计数器,它可用程序设置成多种工作方式,按十进制计数或
二进制计数,最高计数速率可达 10MHz。8254 能用于多种应用场合,例如外部事件计数器、
可编程方波频率发生器、分频器、实时时钟以及程控单脉冲发生器等。
本接口卡的功能组成非常灵活,通过跨接插座的不同连接方式,可以使 8254 的时钟输
入端 CLK 与被测现场信号相连,或者与卡上基准时钟相连,也可以将二至三级计数器串连
使用。对于 8254 的启停控制端 GATE,同样可以通过跨接插座的选择,使其或者受程序的
控制或者设置为外部控制。
8254 的全部功能是由 CPU 编程设定的。CPU 通过输出指令给 8254 装入控制字,从而设
定其功能。8254 控制字格式如下:
D7 D6 D5 D4 D3 D2 D1 D0
SC1
SC0
RL1
RL0
M2
M1
M0
BCD
各位的功能见表 1~表 4:
表 1 SC1、SC0 - 计数器选择
SC1 SC0
0 0
0 1
1 0
1 1
选择计数器
选择 0#
选择 1#
选择 2#
使用方法参见 8254 使用说明
表 2 RL1、RL0-CPU 读/写操作
RL1 RL0
0 0
0 1
1 0
1 1
操作类型
计数器封锁操作
读/写计数器低 8 位
读/写计数器高 8 位
先读/写低 8 位,后读/写高 8 位
表 3 M2、M1、M0 -工作方式选择
M3 M2 M1
0 0 0
0 0 1
0 1 0
计 数 工 作 方 式
方 式 0
方 式 1
方 式 2
0 1 1
1 0 0
1 0 1
方 式 3
方 式 4
方 式 5
表 4 BCD-计数方式选择
BCD
0
1
数 码 形 式
十六位二进制计数
四位十进制 ( BCD ) 码计数
8254 的三个计数器是独立的 16 位减法计数器。计数器的工作方式由工作方式寄存器确
定。计数器在编程写入初始值后,在某些方式下计数到 0 后自动预置,计数器连续工作。CPU
访问计数器时,必须先设定工作方式控制字中的 RL1、RL0 位。计数器对 CLK 计数输入端的
输入信号进行递减计数。选通信号 GATE 控制计数工作的进行,其功能如表 5 所示。
表 5 选通信号 GATE 的功能
低电平或进入低电平
上 升 边 沿
方式 0 禁止计数
----
高 电 平
允许计数
方式 1
----
1. 初 始 化 和 计 数
----
2.下一个时钟后清除输出
方式 2
1. 禁 止 计 数
1. 重 新 装 入 计 数 器
允许计数
2.使输出立即变为高电平
2.启动计数
方式 3
1. 禁 止 计 数
初始化和计数
允许计数
2.使输出立即变为高电平
方式 4 禁止计数
计数未结束时初始化和计数 允许计数
方式 5
----
初始化和计数
----
8254 的三个计数器按照各工作方式寄存器中控制字的设置进行工作。可以选择的工作
方式有六种。这六种方式是:
方式 0:计数结束时中断。编程后自动启动,计数器减 1 计数,计数到终点(减至 0 )后输出
高电平,可用于中断请求信号,GATE 为低电平时停止计数,回到高电平后继续往
下计数。再次启动要重新装入计数值或重新编程。
方式 1:可编程单脉冲输出。GATE 上升沿进行初始化并开始计数。输出低电平的宽度等于计
数时间。单脉冲输出可用 GATE 上升沿多次触发。
方式 2:比率发生器。编程后重复地循环计数。计数到终点时输出一个时钟周期宽度的低电
平脉冲,自动初始化后继续计数。用 GATE 的上升沿初始化,并开始计数。GATE 为
低电平时停止计数。
方式 3:方波发生器。这种方式是在编程后重复地循环计数,输出波形为方波。如果初始计
数值为偶数,每个时钟输入脉冲使计数器减 2,达到计数终点时输出电平改变。如
果初始计数值为奇数,则输出高电平 时第一个时钟输入脉冲使计数器减 1,随后
每个输入脉冲使计数器减 2;输出为低电平时第一个时钟输入脉冲使计数器减 3,
随后每个输入脉冲使计数器减 2,到达计数终点时输出电平改变,计数器自动初始
化后继续计数。用 GATE 的上升沿初始化并开始计数,GATE 为低电平时停止计数。
方式 4:软件启动选通脉冲输出。编程后自动启动,计数到终点后输出一个时钟周期的低电
平脉冲。用 GATE 的上升沿初始化并开始计数,GATE 为低电平时停止计数。
方式 5:硬件启动选通脉冲输出。编程后,等待 GATE 上升沿进行初始化并开始计数,计数
到终点后输出一个时钟周期的低电平脉冲,计数器开始计数后不受 GATE 信号电平的影响,
这种选通脉冲的输出可用 GATE 的上升沿多次触发。在工作方式控制字中,如果设置计数器
锁存操作,则该控制字中工作方式选择位 M1、M0 和计数方式选择位 BCD 无效。即设置锁存
操作时不影响计数器的工作方式,计数器锁存操作,是在计数器计数过程中,在不影响正在
进行的计数操作的条件下,把当前的计数值锁存到寄存器,供 CPU 读取,这时在工作方式
控制字中,SC1、SC0 指定要锁存的计数器,RL1、RL0=00 表示锁存操作,其余 4 位无效,计
数器按原来设定的方式工作。