MSP430f2619学习--PWM

思路:
利用定时器B的比较功能输出PWM波形;

一、定时器B

定时器B的特点:
1)异步16位定时/计数器;
2)4种工作模式;
3)4个可选长度
4)3或7个可配置的捕获/比较寄存器;

定时器的4种工作方式分别为,停止计数模式,增计数模式,连续计数模式和增减计数模式;

要输出PWM波形,需要配置定时器B的捕获/比较部件工作在比较模式,寄存器TBCCTLx的CAP位配置为0即可;
TBCCTLx寄存器定义:
在这里插入图片描述
在这里插入图片描述

定时器的每一个捕获/比较部件都拥有一组输出单元,这个输出单元是用来产生输出信号的,例如PWM波等,输出信号的引脚通常在数据手册中都会表明
在这里插入图片描述
在这里插入图片描述
每个输出单元都有8种模式:
1)电平输出,由TBCCTLx寄存器的OUTx位控制;
2)置位模式,当计数器计至TBCLx时,输出引脚置位;
3)取反/清零模式,计数器计至TBCLx时,输出引脚取反,计至TBCL0时输出引脚清零;
4)置位/清零模式,计数器计至TBCLx时,输出引脚置1,计至TBCL0时输出引脚清零;
5)取反模式,计数器计至TBCLx时,输出引脚取反;
6)清零模式,计数器计至TBCLx时,输出引脚清零;
7)取反/置位模式,计数器计至TBCLx时,输出引脚取反,计至TBCL0时输出引脚置1;
8)清零/置位模式,计数器计至TBCLx时,输出引脚清零,计至TBCL0时输出引脚置1;

例:通过TB1(P4.1)输出50%的PWM波,频率为50Hz

void Pwm_Init(void)
{
    //250KHz
    TBCTL |= TBSSEL_2 + ID_2 + MC_1 + TBCLR;//SMCLK,1/4,UPMODE,CLEAR
    TBCCTL1 |= OUTMOD_3;//SET/RESET
    
    P4SEL |= BIT1;
    P4DIR |= BIT1;
}

void Pwm_Start(void)
{
    TBCCR0 = 5000 - 1;//20ms
    TBCCR1 = 2500;
}
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值