① 5線4相步進電機如何應用51單片機實現單步運轉,求C程序(用ULN2003控制電機)
#include <reg52.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
//sbit key1=P1^4;
void delay(uint z);
unsigned char code RUN[]={0x01,0x03,0x02,0x06,0x04,0x0c,0x08,0x09};
unsigned char code BACK[]={0x09,0x08,0x0c,0x04,0x06,0x02,0x03,0x01};
void BACK_motor()/肆滾/反轉子程序
{
uchar j;
for(j=0;j<8;j++)
{
P0=BACK[j];
delay(2);
}
}
void RUN_motor()//正轉子程序
{
uchar i;
for(i=0;i<8;i++)//旋轉帶亂一周 內部旋轉一裂行余周
{
P0=RUN[i];
delay(2);
}
}
void main()
{
while(1)
{
RUN_motor();
}
}
void delay(uint z)
{
uint x,y;
for(x=z;x>0;x--)
for(y=950;y>0;y--);
}
我用的12C60S2控制,L298驅動的,你用2003,是一樣的,參考下吧
② 單片機程序 單步執行可以 直接運行不可以
需要時間等待,單步的時候程序運行時間很充裕,直接運行就不一樣了,你在程序的需要等待語句間加wait函數