|
各位大佬,我用 STC12C5A60S2單片機(jī)控制步進(jìn)電機(jī)驅(qū)動(dòng)器使步進(jìn)電機(jī)運(yùn)動(dòng),但是點(diǎn)擊通電后處于自鎖狀態(tài),無(wú)法轉(zhuǎn)動(dòng)。
以下是代碼:
#include <STC12C5A.H>
sbit PUL=P1^0;
sbit DIR=P1^1;
sbit ENA=P1^2;
unsigned char num=1;
unsigned int a=0.3;
void Timer0Init(void) //100微秒@11.0592MHz
{
AUXR |= 0x80; //定時(shí)器時(shí)鐘1T模式
TMOD &= 0xF0; //設(shè)置定時(shí)器模式
TL0 = 0xAE; //設(shè)置定時(shí)初值
TH0 = 0xFB; //設(shè)置定時(shí)初值
TF0 = 0; //清除TF0標(biāo)志
TR0 = 1; //定時(shí)器0開(kāi)始計(jì)時(shí)
}
void Timer_0Init(void)interrupt 1 //中斷函數(shù)
{
TL0 = 0xAE; //設(shè)置定時(shí)初值
TH0 = 0xFB; //設(shè)置定時(shí)初值
num++;
if(num>100) num=1;
}
void main()
{ DIR=1;
ENA=0;
while(1)
{
if(num<=100*a)
{ PUL=1;
Timer0Init();}
else
{
PUL=0;
Timer0Init();
}
}
}
|
|