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

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

關于單片機編程設計和控制步進電機的注意事項

作者:郭子瑜   來源:51hei   點擊數:  更新時間:2008年09月11日   【字體:

   關于單片機編程設計的注意事項,我是這樣認為的,首先要考慮程序的可執行效率,要簡潔、維護方便,還要有可擴展空間,簡單明了,子程序的搭配,延時的應用,和中斷的配合,主函數調取子程序模塊的效率、循環某個子程序的時間,條件觸發啟動子程序能迅速響應主程序的調配。  通過以上可以看出,編一個好的程序,要考慮到單片機軟件的方方面面,所以編程時,一定不能馬虎,如果馬虎,那么你的程序就會出錯,到時還得糾錯,費時費力。

   如果遇到關于步進電機的程序,那么一定要考慮到步進電機的正反轉進制碼,還要考慮到轉速,還有當前步進電機的狀態顯示,所以編一個程序,是一件很辛苦的事,還好有http://m.raoushi.com這個學習單片機的好網站,可以找到很多例子和朋友。有時候累了就上論壇那泡一泡,可能會有點收獲,我這些經驗也是長期泡單片機論壇總結出來的。對于步進電機的這個程序我認為難就難在步進電機和顯示的進制碼上,如:

uchar code FFW[8]={0xf1,0xf3,0xf2,0xf6,0xf4,0xfc,0xf8,0xf9};電機正轉
uchar code REV[8]={0xf9,0xf8,0xfc,0xf4,0xf6,0xf2,0xf3,0xf1};電機反轉

步進電機正轉
**********************************/
void  motor_ffw()
{
   uchar i;
   uint  j;
   for (j=0; j<12; j++)         //轉1*n圈
    {
     if(k4==0)
        {break;}                //退出此循環程序
      for (i=0; i<8; i++)       //一個周期轉30度
        {
          P1 = FFW[i];          //取數據
          yanshia(15);            //調節轉速
        }
    }
}
/**********************************
       步進電機反轉
**********************************/
void motor_rev()
{
    uchar i;
    uint  j;
  for(j=0;j<12;j++)
{
     if(k4==0)
     {break;}
for(i=0;i<8;i++)
{
   P1=REV[i];
   yanshia(15);
   }
    }
      }


 

關閉窗口