|
请各位大佬帮我看下这个程序怎么柔和,谢谢!
本人新学的单片机,想着一边实践一边学习,我找了一个万年历的程序,可以正常使用了,又找了一个42步进电机的驱动也可以正常使用的。
现在我想把这两个程序弄在一起,就是万年历显示的同时让步进电机也转起来。
因为原来是两个程序所以有两个MIAN函数,我现在弄在一起之后像下面这样:
#include "public.h"
#include "calendar.h"
#include "motor.h"
void delay(unsigned int x) // 延时函数
{
unsigned int i,j;
for(i=x;i>0;i--)
{
for(j=110;j>0;j--);
}
}
void main()
{
calendar_test();
while(1)
{
}
}
int motor()
{
while(1)
{
Z = 1; // 阶段1:开启A相
delay(50); // 延时
Z = 0; // 阶段2:关闭A相
M = 1; // 阶段3:开启B相
delay(50); // 延时
M = 0; // 阶段4:关闭B相
N = 1; // 阶段5:开启C相
delay(50); // 延时
N = 0; // 阶段6:关闭C相
L = 1; // 阶段7:开启D相
delay(50); // 延时
L = 0; // 阶段8:关闭D相
}
return 0;
}
编译是没有错的,但是它只显示万年历,步进电机不转,我把int motor改为intmain上面的viod main随便改个字母实现唯一main函数时它又是只有步进电机转而不显示万年历了,请大神帮我看下问题出在哪里,怎么可以弄好,谢谢。
|
|