找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3176|回復(fù): 1
打印 上一主題 下一主題
收起左側(cè)

C51單片機(jī)-步進(jìn)電機(jī)正反轉(zhuǎn) 源程序

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:197189 發(fā)表于 2017-5-7 12:52 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
步進(jìn)電機(jī)正反轉(zhuǎn)


單片機(jī)源程序:
  1. /*-----------------------------------------------
  2.   名稱:步進(jìn)電機(jī)
  3.   修改:無
  4.   內(nèi)容:本程序用于測試4相步進(jìn)電機(jī)常規(guī)驅(qū)動 含正反轉(zhuǎn) 使用1相勵磁
  5.         

  6. ------------------------------------------------*/

  7. #include <reg52.h>



  8. sbit A1=P1^0; //定義步進(jìn)電機(jī)連接端口
  9. sbit B1=P1^1;
  10. sbit C1=P1^2;
  11. sbit D1=P1^3;


  12. #define Coil_A1 {A1=1;B1=0;C1=0;D1=0;}//A相通電,其他相斷電
  13. #define Coil_B1 {A1=0;B1=1;C1=0;D1=0;}//B相通電,其他相斷電
  14. #define Coil_C1 {A1=0;B1=0;C1=1;D1=0;}//C相通電,其他相斷電
  15. #define Coil_D1 {A1=0;B1=0;C1=0;D1=1;}//D相通電,其他相斷電
  16. #define Coil_AB1 {A1=1;B1=1;C1=0;D1=0;}//AB相通電,其他相斷電
  17. #define Coil_BC1 {A1=0;B1=1;C1=1;D1=0;}//BC相通電,其他相斷電
  18. #define Coil_CD1 {A1=0;B1=0;C1=1;D1=1;}//CD相通電,其他相斷電
  19. #define Coil_DA1 {A1=1;B1=0;C1=0;D1=1;}//D相通電,其他相斷電
  20. #define Coil_OFF {A1=0;B1=0;C1=0;D1=0;}//全部斷電

  21. unsigned char Speed;
  22. /*------------------------------------------------
  23. uS延時函數(shù),含有輸入?yún)?shù) unsigned char t,無返回值
  24. unsigned char 是定義無符號字符變量,其值的范圍是
  25. 0~255 這里使用晶振12M,精確延時請使用匯編,大致延時
  26. 長度如下 T=tx2+5 uS
  27. ------------------------------------------------*/
  28. void DelayUs2x(unsigned char t)
  29. {   
  30. while(--t);
  31. }
  32. /*------------------------------------------------
  33. mS延時函數(shù),含有輸入?yún)?shù) unsigned char t,無返回值
  34. unsigned char 是定義無符號字符變量,其值的范圍是
  35. 0~255 這里使用晶振12M,精確延時請使用匯編
  36. ------------------------------------------------*/
  37. void DelayMs(unsigned char t)
  38. {
  39.      
  40. while(t--)
  41. {
  42.      //大致延時1mS
  43.      DelayUs2x(245);
  44.          DelayUs2x(245);
  45. }
  46. }
  47. /*------------------------------------------------
  48.                     主函數(shù)
  49. ------------------------------------------------*/
  50. main()
  51. {
  52. unsigned int i=512;//旋轉(zhuǎn)一周時間
  53. Speed=8;
  54. Coil_OFF
  55. while(i--)  //正向
  56.   {         
  57.      Coil_A1                //遇到Coil_A1  用{A1=1;B1=0;C1=0;D1=0;}代替
  58.      DelayMs(Speed);         //改變這個參數(shù)可以調(diào)整電機(jī)轉(zhuǎn)速 ,
  59.                              //數(shù)字越小,轉(zhuǎn)速越大,力矩越小
  60.      Coil_B1
  61.      DelayMs(Speed);
  62.      Coil_C1
  63.      DelayMs(Speed);
  64.      Coil_D1
  65.      DelayMs(Speed);
  66.   }
  67.   Coil_OFF
  68.   i=512;
  69.   while(i--)//反向
  70.   {
  71.      Coil_D1                //遇到Coil_A1  用{A1=1;B1=0;C1=0;D1=0;}代替
  72.      DelayMs(Speed);         //改變這個參數(shù)可以調(diào)整電機(jī)轉(zhuǎn)速 ,
  73.                                  //數(shù)字越小,轉(zhuǎn)速越大,力矩越小
  74.      Coil_C1
  75.      DelayMs(Speed);
  76.      Coil_B1
  77.      DelayMs(Speed);
  78.      Coil_A1

  79. …………限于本文篇幅 余下代碼請從51黑下載附件…………
復(fù)制代碼

下載:
83-步進(jìn)電機(jī)正反轉(zhuǎn).zip (12.51 KB, 下載次數(shù): 32)

評分

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

查看全部評分

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

使用道具 舉報

沙發(fā)
ID:341210 發(fā)表于 2018-5-30 11:03 | 只看該作者
兄弟 在嗎 我想要一份你這個程序行么 我畢業(yè)設(shè)計想?yún)⒖家幌履氵@個我郵箱 309211560@qq.com
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

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

快速回復(fù) 返回頂部 返回列表