3、控制寄存器(TCTLl-TCTL4)
TCTLl-TCTL4 分为两组,分别对 IC 和 OC 电路进行设定,每组 16 个二进制位,每两个二进制位管理一个通道。其中 TCTLl、TCTL2 设定各个 OC 通道 匹配时的动作,包括切断 OC 与输出引脚的联系,而 TCTL3、TCTL4 设定 IC 响 应引脚的何种动作,包括禁止 IC 的响应。
TCTL1 寄存器偏移量:$0008
Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 |
OM7 | OL7 | OM6 | OL6 | OM5 | OL5 | OM4 | OL4 |
TCTL2 寄存器偏移量:$0009
Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0 OM3 OL3 OM2 OL2 OM1 OL1 OM0 OL0
可在任何时候读或写。
OMn、OLn 分别设定输出方式和输出电平,这 8 对控制位(OM7、OL7---OMO、 OL0)编码后用于指定通道比较成功后的输出动作。如果每对当中至少有一个为 1,对应引脚就固定为相应通道的输出,而与 DDRT 中的对应位无关。 当二者同时为 0 时,OC 与输出引脚断开。
输出比较动作设置
OMn | OLn | 动作 |
0 | 0 | 定时器与引脚断开 |
0 | 1 | OCn输出翻转 |
1 | 0 | OCn输出清零 |
1 | 1 | OCn输出置1 |
TCTL3 寄存器偏移量:$000A
Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0 EDG7B EDG7A EDG6B EDG6A EDG5B EDG5A EDG4B EDG4A
TCTL4 寄存器偏移量:$000B
Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0 EDG3B EDG3A EDG2B EDG2A EDG1B EDG1A EDG0B EDG0A
可在任何时候读或写。
各个控制位的作用如下:
EDGnB、EDGnA 输入捕捉边沿控制位,这 8 对控制位(EDG7B、EDG7A—EDG0B、EDG0A)对输入捕捉的边沿检测电路进行设置。当二者同时为 0 时,IC 与输入引脚断开。
输入捕捉边沿检测电路设置
EDGnB EDGnA 边沿检测电路设置 0 0 禁止捕捉 0 1 捕捉上升沿 1 0 捕捉下降沿 1 1 上升沿下降沿均捕捉
【注意】为了使 OMn、OLn 指定的引脚动作有效,OC7M 中的对应位必须清 0。若要使用 16 位脉冲累加器 A 和 B,并使它们分别独立于 IC/OC7 和 IC/OC0,必须设置对应的 IOSn:1、OMn=0、OLn=0,同时寄存器 OC7M 中的OC7M7、OC7M0 位必须清 0。