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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

步進電機調速控制系統資料(原理圖+單片機源碼)

  [復制鏈接]
跳轉到指定樓層
樓主
輸入電壓12V,經穩壓電路后輸出5V電壓;(12V給電機供電)
電路中四個按鍵控制電機轉速:(由左到右1:正轉 2: 反轉 3: 加速;4: 減速;)
電路中的四位一體數碼管顯示轉速;
電路中的單獨的數碼管顯示電機的檔位(正轉為1;反轉為2;加速為3;減速為4);
加速/(減速)時:每按一次按鍵數碼管顯示轉速加1/(減1
電機驅動電路輸入端的四個接線端由上到下依次為P1_0,P1_1,P1_2,P1_3

程序流程圖與框圖:


電路原理圖:


單片機源程序如下:
  1. #include<reg52.h>
  2. #define unint unsigned int
  3. void delay();

  4. void anjian();
  5. void frun();
  6. void zrun();
  7. code unsigned char runz[8]={ 0x03,0x0b,0x09,0x0d,0x0c,0x0e,0x06,0x07}; //正轉動數組
  8. code unsigned char runf[8]={ 0x07,0x06,0x0e,0x0c,0x0d,0x09,0x0b,0x03}; //反轉動數組
  9. code unsigned char seg7code[10]={ 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; //顯示段碼 數碼管字跟:
  10. unsigned char a,b,s,i,j,k,z,gw,sw,bw,speed,m;
  11. int y=31;//定義轉動速度,數值越大電機轉速越慢反之則快
  12. sbit P2_0=P2^0;//正轉按鍵
  13. sbit P2_1=P2^1;//反轉按鍵
  14. sbit P2_2=P2^2;//加速按鍵
  15. sbit P2_3=P2^3;//減速按鍵        
  16. sbit P1_7=P1^7;


  17. main()
  18. { P1_7=0;
  19. a=0;
  20. b=0;
  21. while(1)
  22.   {

  23.          if(P2_0==0)
  24.       {
  25.           while(!P2_0);        
  26.                     b=1;
  27.                   P0=seg7code[1];
  28.       }
  29.        if(P2_1==0)
  30.       {
  31.           while(!P2_1);
  32.           b=2;
  33.           P0=seg7code[2];
  34.        }
  35.          anjian();  
  36.           switch(b)
  37.         {
  38.         case 0: break;
  39.         case 1: frun();break;
  40.         case 2: zrun();        break;
  41.         default:break;        
  42.         }
  43.         switch(y)
  44.         {
  45.         case 7:speed=100;break;
  46.         case 9:speed=99;break;
  47.         case 11:speed=98;break;
  48.         case 13:speed=97;break;
  49.         case 15:speed=96;break;
  50.         case 17:speed=95;break;
  51.         case 19:speed=94;break;
  52.         case 21:speed=93;break;
  53.         case 23:speed=92;break;
  54.         case 25:speed=91;break;
  55.         case 27:speed=90;break;
  56.         case 29:speed=89;break;
  57.         case 31:speed=88;break;
  58.         case 33:speed=87;break;
  59.         case 35:speed=86;break;
  60.         case 37:speed=85;break;
  61.         case 39:speed=84;break;
  62.         case 41:speed=83;break;
  63.         case 43:speed=82;break;
  64.         case 45:speed=81;break;
  65.         case 47:speed=80;break;
  66.         case 49:speed=79;break;
  67.         case 51:speed=78;break;
  68.         case 53:speed=77;break;
  69.         case 55:speed=76;break;
  70.         case 57:speed=75;break;
  71.         case 59:speed=74;break;
  72.         case 61:speed=73;break;
  73.         case 63:speed=72;break;
  74.         case 65:speed=71;break;
  75.         case 67:speed=70;break;
  76.         case 69:speed=69;break;
  77.         case 71:speed=68;break;
  78.     case 73:speed=67;break;
  79.         case 75:speed=66;break;
  80.         case 77:speed=65;break;
  81.         case 79:speed=64;break;
  82.         case 81:speed=63;break;
  83.         case 83:speed=62;break;
  84.         case 85:speed=61;break;
  85.         case 87:speed=60;break;
  86.         case 89:speed=59;break;
  87.         case 91:speed=58;break;
  88.         case 93:speed=57;break;
  89.         case 95:speed=56;break;
  90.         case 97:speed=55;break;
  91.         case 99:speed=54;break;
  92.         case 101:speed=53;break;
  93.         case 103:speed=52;break;
  94.         case 105:speed=51;break;
  95.         case 107:speed=50;break;
  96.         case 109:speed=49;break;
  97.         case 111:speed=48;break;
  98.         case 113:speed=47;break;
  99.         case 115:speed=46;break;
  100.         case 117:speed=45;break;
  101.         case 119:speed=44;break;
  102.         case 121:speed=43;break;
  103.         case 123:speed=42;break;
  104.         case 125:speed=41;break;
  105.         case 127:speed=40;break;
  106.         case 129:speed=39;break;
  107.         case 131:speed=38;break;
  108.         case 133:speed=37;break;
  109.         case 135:speed=36;break;
  110.         case 137:speed=35;break;
  111.         case 139:speed=34;break;
  112.         case 141:speed=33;break;
  113.         case 143:speed=32;break;
  114.         case 145:speed=31;break;
  115.         case 147:speed=30;break;
  116.         case 149:speed=29;break;
  117.         case 151:speed=28;break;
  118.         case 153:speed=27;break;
  119.         case 155:speed=26;break;
  120.         case 157:speed=25;break;

  121.         default:break;
  122.         }
  123.   }

  124.    }

  125. void delay(i)//延時函數
  126.   {
  127.       for(j=0;j<i;j++)
  128.              for(k=0;k<30;k++);   
  129.          display();  
  130.   }

  131.   void delay2(m)//延時函數
  132.   {
  133.       for(j=0;j<m;j++);
  134.              for(k=0;k<255;k++);   
  135.                     
  136.   }
  137. void frun()// 反轉運行
  138. {
  139.      for(z=0;z<8;z++)
  140.         {
  141.             P1=runf[z];
  142.             delay(y);
  143.          }
  144. }
  145. void zrun()// 正轉運行
  146. {

  147.    for(z=0;z<8;z++)
  148.        {
  149.          P1=runz[z];
  150.          delay(y);
  151.        }
  152. }
  153. void anjian()
  154. {         P1_7=0;
  155.       if(P2_2==0)
  156.       {
  157.          
  158.           if(!P2_2);
  159.           delay2(255);
  160.           delay2(255);
  161.           delay2(255);
  162.           delay2(255);
  163.           y--;
  164.           if(y<=7)y=7;
  165.            P0=seg7code[3];
  166.            }
  167.       if(P2_3==0)
  168.       {
  169.          
  170.           if(!P2_3);
  171.           delay2(255);
  172.           delay2(255);
  173.           delay2(255);
  174.           delay2(255);
  175.           P0=seg7code[4];
  176.           if((y<46)&&(y>7))y=+2;
  177.           if((y<157)&&(y>47))y++;
  178.           if(y>=157)y=157;
  179.        }
  180.   }
  181.          
  182. display()
  183. {
  184. bw=speed/100;
  185. sw=speed%100/10;
  186. gw=speed%10;


  187. P2=P2&0x7f; //P2.7 輸出低電平,選通千位數
  188. P3=seg7code[0]; //取出千位數,查表,輸出。
  189. delay2(8); //延時
  190. P2=P2|0xf0; //銷隱
  191. P2=P2&0xbf; //P2.6 輸出低電平,選通百位數
  192. P3=seg7code[bw]; //取出百位數,查表,輸出。
  193. delay2(8); //延時
  194. P2=P2|0xf0; //銷隱
  195. P2=P2&0xdf; //P2.5 輸出低電平,選通十位數
  196. P3=seg7code[sw]; //取出十位數,查表,輸出。
  197. delay2(8); //延時
  198. P2=P2|0xf0; //銷隱
  199. P2=P2&0xef;
  200. P3=seg7code[gw]; //取出個位數,查表,輸出。
  201. delay2(8);
  202. P2=P2|0xf0;



  203. }

復制代碼


所有資料51hei提供下載:
步進電機調速控制系統資料.zip (3.96 MB, 下載次數: 179)



評分

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

查看全部評分

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

使用道具 舉報

沙發
ID:466655 發表于 2019-3-25 14:19 | 只看該作者
好東西  留著收藏
回復

使用道具 舉報

板凳
ID:495408 發表于 2019-3-28 11:03 | 只看該作者
收藏學習 感謝分享
回復

使用道具 舉報

地板
ID:501595 發表于 2019-3-31 12:45 | 只看該作者
謝謝分享。下載學習下 。
回復

使用道具 舉報

5#
ID:431364 發表于 2019-4-3 15:40 | 只看該作者
學習了,謝謝
回復

使用道具 舉報

6#
ID:555767 發表于 2019-6-5 16:43 | 只看該作者
好貼,值得收藏
回復

使用道具 舉報

7#
ID:445367 發表于 2019-7-13 17:37 | 只看該作者
很好,過來學習,資料非常有用
回復

使用道具 舉報

8#
ID:584041 發表于 2019-7-14 20:38 | 只看該作者
請問樓主,s52和c52可以互替嗎?
回復

使用道具 舉報

9#
ID:742209 發表于 2020-5-1 11:09 | 只看該作者
很詳細,易懂,謝謝樓主
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 午夜私人影院 | 日日摸夜夜爽人人添av | 亚洲一区二区视频 | 精品欧美一区二区三区久久久 | 精品一区视频 | 一区二区视频 | 久久久国产一区二区三区 | 中文av在线播放 | 日本久久精品视频 | 日本国产高清 | 天天看天天摸天天操 | 精品九九| 日韩精品一区二区三区第95 | 请别相信他免费喜剧电影在线观看 | 久久久久久国 | 国产一区二区三区日韩 | 91av在线免费看 | 日韩欧美国产综合 | 国产一区二区三区四区 | 国产福利在线 | 日韩精品在线观看视频 | 精品丝袜在线 | 成人国产在线视频 | 日韩欧美理论片 | 色五月激情五月 | 精品欧美一区二区三区久久久 | 91大神在线看 | 亚洲天堂中文字幕 | 毛片免费在线 | 亚洲美女天堂网 | 久久婷婷色 | 亚洲永久| 日日噜噜噜夜夜爽爽狠狠视频, | 视频三区 | 黄色av网站在线免费观看 | 影音先锋成人资源 | 户外露出一区二区三区 | 玖玖色在线视频 | 黄色网址在线免费观看 | 99精品视频一区二区三区 | 91欧美激情一区二区三区成人 |