void motor_ffw()
{
unsigned char i;
本文引用地址:http://m.butianyuan.cn/article/201611/320045.htm for (i=0; i<8; i++) //一個周期轉(zhuǎn)30度
{
P1 = FFW[i]&0x1f; //取數(shù)據(jù)
//FFW為步進碼
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--;//每進一步時間越來越短
}while(rate!=0x01);//處于加速過程
do
{
motor_ffw();
x--;//每減一,進一步,勻速過程
//此處同樣可以設(shè)延時函數(shù)
} while(x!=0x01);
do
{
motor_ffw();
rate++; //每進一步時間越來越長
} while(rate!=0x0a);//處于減速過程
}
評論