最近一直在做一个实验,用PWM驱动一个LED亮灭。但是输出的PWM波形是下面这样子。 当然这个幅度值是不能驱动LED的,大家觉得我这个是什么问题? 代码如下:#include "msp430x54x.h"//声明库文件 void TAPWM(void) { P1SEL |= BIT2; //TA1从P1.2输出 P1DIR |= BIT2; //TA1从P1.2输出 TA0CTL |= MC_1+TASSEL_1+TACLR; //时钟源选择ACLK,增计数模式 TA设置 TA0CCTL1 = OUTMOD_7; //模式7 高电平PWM输出 PWM设置 TA0CCR0 = 33-1; //PWM总周期=32个ACLK周期 约等于1000Hz 设置PWM的周期 TA0CCR1 = 16; //TA1 占空比= 16/32=50% 设置占空比 } void main(void) { WDTCTL = WDTPW + WDTHOLD; //关看门狗 P1DIR=0; P1SEL=0; P1DIR |=BIT0; TAPWM(); LPM3; } 是不是要在外面加负载电容滤波?
[ 本帖最后由 wayne07 于 2012-4-16 21:24 编辑 ]
|