小弟请教此程序 pwm 控制灯亮度为啥不好使

2019-03-24 13:55发布

#include "msp430g2553.h"
void main( void )
{
  WDTCTL = WDTPW + WDTHOLD;                                 //关看门狗
  TACTL=TASSEL_1+TACLR+MC_1;                                    //ACLK为时钟源,清TAR,增计数模式
  TACCR0=512-1;                                 //设定PWM周期
  TACCTL1=OUTMOD_7;                                       //CCR1输出为reset/set模式
  TACCR1=55584;                                   //CCR1的PWM占空比设定
  TACCTL2=OUTMOD_7;                                      //CCR2输出为reset/set模式
  TACCR2=28;                                   //CCR2的PWM占空比设定
  P1DIR|=BIT0 + BIT6;                                   //P1.2、P1.3输出,对应TA1,TA2
  P1SEL|=BIT0 + BIT6;                                  //TA1,TA2输出功能
  while(1);
} 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
10条回答
jia0606080223
1楼-- · 2019-03-25 09:04
给你个例程,这个我用过 没有问题
#include <msp430x14x.h>
void main(void)
{
WDTCTL =WDTPW+ WDTHOLD; //停止看门狗定时器
P1DIR |= 0x0C; //设P1.2 和P1.3 为输出
P1SEL |= 0x0C; //设P1.2 和P1.3 TA1/2 为模块功能
CCR0 = 512-1; //装入PWM 周期值
CCTL1 = OUTMOD_7; //设CCR1输出单元为复位/置位输出模式
CCR1 = 384; //装入CCR1 PWM的占空值
CCTL2 = OUTMOD_7; //设CCR2输出单元为复位/置位输出模式
CCR2 = 128; //装入CCR2 PWM 的占空值
TACTL = TASSEL_1 + MC_1; //时钟源选择ACLK, 定时器A 增计数模式
_BIS_SR(LPM3_bits); //进入LPM3 低功耗模式
}

希望有帮助
jia0606080223
2楼-- · 2019-03-25 14:42
哦 #include "msp430x14x.h"
海盗郭兆广
3楼-- · 2019-03-25 14:51
 精彩回答 2  元偷偷看……
恩施牧童1991
4楼-- · 2019-03-25 16:17
那个25%占空比的用示波器怎么是40%几;改变占空比也不行

一周热门 更多>

相关问题

    相关文章