專注電子技術學習與研究
當前位置:單片機教程網(wǎng) >> MCU設計實例 >> 瀏覽文章

51單片機實現(xiàn)步進電機加減速的例子-加注釋

作者:佚名   來源:不詳   點擊數(shù):  更新時間:2014年08月17日   【字體:

 

 
 
 
void  motor_ffw()
 {
   unsigned char i;
 
      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ù)
 } while(x!=0x01);
 do
 {
  motor_ffw();
  rate++; //每進一步時間越來越長
 
 }  while(rate!=0x0a);//處于減速過程
}
 
關閉窗口