msp430f149單片機(jī)控制步進(jìn)電機(jī)C語(yǔ)言程序
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; //清除振蕩錯(cuò)誤標(biāo)志
for(i = 0; i < 100; i++)
_NOP(); //延時(shí)等待
}
while ((IFG1 & OFIFG) != 0); //如果標(biāo)志為1繼續(xù)循環(huán)等待
IFG1&=~OFIFG;
}
void int_pwm()
{
P1SEL|=PWM;//選擇P12作為PWM輸出
P1DIR|=PWM;
TACCR0=800;//PWM信號(hào)周期10KHz
TACCR1=400;//占空比1:1
TACCTL1=OUTMOD0+OUTMOD1+OUTMOD2; //輸出模式選擇
TACTL|=TASSEL1+MC0;
}
void main()
{
WDTCTL=WDTPW+WDTHOLD;//關(guān)看門狗
int_clk(); //初始化時(shí)鐘
int_pwm(); //初始化PWM
while(1);//結(jié)束
}
本例程是以msp430f149單片機(jī)的PWM控制步進(jìn)電機(jī)的轉(zhuǎn)動(dòng),以P1.2口為PWM輸出端口,PWM信號(hào)周期為10KHZ,占空比為1:1。
評(píng)論