|
請各位大佬幫我看下這個程序怎么柔和,謝謝!
本人新學的單片機,想著一邊實踐一邊學習,我找了一個萬年歷的程序,可以正常使用了,又找了一個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函數時它又是只有步進電機轉而不顯示萬年歷了,請大神幫我看下問題出在哪里,怎么可以弄好,謝謝。
|
-
-
程序.7z
2023-4-3 22:37 上傳
點擊文件名下載附件
34.87 KB, 下載次數: 6
|