在线情况
楼主
  • 头像
  • 级别
    • 积分3
    • 经验106
    • 文章2
    • 注册2011-12-06
    msp430f149定时器A怎样产生PWM驱动电机
    [P]我想使用msp430f149定时器A产生PWM驱动电机,但是不知道为什么电机不能驱动起来,望各位指点。谢谢[/P][P]程序如下:[/P][P]#include <msp430x14x.h>
    typedef unsigned int uint;
    void PWM_n(uint pwm);
    void main()
    {
        WDTCTL=WDTPW+WDTHOLD;
        P1DIR=0x01;    //P1.0设置为输出
        _BIS_SR(GIE);   //打开总中断
        PWM_n(500);          //占空比为50%    可调,0~1000
    }                                            
    void PWM_n(uint pwm)
    {
        TACTL=TASSEL_1+MC_1;  //选择MCLK时钟源,增计数到CCR0
        CCTL0=CCIE;
        CCTL1=CCIE;
        CCR0=1000;
        CCR1=pwm;      //   pwm/1000 为占空比
       
    }[/P][P]#pragma vector=TIMERA1_VECTOR  //计数到CCR0后产生中断
    __interrupt void ccr0(void)
    {
        P1OUT |= 0x00;                //P1.0输出低电平
    }[/P][P]
    #pragma vector=TIMERA0_VECTOR
    __interrupt void ccr1(void)      //计数到CCR1后产生中断
    {
        switch(TAIV)
        {
           case 2:P1OUT |= 0x01;break;        // P1.0输出高电平  计数到CCR1产生的中断
           case 4:break;     //计数到CCR2产生的中断
           case 10:break;    //TIMERA产生的中断,未用到
           default:break;
        }
    }
    [/P]
    微控网感谢您的参与
    Powered by LeadBBS 9.2 .
    Page created in 0.1870 seconds with 7 queries.