ZHCABH5B December 2011 – February 2022 MSP430G2112 , MSP430G2152 , MSP430G2212 , MSP430G2252 , MSP430G2312 , MSP430G2352 , MSP430G2412 , MSP430G2452
在一些应用中,必须同时生成多个具有独特频率的信号。在 MSP430 MCU 的典型用法中,计时器模块上使用向上计数模式或向上/向下计数模式,并且生成的每个频率都对应于一个唯一的计时器模块。每个计时器模块的捕获比较寄存器 0(TxCCR0)均在程序开头设置,以设定计时器的周期。每个模块的额外捕获比较寄存器(TxCCRx)都可以在程序开头设置为某个值,以生成不同的占空比,但由于计时器只能向上计数到 TxCCR0 中的值,因此计时器模块上的一切都是相对于这个相同计时器周期来完成的。在这种方法中,一切都在计时器工作开始时设置,并且设置之后会一直保持不变 – 一切都在硬件内完成,无需在 ISR 中重新加载任何值。图 1-1 显示了向上计数模式下 TxCCR0 值与周期值 t0 之间的关系。
使用单时基方法时,可在特定 MSP430 器件上同时生成的频率数量取决于器件上的计时器模块数量,而可同时生成的占空比数量则取决于每个模块上 TxCCRx 寄存器数量减去 1。
例如,MSP430F5529 器件包括具有五个捕获/比较(CC)寄存器的 TA0、具有三个 CC 寄存器的 TA1、具有三个 CC 寄存器的 TA2,以及具有七个 CC 寄存器的 TB0。因此,在 MSP430F5529 上使用单时基方法时:
频率数量 = 3 个 Timer_A 模块 + 1 个 Timer_B 模块 = 4 个独立频率
占空比数量 TA0 = 5 CC – 1 = 4 个占空比(TA0 频率下)
占空比数量 TA1 = 3 CC – 1 = 2 个占空比(TA1 频率下)
占空比数量 TA2 = 3 CC – 1 = 2 个占空比(TA2 频率下)
占空比数量 TB0 = 7 CC – 1 = 6 个占空比(TB0 频率下)