MSP430定时器输出PWM方波

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

定时器A输出方波

1、定时器的PWM输出8种模式

输出模式0输出模式:输出信号OUTx由每个捕获/比较模块的控制寄存器CCTLx中的OUTx位定义,并在写入该寄存器后立即更新。最终位OUTx直通。

输出模式1置位模式:输出信号在TAR等于CCRx时置位,并保持置位到定时器复位或选择另一种输出模式为止。

输出模式2PWM翻转/复位模式:输出在TAR的值等于CCRx时翻转,当TAR的值等于CCR0时复位。

输出模式3PWM置位/复位模式:输出在TAR的值等于CCRx时置位,当TAR的值等于CCR0时复位。

输出模式4翻转模式:输出电平在TAR的值等于CCRx时翻转,输出周期是定时器周期的2倍。

输出模式5复位模式:输出在TAR的值等于CCRx时复位,并保持低电平直到选择另一种输出模式。

输出模式6 PWM翻转/置位模式:输出电平在TAR的值等于CCRx时翻转,当TAR值等于CCR0时置位。

输出模式7 PWM复位/置位模式:输出电平在TAR的值等于CCRx时复位,当TAR的值等于CCR0时置位。

下图是增计数模式下的输出波形:

2、程序:(TA定时器输出1K的方波)

void TAPWM(void)

{

//引脚设置(暂时使用P1.2输出一路PWM)

P1SEL |= BIT2; //TA1从P1.2输出

P1DIR |= BIT2; //TA1从P1.2输出

//P2SEL |= BIT0; //TA2从P1.2输出

//P2DIR |= BIT0; //TA2从P1.2输出

TACTL |= MC_1 + TASSEL_1; //时钟源选择ACLK,增计数模式TA设置

TACCTL1 = OUTMOD_7; //模式7 高电平PWM输出PWM设置

//TACCTL2 = OUTMOD_7; //模式7 高电平PWM输出

TACCR0 = 33-1; //PWM总周期=32个ACLK周期约等于1000Hz 设置PWM 的周期

TACCR1 = 16; //TA1 占空比= 16/32=50% 设置占空比

//TACCR2 = 16; //TA2 占空比= 16/32=50%

}

软件改变TACCR0即可改变PWM的周期,改变TACCR1或者TACCR2即可改变占空比

相关文档
最新文档