void motor_ffw()
{
unsigned char i;
for (i=0; i<8; i++) //一個(gè)周期轉(zhuǎn)30度
{
P1 = FFW[i]&0x1f; //取數(shù)據(jù)
//FFW為步進(jìn)碼
delay(); //調(diào)節(jié)轉(zhuǎn)速
}
}
void delay()
{
unsigned int k,t;
t=rate; //轉(zhuǎn)速定義
while(t--)
{
for(k=0; k<150; k++)
{ }
}
}
void motor_turn()
{
unsigned char x;
rate=0x0a;
x=0x40;
do
{
mote_ffw();
rate--; //每進(jìn)一步時(shí)間越來(lái)越短
}while(rate!=0x01);//處于加速過(guò)程
do
{
motor_ffw();
x--; //每減一,進(jìn)一步,勻速過(guò)程
//此處同樣可以設(shè)延時(shí)函數(shù)
} while(x!=0x01);
do
{
motor_ffw();
rate++; //每進(jìn)一步時(shí)間越來(lái)越長(zhǎng)
} while(rate!=0x0a);//處于減速過(guò)程
}