登录|立即注册|使用QQ帐号登录
论坛 > 51单片机
发帖|
看4246|回1|收藏
楼主 ID:426618 只看他
2018-12-4 22:32
51单片机驱动步进电机,采用八拍供电,可分别实现角度控制,方向控制,圈数控制

制作出来的实物图如下:
IMG_20181120_103554.jpg

单片机源码:

代码:

  1. #include <reg51.h>      
  2. #define uchar unsigned char
  3. #define uint  unsigned int
  4. uchar code zz[8]={0xfc,0xf8,0xf9,0xf1,0xf3,0xf2,0xf6,0xf4};
  5. uchar code fz[8]={0xf4,0xf6,0xf2,0xf3,0xf1,0xf9,0xf8,0xfc};
  6.    
  7. void delay(uint z)
  8. {
  9.         uint x,y;
  10.         for(x = z; x > 0; x--)
  11.                 for(y = 120; y > 0 ; y--);
  12. }

  13. void  motor_zz()
  14. {
  15.            uchar i;                    
  16.            for (i=0; i<8; i++)        
  17.         {
  18.           P1 = zz[ i ];              
  19.           delay(1);                 
  20.         }
  21. }

  22. void  motor_fz()
  23. {
  24.      uchar i;                  
  25.      for (i=0; i<8; i++)            
  26.         {
  27.           P1 = fz[ i ];                    
  28.           delay(1);                    
  29.         }   
  30. }
  31.                                                                                                    
  32. void main()
  33. {
  34.            uint a,b,N1,N2;  
  35.         N1=512;
  36.         N2=512;            
  37.     for(a=0;a<N1;a++)                        
  38.         {
  39.                        motor_zz();
  40.                  }
  41.         delay(1000);
  42.           for(b=0;b<N2;b++)
  43.              {
  44.                            motor_fz();            
  45.              }
  46.         delay(1000);
  47.         P1=0xff;
  48.         while(1);
  49. }


沙发 ID:687125 只看他
2020-3-3 10:19
学习一下,谢谢

51黑电子论坛

Powered by Discuz! X3.1

首页|标准版|触屏版|电脑版