XOR 发表于 2017-11-19 14:18:16

基于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();













}

}



Kuni7wa 发表于 2017-11-20 14:21:59

还可以,666

星期零 发表于 2017-11-20 23:32:08

虽然菜鸟用不到,但还是666

地图 发表于 2017-11-21 09:02:31

这个应该和以前那个不一样的吧。

主人 发表于 2017-11-21 15:39:16

地图 发表于 2017-11-21 09:02
这个应该和以前那个不一样的吧。

结构都不一样,当然不能兼容的啊!!

demon 发表于 2017-11-23 04:59:25

谢谢分享。
页: [1]
查看完整版本: 基于C51系列指令集的2相4线步进电机驱动程序源码