打印

写了个定时器输出PWM波的程序

[复制链接]
804|1
手机看帖
扫描二维码
随时随地手机跟帖
沙发
u880|  楼主 | 2014-3-19 21:48 | 只看该作者
#include<msp430x14x.h>

#define uint unsigned int
void init_clk(void)
{
   unsigned int i;
   BCSCTL1=0x00;
   do
   {
      IFG1&=~OFIFG;   
      for(i=0xff;i>0;i--);
   }
   while((IFG1&OFIFG));
   BCSCTL2=0X00;
   BCSCTL2=SELS+SELM_3;
}

void init_pwm(void)
{
   
    P1SEL |= BIT2 + BIT3 ;     //选择 p1.2-TA1  ,P1.3-TA2  作为PWM输出 第二功能
    P1DIR |= BIT2 + BIT3 ;
    TACCR0 = 8000;    //PWM信号频率10KHZ
    TACCTL1 = OUTMOD_7;
    TACCR1 =4000 ;    // 占空比1:1
    TACCTL2 = OUTMOD_7;
    TACCR2 = 4000 ;  
    TACTL=TASSEL_1 +MC_1;               
    _BIS_SR(CPUOFF+GIE);
}
void main(void)
{
    WDTCTL=WDTPW+WDTHOLD;
    P1DIR = 0XFF;P1OUT = 0XFF;
    P2DIR = 0XFF;P2OUT = 0XFF;
    P3DIR = 0XFF;P3OUT = 0XFF;
    P4DIR = 0XFF;P4OUT = 0XFF;
    P5DIR = 0XFF;P5OUT = 0XFF;
    P6DIR = 0XFF;P6OUT = 0XFF;
    init_clk();
    init_pwm();
    while(1);
   
}

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

252

主题

1795

帖子

3

粉丝