各高速计数器均有一个32位的预置值和一个32位的当前值,预置值和当前值均为有符号双字整数。为了向高速计数器写入新的预置值和当前值,必须先设置控制字节,令其第5位和第6位为1,允许更新预置值和当前值,并将预置值和当前值存入表所示的特殊存储中,然后执行HSC指令,从而将新的值送给高速计数器。
表 HSC的当前值和预置值地址
要装入的值 |
HSC0 |
HSC1 |
HSC2 |
HSC3 |
HSC4 |
HSC5 |
新的当前值 |
SMD38 |
SMD48 |
SMD58 |
SMD138 |
SMD148 |
SMD158 |
新的预置值 |
SMD42 |
SMD52 |
SMD62 |
SMD142 |
SMD152 |
SMD162 |
高速计数器的当前值可以用HCx(HC为高速计数器的当前值,x=0~5)的格式读出。因此,读操作可直接访问当前值,但写操作只能用上述的HSC指令来实现。