单片机接控制步进电机的程序 很简单的 过来看看吧

2025-02-25 18:15:56
推荐回答(5个)
回答1:

跳出循环了,执行了循环外的printf语句,说明不是循环问题,经分析,在最后一次跳出循环时,sp = 1,说明P1^2在循环出来后一直是高电平,肯定一直工作啊,你跳出循环应该将P1^2置0

回答2:

有2个问题:1,ZD-6209-V2C输入端要求5mA的电流,不知你用的是哪种单片机,如果是89C52单片机的准双向IO是不能提供这个电流的;
2,你的程序没有跳出循环,我认为应该是if(a==100)break;另外break之后如果没有执行其它程序是否会返回main,请留意一下你的编译器。

回答3:

主函数改一下就可以了

void main()
{
a=0;
while(1)
{
if(a < 100)
{

sp=0;
delay(10);
sp=1;
delay(10);
a++;
}
}
}

回答4:

把break改为while(1)试下,,当a=100,时,让程序停在那里。。如果你用break,当a=100时,程序退出去了,这时单片机不知道该干什么事了,所以他有可能又再次进入主函数运行,就一直转了,

回答5:

这个程序肯定不会停止。你改成 if(a==100)while(1);