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

標題: 51單片機按鍵控制步進電機先順時針轉動90度,定住2S,再逆時針轉90度 [打印本頁]

作者: 234534    時間: 2018-2-11 11:19
標題: 51單片機按鍵控制步進電機先順時針轉動90度,定住2S,再逆時針轉90度
想通過按一個按鍵,使步進電機先順時針轉動90度,在定住2S,再逆時針轉動90度。代碼方面應該怎么編?

作者: TAOjiadashao    時間: 2018-2-11 14:00
你說的應該是舵機吧,應該叫伺服電機吧?
作者: angmall    時間: 2018-2-11 14:25
  1. /*-----------------------------------------------
  2.   名稱:步進電機
  3.   內容:本程序用于測試4相步進電機常規驅動
  4.         使用1-2相勵磁
  5.         1-2相激勵功率增倍,步進角度減半,抖動減少
  6.         順序如下 a-ab-b-bc-c-cd-d-da   又稱4相8拍
  7. ------------------------------------------------*/

  8. #include <reg52.h>



  9. sbit A1=P1^0; //定義步進電機連接端口
  10. sbit B1=P1^1;
  11. sbit C1=P1^2;
  12. sbit D1=P1^3;


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

  22. unsigned char Speed;
  23. bit Flag;
  24. /*------------------------------------------------
  25. uS延時函數,含有輸入參數 unsigned char t,無返回值
  26. unsigned char 是定義無符號字符變量,其值的范圍是
  27. 0~255 這里使用晶振12M,精確延時請使用匯編,大致延時
  28. 長度如下 T=tx2+5 uS
  29. ------------------------------------------------*/
  30. void DelayUs2x(unsigned char t)
  31. {   
  32.   while(--t);
  33. }
  34. /*------------------------------------------------
  35. mS延時函數,含有輸入參數 unsigned char t,無返回值
  36. unsigned char 是定義無符號字符變量,其值的范圍是
  37. 0~255 這里使用晶振12M,精確延時請使用匯編
  38. ------------------------------------------------*/
  39. void DelayMs(unsigned char t)
  40. {
  41.   
  42.   while(t--)
  43.   {
  44.     //大致延時1mS
  45.     DelayUs2x(245);
  46.     DelayUs2x(245);
  47.   }
  48. }
  49. /*------------------------------------------------
  50.                     主函數
  51. ------------------------------------------------*/
  52. main()
  53. {
  54.   unsigned int i=512;//旋轉一周時間

  55.   EA=1;          //全局中斷開
  56.   EX0=1;         //外部中斷0開
  57.   IT0=1;         //1表示邊沿觸發

  58.   Speed=10;
  59.   while(1){
  60.     Coil_OFF
  61.     while((i--)&&Flag)  //正向
  62.     {  Coil_A1      
  63.       DelayMs(Speed);
  64.       Coil_AB1                //遇到Coil_AB1  用{A1=1;B1=1;C1=0;D1=0;}代替
  65.       DelayMs(Speed);         //改變這個參數可以調整電機轉速 ,
  66.       //數字越小,轉速越大,力矩越小
  67.       Coil_B1      
  68.       DelayMs(Speed);
  69.       Coil_BC1
  70.       DelayMs(Speed);
  71.       Coil_C1      
  72.       DelayMs(Speed);
  73.       Coil_CD1
  74.       DelayMs(Speed);
  75.       Coil_D1      
  76.       DelayMs(Speed);
  77.       Coil_DA1
  78.       DelayMs(Speed);
  79.     }
  80.     Coil_OFF
  81.     i=512;
  82.     while((i--)&&(!Flag))//反向
  83.     {  
  84.       Coil_A1      
  85.       DelayMs(Speed);
  86.       Coil_DA1                //遇到Coil_AB1  用{A1=1;B1=1;C1=0;D1=0;}代替
  87.       DelayMs(Speed);         //改變這個參數可以調整電機轉速 ,
  88.       //數字越小,轉速越大,力矩越小
  89.       Coil_D1      
  90.       DelayMs(Speed);
  91.       Coil_CD1
  92.       DelayMs(Speed);
  93.       Coil_C1      
  94.       DelayMs(Speed);
  95.       Coil_BC1
  96.       DelayMs(Speed);
  97.       Coil_B1      
  98.       DelayMs(Speed);
  99.       Coil_AB1
  100.       DelayMs(Speed);
  101.     }
  102.   }
  103. }

  104. /*------------------------------------------------
  105.                 外部中斷程序
  106. ------------------------------------------------*/
  107. void ISR_INT0(void) interrupt 0
  108. {

  109.   if(!INT0)
  110.   {
  111.     DelayMs(10);//在此處可以添加去抖動程序,防止按鍵抖動造成錯誤
  112.     if(!INT0)
  113.     //while(!INT1);//等待按鍵釋放
  114.     {
  115.       Flag=!Flag;   
  116.     }
  117.   }
  118. }
復制代碼





歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 亚洲精品自在在线观看 | 免费成人午夜 | 国产成人精品免费视频大全最热 | 黄色片免费在线观看 | 成人18亚洲xxoo| 精品国产伦一区二区三区观看说明 | 国产目拍亚洲精品99久久精品 | 日韩一区二区三区在线看 | 成人国产在线视频 | 免费毛片网 | 国产成人99av超碰超爽 | 秋霞a级毛片在线看 | 嫩草国产 | 久久精品国产一区二区三区不卡 | 日韩成人在线播放 | 日p视频免费看 | 亚洲天堂久久 | 五十女人一级毛片 | 综合天天久久 | 国产精品久久久久久久久久免费看 | 在线观看欧美日韩视频 | 亚洲精品久久久久中文字幕欢迎你 | 一级视频在线免费观看 | 91精品导航 | 日本视频免费观看 | 九九亚洲 | 精品久久香蕉国产线看观看亚洲 | 国产精品国产成人国产三级 | 欧美福利| 国产激情免费视频 | 中文字幕精品一区 | 久久国产精品免费一区二区三区 | 伊人看片 | 国产高清在线精品 | 一区二区三区精品在线视频 | 黄在线| 在线久草 | 国产一区二区在线视频 | 亚洲欧美精 | 色播av| 日本黄色一级片视频 |