可以使用指令向导来配置计数器。向导程序使用下列信息:计数器的类型和模式、计数器的预置值、计数器的初始值和计数的初始方向。要启动HSC指令向导,可以在命令菜单窗口中选择Tools >Instruction Wizard ,然后在向导窗口中选择HSC指令。
对高速计数器编程,必须完成下列基本操作:
- 定义计数器的模式和输入
- 设置控制字节

- 设置初始值
- 设置预置值
- 指定并使能中断服务程序
- 激活高速计数器
1、定义计数器的模式和输入
使用高速计数器定义指令来定义计数器的模式和输入。
表1中给出了与高速计数器相关的时钟、方向控制、复位和启动输入点。同一个输入点不能用于两个不同的功能,但是任何一个没有被高速计数器的当前模式使用的输入点,都可以被用作其它用途。
例如,如果HSC0正被用于模式1,它占用I0.0和I0.2,则I0.1可以被边缘中断或者HSC3占用。
模式中断描述输入点
HSC0I0.0I0.1I0.2
HSC1I0.6I0.7I1.0I1.1
HSC2I1.2I1.3I1.4I1.5
HSC3I0.1
HSC4I0.3I0.4I0.5
HSC5I0.4
0带有内部方向控制的单相计数器时钟
1时钟 复位
2时钟 复位启动
3带有外部方向控制的单相计数器时钟方向
4时钟方向复位
5时钟方向复位启动
6带有增减计数时钟的双相计数器增时钟减时钟
7增时钟减时钟复位
8增时钟减时钟复位启动
9A/B相正交计数器时钟A时钟B
10时钟A时钟B复位
11时钟A时钟B复位启动
12只有HSC0和HSC3支持模式12。HSC0计数Q0.0输出的脉冲数。HSC3计数Q0.1输出的脉冲数。
2、设置控制字节
只有定义了计数器和计数器模式,才能对计数器的动态参数进行编程。每个高速计数器都有一个控制
字节,包括以下内容:
- 使能或者禁止计数器
- 控制计数方向(只对模式0、1和2有效)或者对所有其它模式定义初始化计数方向。
- 装载初始值
- 装载预置值
3、设置初始值和预置值
每个高速计数器都有一个32位的初始值和一个32位的预置值。初始值和预置值都是符号整数。为了向高速计数器装入新的初始值和预置值,必须先设置控制字节,并且把初始值和预置值存入特殊存储器中,然后执行HSC指令,从而将新的值传送到高速计数器。表中对保存新的初始值和预置值的特殊存储器作了说明。除去控制字节和新的初始值与预置值保存字节外,每个高速计数器的当前值只能使用数据类型HC(高速计数器当前值)后面跟表中列出的计数器号(0、1、2、3、4或5)的格式进行读取。可用读操作直接访问的当前值,但是写操作只能用HSC指令来实现。