[资料分享] msp430f149单片机控制步进电机C语言程序

fish001   2019-5-12 08:00 楼主
#include    
typedef    unsigned int  uint;  
typedef   unsigned char uchar;   
#define   PWM   BIT2   
void int_clk()   
{   
    uchar i;   
    BCSCTL1&=~XT2OFF;  //打开XT振荡器   
    BCSCTL2|=SELM1+SELS;//MCLK 8M and SMCLK 1M     
    do   
    {   
        IFG1 &= ~OFIFG;                 //清除振荡错误标志   
        for(i = 0; i < 100; i++)   
      _NOP();           //延时等待   
        }   
    while ((IFG1 & OFIFG) != 0);    //如果标志为1继续循环等待   
    IFG1&=~OFIFG;   
}   
void int_pwm()   
{   
  P1SEL|=PWM;//选择P12作为PWM输出   
  P1DIR|=PWM;     
  TACCR0=800;//PWM信号周期10KHz   
  TACCR1=400;//占空比1:1   
  TACCTL1=OUTMOD0+OUTMOD1+OUTMOD2; //输出模式选择   
  TACTL|=TASSEL1+MC0;   
}   
void main()   
{   
  WDTCTL=WDTPW+WDTHOLD;//关看门狗   
  int_clk();  //初始化时钟   
  int_pwm();  //初始化PWM   
  while(1);//结束   
}
本例程是以msp430f149单片机的PWM控制步进电机的转动,以P1.2口为PWM输出端口,PWM信号周期为10KHZ,占空比为1:1。


回复评论

暂无评论,赶紧抢沙发吧
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复