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;
}
}
据说改一下代码,不管什么指令集都能驱。
楼上说的非常准确。
{:5_118:}谢谢分享。
页:
[1]