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

標題: STC15F2K60S2單片機控制步進電機程序 [打印本頁]

作者: luruzhan    時間: 2019-6-11 09:29
標題: STC15F2K60S2單片機控制步進電機程序
最近項目關鍵技術測試,需要用到單片機控制步進電機驅動一個機械件,因此根據硬件配置編寫了一些代碼,供大家參考。
硬件配置:STC15F2K60S2單片機、28BYJ-48步進電機(5V、12V兼容)、驅動器為UN2003AN。
代碼在附件中。
  1. //此代碼比較抽象:
  2. #include<reg52.h>

  3. #define uchar unsigned char
  4. #define uint  unsigned int
  5. #define MotorData P0

  6. uchar phasecw[8] ={0xf8,0xfc,0xf4,0xf6,0xf2,0xf3,0xf1,0xf9};//順時針

  7. void delay(uint a,b)
  8. {
  9.         uint i,k,j;
  10.         for(i=11;i>0;i--)
  11.         {
  12.                 for(k=a;k>0;k--)
  13.                 {       
  14.                         for(j=b;j>0;j--);
  15.                 }
  16.         }
  17. }
  18. sbit P1_0=P1^0;           //氣泵
  19. sbit stop=P1^1;
  20. main()
  21. {
  22.         uint n,r,m;
  23.     MotorData=0xf0;   
  24.         while(stop)
  25.         {         
  26.                 for(n=6;n>1;n--)
  27.                 {
  28.                         for(r=85;r>0;r--)
  29.                         {
  30.                                 for(m=0;m<8;m++)
  31.                                   {
  32.                                         MotorData=phasecw[m];
  33.                                         delay(100,1);
  34.                                 }
  35.                                
  36.                         }
  37.                         if(!stop) delay(100,1);          //關機時、電源低于10%時,電機恢復原位,可增加位置
  38.                         else
  39.                         {
  40.                         MotorData=0xf0;
  41.                         delay(2000,100);   //insert power manage
  42.                         P1_0=0;
  43.                         delay(2000,100);        //insert power manage
  44.                         P1_0=1;
  45.                         }
  46.                 }
  47.                 for(r=87;r>0;r--)
  48.                 {
  49.                         for(m=0;m<8;m++)
  50.                           {
  51.                                    MotorData=phasecw[m];
  52.                                 delay(100,1);
  53.                         }
  54.                        
  55.                 }
  56.                 MotorData=0xf0;
  57.                 if(!stop) delay(100,1);          //關機時,電機恢復原位 ,可增加位置
  58.                 else
  59.                 {
  60.                         delay(2000,1000);
  61.                         n=6;
  62.                 }
  63.          }
  64. }          
復制代碼

上述源碼word: STC15F2K60S2控制步進電機程序.docx (12.68 KB, 下載次數: 36)

作者: nsush    時間: 2019-6-13 10:20
如果項目關鍵,最好用標準的步進電機驅動器。單片機負責脈沖方向會更好點。
作者: luruzhan    時間: 2019-6-13 17:17
nsush 發表于 2019-6-13 10:20
如果項目關鍵,最好用標準的步進電機驅動器。單片機負責脈沖方向會更好點。

這個只是用來進行測試關鍵技術點,產品中會設計為1個整體的模塊,程序會更完善。
作者: 18877865862    時間: 2020-4-21 09:03
謝謝大神的分享




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