基于C51系列指令集的2相4线步进电机驱动程序源码
#include "stc12c5a60s2.h"
#include "intrins.h"
//P1.0~P1.3连接步进电机驱动板的4根线
//若不转可适当调整晶振频率,或者检查驱动板供电功率是否充足。
unsigned char code clockWise[]={8,10,2,6,4,5,1,9};
void delay() //@6MHz
{
unsigned char i, j;
_nop_();
i = 11;
j = 190;
do
{
while (--j);
} while (--i);
}
void Delay500ms() //@6MHz
{
unsigned char i, j, k;
i = 22;
j = 3;
k = 227;
do
{
do
{
while (--k);
} while (--j);
} while (--i);
}
void main()
{
unsigned int j=0;
P1M0=0xFF;
P1M1=0x00;
while(1)
{
for(j=0;j<116;j++){ //步进电机滑轨有多长,这里的116改多少。
P1=clockWise<<4;delay();
P1=clockWise<<4;delay();
P1=clockWise<<4;delay();
P1=clockWise<<4;delay();
P1=clockWise<<4;delay();
P1=clockWise<<4;delay();
P1=clockWise<<4;delay();
P1=clockWise<<4;delay();
}
Delay500ms();
for(j=0;j<116;j++){
P1=clockWise<<4;delay();
P1=clockWise<<4;delay();
P1=clockWise<<4;delay();
P1=clockWise<<4;delay();
P1=clockWise<<4;delay();
P1=clockWise<<4;delay();
P1=clockWise<<4;delay();
P1=clockWise<<4;delay();
}
Delay500ms();
}
}
还可以,666
虽然菜鸟用不到,但还是666
这个应该和以前那个不一样的吧。
地图 发表于 2017-11-21 09:02
这个应该和以前那个不一样的吧。
结构都不一样,当然不能兼容的啊!!
谢谢分享。
页:
[1]