欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: 步進電機驅動器簡單應用-自動廣告牌控制51單片機程序 [打印本頁]

作者: 51heisex    時間: 2016-1-24 02:50
標題: 步進電機驅動器簡單應用-自動廣告牌控制51單片機程序
#include <REG51.H>
/*定義程序中的公共變量參數*/
unsigned int ti_dis;        //定義時間間隔
unsigned int mot_step;  //定義步數
unsigned int mo_bc=25;//定義電機所轉圈數的參數,可根據實際情況修改
unsigned int js=150;      //定義電機速度參數,數值越小,速度越快,最小為8,小于8可能堵轉。根據實際情況可進行修改。
unsigned int cjs=15;      //定義時間基本控制參數,如無問題不需要修改
/*變量參數定義結束*/

/*以下為延時控制過程*/
void delay(unsigned int ti_small,unsigned int ti_base)//ti_small為時間最小單位,ti_base=1000時為10ms,a*ti=mS
{
while(--ti_small!=0)  //循環開始
   {
      for(ti_dis=0;ti_dis<=ti_base;ti_dis++);  //時間累加器
   }
}
/*時間延時過程結束*/

/*以下為主程序,執行電機的正反轉,控制速度和延時*/
void main(void)
{
  P1=0xFF;                 //穩定信號輸出,防止上電時電機轉子因信號不穩定抖動
  delay(1000,1000);   //加電10s后再運行主程序,給調試人員留出足夠準備時間,防止出現事故?筛鶕䦟嶋H情況修改,為安全起見建議時間延長
  /*以下程序未控制電機運動方式的主體部分*/
   while(1)  //無限循環
   {
     for(mot_step=0;mot_step<mo_bc;mot_step++)  //循環控制旋轉圈數,正轉
       {
         delay(js,cjs); //每步延時  
       P1=0xF7;        //電機轉速,正傳
       delay(js,cjs);   //每步延時  
       P1=0xFB;       //電機轉速,正傳
    }
       P1=0x00;          //軟制動,防止機械部件因慣性造成過位
       delay(20,cjs);    //延長制動時間,防止電機拖動的負荷因慣性造成過未,如果需要調整制動停留時間,數字20根據實際情況修改
       P1=0xFF;          //防止停車后電機過熱
       delay(1000,1000); //間隔10s,還行反轉,可根據需求進行修改
     for(mot_step=0;mot_step<mo_bc;mot_step++)  //循環控制旋轉圈數,反轉
       {
         delay(js,cjs);  //每步延時
       P1=0xFD;        //電機轉速,反傳
       delay(js,cjs);    //每步延時
       P1=0xFE;        //電機轉速,反傳
    }
       P1=0x00;          //軟制動,防止機械部件因慣性造成過位
       delay(20,cjs);    //延長制動時間,防止電機拖動的負荷因慣性造成過未,如果需要調整制動停留時間,數字20根據實際情況修改
       P1=0xFF;          //防止停車后電機過熱
       delay(1000,1000); //間隔10s,執行正傳,可根據需求進行修改
  }
  /*電機控制主體部分結束*/
}
/*主程序段結束*/



作者: DIY電子    時間: 2016-7-4 23:55
謝謝分享  學習.........




歡迎光臨 (http://m.raoushi.com/bbs/) Powered by Discuz! X3.1