51单片机控制二相四线步进电机程序

八步,能控制启动、停止,计算步数,到达一定步数后能够停止,拜托了!

#include<reg52.h> //头文件

sbit A1=P1^0; //定义A线圈正端口
sbit A2=P1^1; //定义A线圈负端口
sbit B1=P1^2; //定义B线圈正端口
sbit B2=P1^3; //定义B线圈负端口
sbit en1=P2^0;
sbit en2=P2^1;
int t=0;
#define F1 {A1=1;B1=0;A2=0;B2=0;} //A线圈通正向电压
#define F2 {A1=0;B1=1;A2=0;B2=0;} //B线圈通正向电压
#define F3 {A1=0;B1=0;A2=1;B2=0;} //A线圈通反向电压
#define F4 {A1=0;B1=0;A2=0;B2=1;} //B线圈通反向电压
#define OFF {A1=0;B1=0;A2=0;B2=0;} //全部断电

unsigned int b=2000; //中断初值变量

void Init_Timer0(void) //初始化定时器0
{
TMOD=0x01; //定时器0,使用模式1,16位定时器
TH0=(65536-b)/256; //给定初值
TL0=(65536-b)%256;
EA=1; //打开总中断
ET0=1; //打开定时器中断
TR0=1; //开定时器
}

void main() //主函数
{
en1=1;
en2=1;
Init_Timer0(); //初始化定时器0
while(1);

}追问

运行了一下,电机动不了,程序不完整吧,我尝试改改,不行再找你;真诚感谢。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-03-02
需要给你完成一份吗追问

加q详谈?

追答

好的

相似回答