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

標題: 51單片機步進電機正反轉停止實驗-C51源代碼 [打印本頁]

作者: eye1990    時間: 2017-6-5 19:57
標題: 51單片機步進電機正反轉停止實驗-C51源代碼
學習學習:
51單片機步進電機正反轉停止實驗.docx (15.34 KB, 下載次數: 30)

按實驗板上的K1按鍵步進電機正轉
按實驗板上的K2按鍵步進電機反轉
按實驗板上的K3按鍵步進電機停止

  1. #include <reg51.h>       //51芯片管腳定義頭文件
  2. #include <intrins.h>         //內部包含延時函數 _nop_();
  3. #define uchar unsigned char
  4. #define uint  unsigned int
  5. uchar code FFW[8]={0x01,0x03,0x02,0x06,0x04,0x0c,0x08,0x09};  //四相八拍正轉編碼
  6. uchar code REV[8]={0x09,0x08,0x0c,0x04,0x06,0x02,0x03,0x01};  ////四相八拍反轉編碼
  7. sbit  K1   = P3^2;       //正轉
  8. sbit  K2   = P3^3;       //反轉
  9. sbit  K3   = P3^4;       //停止
  10. sbit  BEEP = P3^6;       //蜂鳴器
  11. /********************************************************/
  12. /*                                                  
  13. /* 延時t毫秒
  14. /* 11.0592MHz時鐘,延時約1ms                                    
  15. /*                                                      
  16. /********************************************************/
  17. void delay(uint t)
  18. {                           
  19.    uint k;
  20.    while(t--)
  21.    {
  22.      for(k=0; k<125; k++)
  23.      { }
  24.    }
  25. }

  26. /**********************************************************/
  27. void delayB(uchar x)    //x*0.14MS
  28. {
  29.    uchar i;
  30.    while(x--)
  31.    {
  32.      for (i=0; i<13; i++)
  33.      { }
  34.    }
  35. }

  36. /**********************************************************/
  37. void beep()
  38. {
  39.    uchar i;
  40.    for (i=0;i<100;i++)
  41.     {
  42.      delayB(4);
  43.      BEEP=!BEEP;                 //BEEP取反
  44.     }
  45.      BEEP=1;                    //關閉蜂鳴器
  46. }

  47. /********************************************************/
  48. /*
  49. /*步進電機正轉
  50. /*
  51. /********************************************************/
  52. void  motor_ffw()
  53. {
  54.    uchar i;
  55.    uint  j;
  56.    for (j=0; j<8; j++)         //轉1*n圈
  57.     {
  58.             if(K3==0)
  59.         {break;}                //退出此循環程序
  60.       for (i=0; i<8; i++)       //一個周期轉45度
  61.         {
  62.           P1 = FFW[i];          //取數據
  63.           delay(2);            //調節轉速
  64.         }
  65.     }
  66. }

  67. /********************************************************/
  68. /*
  69. /*步進電機反轉
  70. /*
  71. /********************************************************/
  72. void  motor_rev()
  73. {
  74.      uchar i;
  75.          uint  j;
  76.          for (j=0; j<8; j++)       //轉1×n圈
  77.       {
  78.             if(K3==0)
  79.          {break;}               //退出此循環程序
  80.         for (i=0; i<8; i++)     //一個周期轉45度
  81.         {
  82.           P1 = REV[i];          //取數據
  83.           delay(2);            //調節轉速
  84.         }
  85.       }
  86. }

  87. /********************************************************
  88. *                                                      
  89. *  主程序                                               
  90. *                                                      
  91. *********************************************************/

  92. main()
  93. {
  94.       uchar r,N=64;             //N 步進電機運轉圈數
  95.    while(1)
  96.     {  
  97.       if(K1==0)
  98.           {
  99.         beep();
  100.                 for(r=0;r<N;r++)
  101.          {
  102.                    motor_ffw();       //電機正轉
  103.                     if(K3==0)
  104.                   {beep();break;}    //退出此循環程序
  105.              }
  106.       }
  107.           else if(K2==0)
  108.        {
  109.             beep();
  110.                 for(r=0;r<N;r++)
  111.          {
  112.                motor_rev();       //電機反轉
  113.                    if(K3==0)
  114.                   {beep();break;}    //退出此循環程序
  115.                  }
  116.        }
  117.            else  
  118.                  P1 = 0xf0;
  119.     }
  120. }

  121. /********************************************************/
復制代碼



作者: wrl123456    時間: 2020-4-9 14:08
無仿真圖 用不了




歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 一区二区三区在线观看免费视频 | 99亚洲精品 | 亚洲精品综合一区二区 | 国产日韩欧美二区 | 精品三级在线观看 | 亚洲精品大片 | aaaa日韩 | 中文字幕日韩专区 | 免费一区二区三区 | 亚洲综合视频一区 | 欧美亚洲日本 | 亚洲电影专区 | 一区视频在线免费观看 | 亚洲一区二区中文字幕在线观看 | 亚洲国产日韩欧美 | 日韩毛片中文字幕 | 99av成人精品国语自产拍 | 日韩国产中文字幕 | 精品久久久久久久久久久院品网 | 91精品国产综合久久久动漫日韩 | 在线看无码的免费网站 | 黄色一级大片在线免费看产 | 亚洲欧美成人在线 | 国产精品日日摸夜夜添夜夜av | 精品国产黄色片 | 红色av社区 | 日本人做爰大片免费观看一老师 | 色婷婷综合久久久中文字幕 | 国产乱码久久久 | 免费黄色在线 | 成人在线视频一区二区三区 | 男女又爽又黄视频 | 欧美三区 | 成人午夜精品一区二区三区 | 91精品国产91久久综合桃花 | 亚洲视频三区 | 国产一区二区在线视频 | 99久久久久久久 | 亚洲大片一区 | 久久精品成人一区 | 成人美女免费网站视频 |