久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

標題: 51單片機控制步進馬達程序問題 [打印本頁]

作者: dj3365191    時間: 2023-3-9 14:12
標題: 51單片機控制步進馬達程序問題
請教一下,我這個單片機程序是想讓步進馬達正轉45度,反轉45度,重復三次然后停止,但是現在一直循環不停,不知問題出在哪里,請大家指教,謝謝!
  1. /******************************28BYJ-48步進電機測試程序*************************************
  2. ;FOSC = 12MHz

  3. ; 步進電機的驅動信號必須為脈沖信號!!! 轉動的速度和脈沖的頻率成正比!!!
  4. ; 本步進電機步進角為 5.625*2度 半步5.625度, 減速比為64. 一圈 360 度 , 需要512 個脈沖完成!!!  360=N*45/64
  5. ;---------------------------------------------------------------------------------
  6. ; A 組線圈對應 P3.2
  7. ; B 組線圈對應 P3.3
  8. ; C 組線圈對應 P3.4
  9. ; D 組線圈對應 P3.5

  10. ;----------------------------------------------------------------------------------
  11. **********************************************************************************/
  12. #include <reg52.h>      
  13. #include <intrins.h>
  14. #define uint unsigned int
  15. #define uchar unsigned char
  16. uint i,j,k,m;
  17. uint N=128;    //角度范圍調節,對應于45度,512對應于360度

  18. uchar code single_rev[4]={0x20,0x10,0x08,0x04};  /*單四拍反轉表*/
  19. uchar code single_pos[4]={0x04,0x08,0x10,0x20};  /*單四拍正轉表*/

  20. void delay(uint z);
  21. void m_single_pos();
  22. void m_single_rev();

  23. void main()
  24. {
  25.    // while(1)
  26. for(m=0;m<3;m++);         
  27.         {
  28.      m_single_rev(); //單四拍反轉360度
  29.           delay(25);
  30.          m_single_pos(); //單四拍正轉360度
  31.           delay(25);
  32.         }
  33. }
  34.         
  35. void delay(uint z) /*延時z毫秒*/
  36. {
  37.     uint x,y;
  38.         for(x=z;x>0;x--)
  39.            for(y=350;y>0;y--) ;         //轉速調節,數值越大馬達越慢
  40. }



  41.             
  42. /******************************單四拍驅動正轉(N*45/16)*************************************/  
  43. void m_single_pos()
  44. {
  45.    for(k=0;k<N;k++)            
  46.     {  
  47.          for(i=0;i<4;i++)                                //單四拍一個脈沖轉子轉動5.625*2=11.625度,四拍共45度
  48.             {
  49.                   P3=single_pos[i] ;
  50.                   delay(5) ;                //適當延時,保證轉子轉動時間,延時過短會丟拍
  51.                  }
  52.          }
  53. }


  54. /******************************單四拍驅動反轉(N*45/16)*************************************/  
  55. void m_single_rev()
  56. {
  57.    for(k=0;k<N;k++)                        
  58.     {  
  59.          for(i=0;i<4;i++)             //單四拍一個脈沖轉子轉動5.625*2=11.625度,四拍共45度
  60.             {
  61.                   P3=single_rev[i] ;
  62.                   delay(5) ;            //適當延時,保證轉子轉動時間,延時過短會丟拍
  63.                  }                        
  64.          }               
  65. }
復制代碼



作者: qin_yong001    時間: 2023-3-9 15:15
void main()
{
   // while(1)
  {
    for(m=0;m<3;m++);         
        {
     m_single_rev(); //單四拍反轉360度
          delay(25);
         m_single_pos(); //單四拍正轉360度
          delay(25);
        }
  }
}
作者: EdwardTsapiev    時間: 2023-3-9 15:18
Опечатка "за"!
После скобок не должно быть точки с запятой.




作者: EdwardTsapiev    時間: 2023-3-9 15:23
“為”拼寫錯誤!
括號后不應該有分號。





作者: coody_sz    時間: 2023-3-9 15:34
main函數沒有大循環,當然會如此。
作者: jovew    時間: 2023-3-9 16:07
我的步進電機工作的時候,一會卡頓一下。 不知道怎么回事。 有人知道嗎?
作者: lkc8210    時間: 2023-3-9 17:24
把while(1)放到最后

1.jpg (114.7 KB, 下載次數: 49)

1.jpg

作者: Hephaestus    時間: 2023-3-10 10:31
這么低級的錯誤用indent或astyle格式化一下代碼一眼就能看出來。




歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 亚洲人一区 | 美女视频一区 | 中文字幕一二三区 | 成人欧美一区二区三区在线播放 | 国产日韩一区二区 | 国产精品国产精品国产专区不片 | 国产精品一区二区欧美 | 9porny九色视频自拍 | 久久精品屋 | 国产中文字幕网 | 国产传媒视频在线观看 | 先锋资源站 | 中文字幕不卡视频在线观看 | 欧美中文字幕 | 老司机午夜性大片 | 欧美视频福利 | 欧美色图综合网 | 欧美理伦片在线播放 | 羞羞的视频免费观看 | 日韩成人在线一区 | 亚洲伊人a | 欧美日韩一卡二卡 | 成人av在线网站 | 精品在线一区 | 日韩久久久久久 | 久热精品免费 | 欧美日韩一区在线观看 | 毛片网站在线观看 | 亚洲成人福利在线观看 | 国产精品久久久久久久久久免费看 | 天堂亚洲| 四虎影院久久 | 欧美二区三区 | 97av视频在线 | 成人一区二区视频 | 在线精品观看 | 黄色中文字幕 | 91精品国产手机 | 日本午夜视频 | 亚洲在线视频 | 91精品国产一区二区三区蜜臀 |