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

標(biāo)題: 單片機(jī)控制步進(jìn)電機(jī)調(diào)速程序+原理圖+實(shí)物照片 [打印本頁(yè)]

作者: dpj555    時(shí)間: 2017-12-10 09:25
標(biāo)題: 單片機(jī)控制步進(jìn)電機(jī)調(diào)速程序+原理圖+實(shí)物照片
步進(jìn)電機(jī)調(diào)速實(shí)驗(yàn)過(guò)程的實(shí)物照片:


電路原理圖如下:


51單片機(jī)源程序如下:
  1. /*完整的C語(yǔ)言程序:*/
  2. #include <reg52.h>  //可用非常成功。
  3. #define uchar unsigned char  
  4. #define uint unsigned int

  5. unsigned char code table1[]={0x03,0x06,0x0c,0x09,0x09,0x0c,0x06,0x03};
  6. //unsigned char code table2[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40};  //共陰數(shù)碼管 0~9
  7. unsigned char code table2[17] = { 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
  8. //0、1、2、3、4、5、6、7、8、9、A、b、C、d、E、F的顯示碼
  9. uchar table_begin;  
  10. uint  maichong;             //脈沖
  11. uchar  zhuansu;             //轉(zhuǎn)速
  12. uchar     flag;                 //方向
  13. sbit key_fuwei=P3^0;   //復(fù)位鍵
  14. sbit key_z=P3^1;            //正轉(zhuǎn)鍵
  15. sbit key_f=P3^2;            //反轉(zhuǎn)鍵
  16. sbit key_jia=P3^3;            //加速鍵
  17. sbit key_jian=P3^6;    //減速鍵

  18. sbit A1=P2^0;
  19. sbit A2=P2^1;
  20. sbit A3=P2^2;
  21. sbit A4=P2^3;
  22. void display();
  23. void delayms(xms);

  24. void delay(uchar x)  
  25. {
  26. uchar i,j;                            //延時(shí)
  27. for(i=0;i<x;i++)   
  28. for(j=100;j>0;j--);
  29. }
  30. void  fuwei(void)  //復(fù)位
  31. {
  32. flag=2;   
  33. zhuansu=0;
  34. }
  35. /*void Display(void)        //顯示
  36. {
  37.         unsigned char b1, b2;
  38.         b1=zhuansu/10;               
  39.         b2=zhuansu%10;
  40.         if(flag == 0)      //0
  41.                 P0=0x71;//顯示F
  42.     else
  43.                 P0=0x79;
  44.         A1=0;                                                         
  45.         delayms(3);
  46.         A1=1;

  47.         P0=0x40;
  48.         A2=0;         //顯示--
  49.         delayms(3);
  50.         A2=1;

  51.         P0=table2[b1];
  52.         A3=0;         //顯示十位
  53.         delayms(3);
  54.         A3=1;

  55.         P0=table2[b2];
  56.         A4=0;
  57.         delayms(3);   //顯示個(gè)位
  58.         A4=1;
  59. } */



  60. void display()   
  61. {  
  62. uchar b1,b2,b3,b4;     
  63. if(flag==0)  
  64.     P0=0x71;//顯示F
  65.     else
  66.     P0=0x79;
  67. if(flag==1)
  68.     P0=0x7c;//顯示b
  69.     else
  70.     P0=0x71;
  71. b1=10;   
  72. b2=0x3f;     
  73. b3=zhuansu/10;   
  74. b4=zhuansu%10;  
  75. //P0=table2;  
  76. A1=0;  //P2.0
  77. delay(1);  
  78. A1=1;  
  79. P0=b2;      
  80. A2=0;   //P2.1   
  81. delay(1);  
  82. A2=1;   
  83. P0=table2[b3];  
  84. A3=0;          //P2.3
  85. delay(1);  
  86. A3=1;   
  87. P0=table2[b4];
  88. A4=0;   //P2.4  
  89. delay(1);  
  90. A4=1;
  91. }
  92.   
  93. void key()                         //按鍵掃描
  94. {  
  95. if(key_fuwei==0)   
  96. {  
  97. delay(5);     
  98. if(key_fuwei==0)     
  99. fuwei();
  100. }  
  101. if(key_z==0)   
  102. {
  103. delay(5);     
  104. if(key_z==0)   
  105. {
  106. flag=0;      
  107. zhuansu=10;      
  108. while(key_z==0);
  109. }
  110. }  
  111. if(key_f==0)   
  112. {  

  113. delay(5);     
  114. if(key_f==0)   
  115. {  
  116. flag=1;      
  117. zhuansu=10;      
  118. while(key_f==0);
  119. }
  120. }   
  121. if(key_jia==0)   
  122. {   
  123. delay(5);     
  124. if(key_jia==0)   
  125. {   
  126. zhuansu++;      
  127. if(zhuansu==21)     
  128. zhuansu=20;      
  129. while(key_jia==0);
  130. }
  131. }  
  132. if(key_jian==0)   
  133. {   
  134. delay(5);     
  135. if(key_jian==0)   
  136. {  
  137. zhuansu--;      
  138. if(zhuansu<=0)     
  139. zhuansu=0;      
  140. while(key_jian==0);
  141. }
  142. }
  143. }
  144. void dispose()  //脈沖函數(shù)
  145. {
  146. switch(zhuansu)  
  147. {

  148. case 0:     flag=2;          break;   
  149. case 1:     maichong=300;    break;   
  150. case 2:     maichong=295;    break;   
  151. case 3:     maichong=290;    break;   
  152. case 4:     maichong=280;    break;   
  153. case 5:     maichong=260;    break;   
  154. case 6:     maichong=240;    break;   
  155. case 7:     maichong=200;    break;   
  156. case 8:     maichong=180;    break;   
  157. case 9:     maichong=160;    break;   
  158. case 10:    maichong=120;    break;   
  159. case 11:    maichong=80;    break;   
  160. case 12:    maichong=70;    break;   
  161. case 13:    maichong=60;    break;   
  162. case 14:    maichong=40;    break;   
  163. case 15:    maichong=35;    break;   
  164. case 16:    maichong=30;    break;   
  165. case 17:    maichong=25;     break;   
  166. case 18:    maichong=20;     break;   
  167. case 19:    maichong=15;     break;   
  168. case 20:    maichong=10;     break;

  169. }  
  170. if(flag==0)   
  171. table_begin=0;  
  172. else   
  173. if(flag==1)     
  174. table_begin=4;
  175. }
  176. void zhuandong(void)
  177. {
  178. uint i,j;   
  179. if(zhuansu>0&&zhuansu<=20)   
  180. {
  181. for(j=0+table_begin;j<4+table_begin;j++)   
  182. {
  183. P1=table1[j];     
  184. for(i=0;i<maichong;i++)     
  185. display();
  186. }
  187. }
  188. }  
  189. ……………………

  190. …………限于本文篇幅 余下代碼請(qǐng)從51黑下載附件…………
復(fù)制代碼
程序包,供需要者下載參考
所有資料51hei提供下載:
步進(jìn)電機(jī)調(diào)速 數(shù)碼.rar (164.47 KB, 下載次數(shù): 700)



作者: 楓曳紅    時(shí)間: 2017-12-31 15:35
那個(gè)數(shù)碼管顯示的是轉(zhuǎn)速嘛?
作者: 狗熊不愛(ài)吃玉米    時(shí)間: 2018-1-3 16:49
學(xué)習(xí)一下,謝謝分享
作者: 15677446238    時(shí)間: 2018-1-3 17:38
這轉(zhuǎn)速好
作者: 孫小偉    時(shí)間: 2018-5-2 15:56
我的怎么不轉(zhuǎn)
作者: 卡卡123    時(shí)間: 2018-5-3 10:06
那個(gè)數(shù)碼管顯示的是轉(zhuǎn)速嘛
作者: david_long    時(shí)間: 2018-5-8 16:30

學(xué)習(xí)一下,謝謝分享
作者: 19082663    時(shí)間: 2018-5-22 18:27
能變速,學(xué)習(xí)下
作者: wy1996    時(shí)間: 2018-6-19 15:45
大佬可以發(fā)下后面的程序嗎

作者: wy1996    時(shí)間: 2018-6-21 12:04
問(wèn)一下為什么會(huì)出現(xiàn)步進(jìn)電機(jī)只振動(dòng),不轉(zhuǎn)動(dòng)的情況

作者: 莫德?tīng)?nbsp;   時(shí)間: 2018-8-17 11:53
你這個(gè)電機(jī)的驅(qū)動(dòng)引腳怎么找不到  而且沒(méi)有對(duì)應(yīng)的電機(jī)驅(qū)動(dòng)函數(shù)  在一定范圍內(nèi)轉(zhuǎn)  
作者: funstarguo    時(shí)間: 2018-8-19 17:37
而且沒(méi)有對(duì)應(yīng)的電機(jī)驅(qū)動(dòng)函數(shù)  在一定范圍內(nèi)轉(zhuǎn)  
作者: 莫德?tīng)?nbsp;   時(shí)間: 2018-8-23 09:08
你這個(gè)是不是有點(diǎn)問(wèn)題   我為什么看不到你的電機(jī)轉(zhuǎn)動(dòng)函數(shù)   你的那個(gè)轉(zhuǎn)動(dòng)函數(shù)你沒(méi)有認(rèn)真看嗎  電機(jī)怎么可能會(huì)轉(zhuǎn)  
作者: 小小斑鳩    時(shí)間: 2018-8-23 13:41
請(qǐng)問(wèn),42步進(jìn)電機(jī)的線該怎么連接呢
作者: 億海拾貝    時(shí)間: 2018-8-27 12:10
樓主,我也想學(xué)彈片控制步進(jìn)電機(jī),學(xué)習(xí)借鑒你的程序。謝謝啦
作者: yaofang8010    時(shí)間: 2018-9-28 08:54
謝謝分享
作者: TY188    時(shí)間: 2018-11-20 07:49
棒。厲害
作者: qibulin    時(shí)間: 2018-11-20 08:55

謝謝分享
作者: ssk7793    時(shí)間: 2018-11-20 10:23
wy1996 發(fā)表于 2018-6-21 12:04
問(wèn)一下為什么會(huì)出現(xiàn)步進(jìn)電機(jī)只振動(dòng),不轉(zhuǎn)動(dòng)的情況

代碼無(wú)誤的情況下,你看看是不是供電不足的原因。電機(jī)最好單獨(dú)供電。
作者: qibulin    時(shí)間: 2018-11-21 08:00
很好的代碼
作者: 布丁不想打補(bǔ)丁    時(shí)間: 2018-11-21 17:55
這個(gè)需要自己畫(huà)原理圖嗎?

作者: 羽愈    時(shí)間: 2018-11-22 07:52
可以分享下做好的仿真程序嗎?
作者: qibulin    時(shí)間: 2018-11-22 11:52
剛來(lái)~學(xué)習(xí)下
作者: qibulin    時(shí)間: 2018-12-11 13:51

可以分享下做好的仿真程序嗎?
作者: 千鳥(niǎo)吧007    時(shí)間: 2018-12-24 15:52


可以分享下做好的仿真程序嗎?
作者: mijit    時(shí)間: 2019-2-3 23:57
謝謝樓主
作者: bo115891    時(shí)間: 2019-2-22 10:56
so good
作者: 85464684321    時(shí)間: 2019-3-14 14:18
學(xué)習(xí)一下,謝謝分享
作者: 彭澤陽(yáng)    時(shí)間: 2019-3-14 22:29
很有用
作者: 249449417@qq.co    時(shí)間: 2019-3-27 09:23
你這個(gè)電機(jī)的驅(qū)動(dòng)引腳沒(méi)有定義
作者: 一條閑魚(yú)    時(shí)間: 2019-4-3 18:54
249449417@qq.co 發(fā)表于 2019-3-27 09:23
你這個(gè)電機(jī)的驅(qū)動(dòng)引腳沒(méi)有定義

他這個(gè)是proteus的么?我打不開(kāi)啊
作者: anlaysen    時(shí)間: 2019-4-20 11:38
看起來(lái)有點(diǎn)像郭天祥那個(gè)例程,改了一些
作者: mobicity    時(shí)間: 2019-5-3 09:22
學(xué)習(xí)一下,謝謝分享
作者: chenjian2016    時(shí)間: 2019-5-3 20:20
非常感謝樓主大大的經(jīng)驗(yàn)分享
作者: sjh1234    時(shí)間: 2019-5-27 11:28
感謝分享
作者: asdfq    時(shí)間: 2019-5-27 12:31
贊一個(gè),學(xué)習(xí)下
作者: zyb6597268    時(shí)間: 2019-5-27 13:17
很好,實(shí)用
作者: 徐洋    時(shí)間: 2019-7-19 16:53
樓主為什么程序下載到我的單片機(jī)里,電機(jī)不轉(zhuǎn),沒(méi)反應(yīng),而且電機(jī)會(huì)發(fā)熱
作者: 余溫123    時(shí)間: 2019-12-13 15:04
qibulin 發(fā)表于 2018-12-11 13:51
可以分享下做好的仿真程序嗎?

我也需要這個(gè),你有嗎
作者: 余溫123    時(shí)間: 2019-12-13 15:04
需要源代碼和hex 文件,謝謝樓主了
作者: bbcs852    時(shí)間: 2020-3-20 05:50
正在學(xué)習(xí)不進(jìn)馬達(dá)低速控制
作者: hmgqljz111    時(shí)間: 2020-3-20 10:15
幾線幾相的控制程序
作者: 15297881785    時(shí)間: 2020-4-19 14:56
為什么電機(jī)不轉(zhuǎn)啊,誰(shuí)有仿真好的
作者: bbcs852    時(shí)間: 2020-5-1 06:06
我重新做了一遍proteus仿真程序,發(fā)現(xiàn)只轉(zhuǎn)45度就停了,按鍵引腳與程序不符合,我用ULN2003A接到P1^0,P1^1,P1^2,P1^3,再接步進(jìn)馬達(dá),可以正常轉(zhuǎn)動(dòng),調(diào)速,正反轉(zhuǎn)操作
作者: 2807563724    時(shí)間: 2020-7-12 22:48
楓曳紅 發(fā)表于 2017-12-31 15:35
那個(gè)數(shù)碼管顯示的是轉(zhuǎn)速嘛?

應(yīng)該是吧




歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 福利视频亚洲 | 精品久久久久一区 | 蜜桃av一区二区三区 | 国产一区二区视频免费在线观看 | 99久久婷婷国产精品综合 | 亚洲一区二区三区在线观看免费 | 久久精品国产99国产精品 | 羞羞羞视频 | 亚洲精品久 | a级免费视频 | 亚洲免费在线观看视频 | 欧美久久久久久久久中文字幕 | 夜夜爽99久久国产综合精品女不卡 | 国产午夜精品久久久 | 日韩欧美一级 | 午夜精品久久久久久久久久久久久 | 成人免费在线 | 日韩av在线中文字幕 | 国产欧美视频一区 | 日本 欧美 三级 高清 视频 | 久久av综合 | 国产精品黄色 | 午夜欧美一区二区三区在线播放 | 毛片网站在线观看 | 视频一区二区在线观看 | 亚洲国产一区二区三区四区 | 中文字幕亚洲区 | 亚洲国产中文字幕 | 91久久国产综合久久 | 国产美女一区二区 | 免费九九视频 | 欧美日韩18 | 伊人二区 | 污视频在线免费观看 | 国产成在线观看免费视频 | 精品国产乱码久久久久久丨区2区 | 亚洲久久久 | 四虎最新视频 | 美女爽到呻吟久久久久 | 亚洲精品免费在线观看 | 一区二区三区四区在线视频 |