專注電子技術(shù)學(xué)習(xí)與研究
當(dāng)前位置:單片機(jī)教程網(wǎng) >> MCU設(shè)計(jì)實(shí)例 >> 瀏覽文章

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

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

 

 
 
 
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ò)程
}
 
關(guān)閉窗口