控制口
SC1 | SC0 | 计数器选择 | RW1 | RW0 | 计数器读/写选择 | |
---|---|---|---|---|---|---|
0 | 0 | 计数器0 | 0 | 0 | 锁存计数器当前计数值 | |
0 | 1 | 计数器1 | 0 | 1 | 读/写计数值低8位 | |
1 | 0 | 计数器2 | 1 | 0 | 读/写计数值高8位 | |
1 | 1 | 非法 | 1 | 1 | 先低8位,再高8位 |
M2 | M1 | M0 | 计数器工作方式选择 | BCD | 计数器进制选择 | |
---|---|---|---|---|---|---|
0 | 0 | 0 | 方式0 | 0 | 16位二进制计数 | |
0 | 0 | 1 | 方式1 | 1 | BCD码计数 | |
x | 1 | 0 | 方式2 | |||
x | 1 | 1 | 方式3 | |||
1 | 0 | 0 | 方式4 | |||
1 | 0 | 1 | 方式5 |
方式0 — 计数结束产生中断方式
- 写入控制字后OUT即变为低电平,计数到0时,OUT变为高电平,并停止计数
- 计数初值N写入后在下一个CLK下降沿才送入计数装置开始计数,因此实际计数为N+1个脉冲
- GATE为高电平时允许计数,为低电平时停止计数
- 若计数过程中写入新的计数初值,则在下一个CLK按新值重新计数
方式1 — 可重新触发单稳态触发器方式
- 写入控制字后OUT即变为高电平,等待GATE上升沿后,下一个CLK的下降沿才开始计数,并置OUT为低电平,计数到0时OUT又变为高电平
- 计数结束后,若GATE端再来上升沿,则会再次触发一轮计数周期
- 若计数过程中写入新的计数初值,需等待GATE端再次触发后才按新的初值计数
方式2 — 分频器方式
- 写入控制字后OUT即变为高电平,写入计数初值后,下一个CLK的下降沿开始计数,减到1时OUT变为低电平,持续一个CLK后OUT又变为高电平,并自动开始下一次计数过程。 Fout = Fclk/N
- GATE为高电平时允许计数,为低电平时停止计数
- 计数期间送入新值,不影响当前计数周期,下一周期才按新值计数
方式3 — 方波发生器方式
- 写入控制字后OUT即变为高电平,写入计数初值后,下一个CLK的下降沿开始计数,计数到一半时OUT变为低电平,计到终值时OUT又变为高电平,并自动开始下一次计数过程。 Fout = Fclk / N
- 若N为偶数,则高、低电平持续时间相等,均为N/2个CLK,即OUT输出为方波;若N为奇数,则高电平持续时间为(N+1)/2个CLK,低电平持续时间为(N–1)/2个CLK
- GATE为高电平允许计数,为低电平则停止计数
- 计数期间送入新值,不影响当前计数周期,下一周期才按新值计数
方式4 — 软件触发选通方式
- 写入控制字后OUT即变为高电平,写入计数初值后,下一个CLK的下降沿开始计数,计数到0时,OUT输出一个CLK的负脉冲,并停止计数
- GATE为高电平允许计数,为低电平则停止计数
- 若计数过程中写入新的计数初值,则在下一个CLK按新值重新计数
方式5 — 硬件触发选通方式
- 写入控制字后OUT即变为高电平,写入计数初值,等待GATE上升沿后。下一个CLK的下降沿才开始计数,计数到0时OUT输出一个CLK的负脉冲,并停止计数
- 计数结束后,若GATE端再来上升沿,则会再次触发一轮计数周期
- 若计数过程中写入新的计数初值,需等待GATE端再次触发后才按新的初值计数