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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

51單片機(jī)控制步進(jìn)電機(jī)的轉(zhuǎn)動,加減速,停止,反轉(zhuǎn)

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
#
ID:51773 發(fā)表于 2013-7-19 02:23 | 只看該作者 回帖獎勵 |正序?yàn)g覽 |閱讀模式
51單片機(jī)控制步進(jìn)電機(jī)的轉(zhuǎn)動,加減速,停止,反轉(zhuǎn),單雙八拍工作方式:A-AB-B-BC-C-CD-D-DA (即一個脈沖,轉(zhuǎn) 3.75 度)
  1. #include <reg52.h>
  2. sbit inc=P3^2;
  3. sbit dec=P3^3;
  4. sbit zhzhd=P3^6;
  5. sbit fazhd=P3^7;

  6. bit flag=1;
  7. unsigned char t=0x00; //表正反速度
  8. void delay(unsigned int t);
  9. void  motor_ffw();

  10. unsigned char code led7code[]=
  11. {0x81,0xe7,0x92,0xc2,0xe4,0xc8,0x88,0xe3,0x00,0xc0};
  12. unsigned int num=0;

  13. unsigned char code FFW[8]={0x40,0x60,0x20,0x30,0x10,0x18,0x08,0x48};
  14. unsigned char code FFZ[8]={0x48,0x08,0x18,0x10,0x30,0x20,0x60,0x40};  //反轉(zhuǎn)

  15. void main()
  16. {
  17.      
  18.     EA=1;
  19.     IT0=1;
  20.     EX0=1;
  21.     IT1=1;
  22.     EX1=1;

  23.     TMOD=0x06;
  24.     TL0=0xff;
  25.     TH0=0xff;
  26.     TR0=1;
  27.     ET0=1;

  28.     P3=0x3f;
  29.     P0=led7code[num%10];
  30.     while(1)
  31.     {
  32.      motor_ffw();
  33.     }

  34. }

  35. void  motor_ffw()  /* 步進(jìn)電機(jī)驅(qū)動*/ //
  36. {
  37.    unsigned char i;
  38.    int j;
  39.         while(1)
  40.         {
  41.             
  42.             for(j=0;j<12;j++)     //12個周期轉(zhuǎn)一圈
  43.            {    for (i=0; i<8; i++)       //一個周期轉(zhuǎn)30度
  44.                  {  
  45.             if(flag==1)
  46.                 P2 = FFW[i];  //取數(shù)據(jù)
  47.              else
  48.                 P2 = FFZ[i];
  49.                delay(t);                   //t調(diào)節(jié)轉(zhuǎn)速
  50.                 }
  51.             }
  52.         }
  53. }

  54. void int0(void) interrupt 0
  55. {
  56.     EX0=0;
  57.     delay(10);
  58.     if(inc==0)
  59.     {
  60.     num++;
  61.      
  62.     P0=led7code[num%10];
  63.     if(num%10!=0&&flag){zhzhd=0;fazhd=1;}
  64.     else if (num%10==0){zhzhd=0;fazhd=0;}
  65.     else {zhzhd=1;fazhd=0;}
  66.      
  67.     switch(num%10)
  68.     {
  69.         case 0:t=0x00;break;
  70.         case 1:t=0x12;break;
  71.         case 2:t=0x11;break;
  72.         case 3:t=0x10;break;
  73.         case 4:t=0x09;break;
  74.         case 5:t=0x08;break;
  75.         case 6:t=0x07;break;
  76.         case 7:t=0x06;break;
  77.         case 8:t=0x05;break;
  78.         case 9:t=0x04;break;
  79.      
  80.     }
  81.      
  82.     }
  83.     while(!inc);
  84.     EX0=1;
  85. }

  86. void int1(void) interrupt 2
  87. {
  88.     EX1=0;
  89.     delay(10);
  90.     if(dec==0)
  91.     {
  92.     num--;
  93.     if(num==65535)num=65529;
  94.     P0=led7code[num%10];
  95.     if(num%10!=0&&flag){zhzhd=0;fazhd=1;}
  96.     else if (num%10==0){zhzhd=0;fazhd=0;}
  97.     else {zhzhd=1;fazhd=0;}

  98.      
  99.     if(num==65535)num=65529;
  100.     switch(num%10)
  101.     {
  102.         case 0:t=0x00;break;
  103.         case 1:t=0x12;break;
  104.         case 2:t=0x11;break;
  105.         case 3:t=0x10;break;
  106.         case 4:t=0x09;break;
  107.         case 5:t=0x08;break;
  108.         case 6:t=0x07;break;
  109.         case 7:t=0x06;break;
  110.         case 8:t=0x05;break;
  111.         case 9:t=0x04;break;
  112.      
  113.     }
  114.     }
  115.     while(!dec);
  116.     EX1=1;
  117. }


  118. void huanx(void) interrupt 1
  119. {   
  120.     ET0=0;
  121.     TR0=0;
  122.     delay(10);
  123.     if(P3^4==0)
  124.     {
  125.     if(flag==1) {flag = 0;zhzhd=1;delay(500);fazhd=0;}
  126.     else  {flag = 1;fazhd=1;delay(500);zhzhd=0;}
  127.     }

  128.     while(!(P3^4));
  129.     ET0=1;
  130.     TR0=1;
  131. }


  132. //    延時程序
  133. void delay(unsigned int t)
  134. {                           
  135.    unsigned int k;
  136.    while(t--)
  137.    {
  138.      for(k=0; k<80; k++);
  139.       
  140.    }
  141. }
