快捷搜索:

msp430f149单片机控制步进电机C语言程序

msp430f149单片机控制步进电机C语言程序

#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。

您可能还会对下面的文章感兴趣: