欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: 51單片機+ULN2003驅動5V減速步進電機程序 [打印本頁]

作者: a2966979866    時間: 2018-6-29 16:40
標題: 51單片機+ULN2003驅動5V減速步進電機程序
51單片機      步進電機
  1. /*******************************************************
  2. ULN2003驅動5V減速步進電機程序
  3. Target:STC89C52RC-40C
  4. Crystal:12MHz
  5. Author:戰神單片機工作室
  6. Platform:51&avr單片機最小系統板+ULN2003步進電機驅動套件
  7. *******************************************************
  8. 接線方式:
  9. IN1 ---- P00
  10. IN2 ---- P01
  11. IN3 ---- P02
  12. IN4 ---- P03
  13. +   ---- +5V
  14. -   ---- GND
  15. *********************/
  16. #include<reg52.h>
  17. #define uchar unsigned char
  18. #define uint  unsigned int
  19. #define MotorData P0                    //步進電機控制接口定義
  20. uchar phasecw[4] ={0x08,0x04,0x02,0x01};//正轉 電機導通相序 D-C-B-A
  21. uchar phaseccw[4]={0x01,0x02,0x04,0x08};//反轉 電機導通相序 A-B-C-D
  22. sbit key1 = P1^0;
  23. sbit key2 = P1^1;
  24. //ms延時函數
  25. void Delay_xms(uint x)
  26. {
  27. uint i,j;
  28. for(i=0;i<x;i++)
  29.   for(j=0;j<112;j++);
  30. }
  31. //順時針轉動
  32. void MotorCW(void)
  33. {
  34. uchar i;
  35. for(i=0;i<4;i++)
  36.   {
  37.    MotorData=phasecw[i];
  38.    Delay_xms(4);//轉速調節
  39.   }
  40. }
  41. //逆時針轉動
  42. void MotorCCW(void)
  43. {
  44. uchar i;
  45. for(i=0;i<4;i++)
  46.   {
  47.    MotorData=phaseccw[i];
  48.    Delay_xms(4);//轉速調節
  49.   }
  50. }
  51. //停止轉動
  52. void MotorStop(void)
  53. {
  54. MotorData=0x00;
  55. }
  56. //主函數
  57. void main(void)
  58. {
  59. uint i;
  60. Delay_xms(50);//等待系統穩定
  61. while(1)
  62. {
  63.         if(key2 == 1)
  64.         {
  65.                 for(i=0;i<20;i++)
  66.                 {
  67.                         MotorCW();   //順時針轉動
  68.                 }
  69.                             MotorStop();  //停止轉動
  70.             Delay_xms(500);
  71.                  
  72.                
  73.         }

  74.   else if(key1 == 0)
  75.   {
  76.         for(i=0;i<20;i++)
  77.         {
  78.            MotorCCW();  //逆時針轉動
  79.         }
  80.                     MotorStop();  //停止轉動
  81.             Delay_xms(500);
  82.           
  83.   }
  84.   else
  85.   {
  86.            MotorStop();  //停止轉動
  87.             Delay_xms(500);
  88.   }
  89.   // MotorStop();  //停止轉動
  90. //  Delay_xms(500);  
  91.           
  92. }

  93. }
復制代碼


c51.zip

30.2 KB, 下載次數: 131, 下載積分: 黑幣 -5


作者: stkh    時間: 2018-6-29 21:03
復制學習下
作者: g08970    時間: 2018-11-5 20:35
剛剛接觸單片機 努力學習中
作者: zwh13933186575    時間: 2019-9-4 08:32
感謝樓主分享
作者: ZHX193    時間: 2019-12-24 11:27
學習到很多
作者: pcbboy    時間: 2019-12-25 10:54
觀摩一下,短小精悍的程序,適合測試步進馬達。不錯!
作者: dullbear    時間: 2020-1-7 14:04
新手學習中
作者: dullbear    時間: 2020-1-8 22:00
不知道什么原因 接上了燈亮 然后震動 不轉 后來調了延時 看了下 越來p1.0和p1.1順序反了 可是明明接線對啊 哪位大神知道問什么么 我把這兩根線對調一下 結果就正常了
作者: zhanlang111    時間: 2020-4-20 17:55
dullbear 發表于 2020-1-8 22:00
不知道什么原因 接上了燈亮 然后震動 不轉 后來調了延時 看了下 越來p1.0和p1.1順序反了 可是明明接線對啊  ...

應該是接p00-p03啊你怎么接p1.0和1.1
作者: xiaoxiaoyang    時間: 2020-6-14 10:16
這個程序延時怎么調整呀




歡迎光臨 (http://www.raoushi.com/bbs/) Powered by Discuz! X3.1