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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 6034|回復: 3
打印 上一主題 下一主題
收起左側

STC15F2K60S2單片機控制步進電機程序

[復制鏈接]
跳轉到指定樓層
樓主
ID:559628 發(fā)表于 2019-6-11 09:29 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
最近項目關鍵技術測試,需要用到單片機控制步進電機驅動一個機械件,因此根據(jù)硬件配置編寫了一些代碼,供大家參考。
硬件配置: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, 下載次數(shù): 36)

評分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏2 分享淘帖 頂 踩
回復

使用道具 舉報

沙發(fā)
ID:464755 發(fā)表于 2019-6-13 10:20 來自觸屏版 | 只看該作者
如果項目關鍵,最好用標準的步進電機驅動器。單片機負責脈沖方向會更好點。
回復

使用道具 舉報

板凳
ID:559628 發(fā)表于 2019-6-13 17:17 | 只看該作者
nsush 發(fā)表于 2019-6-13 10:20
如果項目關鍵,最好用標準的步進電機驅動器。單片機負責脈沖方向會更好點。

這個只是用來進行測試關鍵技術點,產品中會設計為1個整體的模塊,程序會更完善。
回復

使用道具 舉報

地板
ID:732181 發(fā)表于 2020-4-21 09:03 | 只看該作者
謝謝大神的分享
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表