本人近幾天學習51單片機驅動步進電機成果,通過按鍵控制兩個電機正反轉,其中按鍵有單按,雙擊,長按的功能(無控制加速減速)。
以下是部分代碼
#include <config.h>
#include <motor.h>
void main()
{
unsigned char keyvalue;
int a = 0;
int i = 0;
while(1)
{
keyvalue = key_multi();
if(keyvalue == Key1_Single_Click) {}
if(keyvalue == Key1_Double_Click) {}
if(keyvalue == Key1_Long_Click)
{
up_1();
delayms(500);
up_1();
delayms(500);
do_1();
delayms(500);
do_1();
delayms(500);
}
if(keyvalue == Key2_Single_Click) {}
if(keyvalue == Key2_Double_Click) {}
if(keyvalue == Key2_Long_Click)
{up_2();
a++;
}
if(keyvalue == Key3_Single_Click) {}
if(keyvalue == Key3_Double_Click) {}
if(keyvalue == Key3_Long_Click)
{do_2();
a--;
}
if(keyvalue == Key4_Single_Click)
{
if (a % 2 == 0) {//偶數
do_3();
} else { //奇數
up_3();
}
for(i = 0;i<=100;i++){
up_1();
delayms(500);
up_1();
delayms(500);
do_1();
delayms(500);
do_1();
delayms(500);}
}
if(keyvalue == Key4_Double_Click) {}
if(keyvalue == Key4_Long_Click) {}
delayms(10);
}
}
原理圖: 無
仿真: 無
代碼:
控制步進電機.zip
(40.38 KB, 下載次數: 16)
2024-1-28 20:29 上傳
點擊文件名下載附件
按鍵控制步進電機 下載積分: 黑幣 -5
|