void motor_ffw()
{
unsigned char i;
for (i=0; i<8; i++) //一個周期轉30度
{
P1 = FFW[i]&0x1f; //取數據
//FFW為步進碼
delay(); //調節轉速
}
}
void delay()
{
unsigned int k,t;
t=rate; //轉速定義
while(t--)
{
for(k=0; k<150; k++)
{ }
}
}
void motor_turn()
{
unsigned char x;
rate=0x0a;
x=0x40;
do
{
mote_ffw();
rate--; //每進一步時間越來越短
}while(rate!=0x01);//處于加速過程
do
{
motor_ffw();
x--; //每減一,進一步,勻速過程
//此處同樣可以設延時函數
} while(x!=0x01);
do
{
motor_ffw();
rate++; //每進一步時間越來越長
} while(rate!=0x0a);//處于減速過程
}