復(fù)制代碼
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏3 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

13#
ID:221601 發(fā)表于 2018-5-21 21:21 | 只看該作者
強(qiáng)   6666666666

回復(fù)

使用道具 舉報

12#
ID:335245 發(fā)表于 2018-5-21 21:15 | 只看該作者
開發(fā)板的,不錯,多謝樓主
回復(fù)

使用道具 舉報

11#
ID:247495 發(fā)表于 2018-5-21 16:55 | 只看該作者
代碼先復(fù)制去試試了
回復(fù)

使用道具 舉報

10#
ID:320751 發(fā)表于 2018-5-20 21:41 | 只看該作者
初學(xué)者在此謝過
回復(fù)

使用道具 舉報

9#
ID:327273 發(fā)表于 2018-5-11 00:28 來自觸屏版 | 只看該作者
請問樓主,點(diǎn)觸式限位開關(guān)怎樣接在單片機(jī)上實(shí)現(xiàn)往復(fù)運(yùn)動哦?
回復(fù)

使用道具 舉報

8#
ID:143646 發(fā)表于 2016-10-20 20:41 | 只看該作者
請問上面的數(shù)組是什么意思呢
回復(fù)

使用道具 舉報

7#
ID:90625 發(fā)表于 2015-9-20 16:39 | 只看該作者
漂亮    這就是我想要的
回復(fù)

使用道具 舉報

6#
ID:68477 發(fā)表于 2015-4-12 14:24 | 只看該作者
學(xué)習(xí)了。謝謝。
回復(fù)

使用道具 舉報

5#
ID:76408 發(fā)表于 2015-4-8 10:12 | 只看該作者
學(xué)習(xí)來了,正在學(xué)習(xí)呢
回復(fù)

使用道具 舉報

地板
ID:74784 發(fā)表于 2015-3-31 14:44 | 只看該作者
星期天 發(fā)表于 2013-7-25 14:43
**** 作者被禁止或刪除 內(nèi)容自動屏蔽 ****

我也買了一個28BYJ-48電機(jī)
正在學(xué)習(xí)呢
能把你的代碼發(fā)來看看嗎?
謝謝
回復(fù)

使用道具 舉報

板凳
ID:74784 發(fā)表于 2015-3-31 14:43 | 只看該作者
樓主有匯編的嗎?
沒學(xué)過c
看不懂呀
回復(fù)

使用道具 舉報

沙發(fā)
ID:50788 發(fā)表于 2013-7-25 14:43 | 只看該作者
昨天用的28BYJ-48電機(jī)做了一個實(shí)驗(yàn),四相八拍的,但轉(zhuǎn)速特別慢,一分鐘最多十圈的樣子,問下樓主這款電機(jī)額定轉(zhuǎn)速就是這么多么?
回復(fù)

使用道具 舉報

樓主
ID:40961 發(fā)表于 2013-7-22 09:26 | 只看該作者
樓主用的是仿真還是開發(fā)板的
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 久久这里有精品 | 欧美黄色绿像 | 国产精品美女久久久 | 福利视频网站 | 97精品国产97久久久久久免费 | 99国产精品一区二区三区 | 91免费观看 | 黄片毛片免费观看 | 成人精品免费视频 | 免费久 | 看片wwwwwwwwwww| www.久久精品 | 国产线视频精品免费观看视频 | 97精品久久| 久久久久久久久久久久久九 | 中文字幕亚洲国产 | 亚洲精品成人av久久 | 欧美激情 一区 | 国产性网 | 国产成人精品免费 | 国产一级免费视频 | 先锋资源在线 | 久久久久久亚洲精品 | 91精品国产乱码久久蜜臀 | 精品国产欧美一区二区三区不卡 | 精品少妇一区二区三区日产乱码 | 国产精品一区二区不卡 | 人人九九 | 亚洲国产视频一区 | 日本久久网站 | 男女羞羞视频网站 | 亚洲国产精品久久久久秋霞不卡 | 国产日韩一区二区三免费高清 | 波多野结衣先锋影音 | 日韩成人免费视频 | 一区二区久久 | 欧美综合视频在线 | 欧美电影在线观看网站 | 欧美一区二区在线观看 | 又黄又爽的网站 | 亚洲综合在线一区 |