XOR 发表于 2017-11-3 10:27:27

28BYJ-48系列步进电机自动正反转驱动程序源码 - 兼容c51任意型号



#include "reg51.h"
#include "intrins.h"
bit a=1;
//八拍方式驱动,顺序为A AB B BC C CD D DA
//P2.0~P2.3连接步进电机驱动板的4根线
unsigned char code clockWise[]={0x01,0x03,0x02,0x06,0x04,0x0c,0x08,0x09};
void delay2441us()                //@12MHz
{
      unsigned char i, j;

      _nop_();
      _nop_();
      i = 29;
      j = 122;
      do
      {
                while (--j);
      } while (--i);
}

void delay1000ms()                //@12MHz
{
      unsigned char i, j, k;

      i = 46;
      j = 153;
      k = 245;
      do
      {
                do
                {
                        while (--k);
                } while (--j);
      } while (--i);
}


void main()
{
unsigned int j=0;
unsigned char i;
while(1)
{
for(j=0;j<512;j++){
if(a==0){
for(i=0;i<8;i++)
{
P2=clockWise;
delay2441us();
}
} else {
for(i=0;i<8;i++)
{
P2=clockWise;
delay2441us();
}
}


}
P2=0x00;
delay1000ms();
a=~a;
}
}





主人 发表于 2017-11-3 12:31:55

据说改一下代码,不管什么指令集都能驱。

程序猿 发表于 2017-11-3 14:52:15

楼上说的非常准确。

demon 发表于 2017-11-3 19:18:23

{:5_118:}谢谢分享。
页: [1]
查看完整版本: 28BYJ-48系列步进电机自动正反转驱动程序源码 - 兼容c51任意型号