|
本帖最后由 召喚師 于 2020-4-11 13:43 編輯
#include<reg52.h>
unsigned char beatcode[]={0xe,0xc,0xd,0x9,0xb,0x3,0x7,0x6}; //步進(jìn)電機(jī)控制時(shí)序
void delay();
unsigned char temp;
unsigned char index=0;
unsigned long j=0;
unsigned int n=2;//轉(zhuǎn)動(dòng)圈數(shù)
int main(){
while(n!=0){
temp=P1; //p1口低四位控制步進(jìn)電機(jī)
temp=temp&0xF0;
temp=temp|beatcode[index];
P1=temp;
index++;
j++;
delay();
if(index==7)
{
index=0;
}
if(j==(n*4096)) //4096是轉(zhuǎn)動(dòng)一圈的脈沖數(shù)
{
n=0;
}
}
P1=P1|0x0f; //關(guān)閉電機(jī)所有相
return 0;
}
void delay(){
unsigned int i=200;
while(i--);
}
用這個(gè)程序就是電機(jī)會(huì)一直轉(zhuǎn),不會(huì)按設(shè)定的兩圈去停止。
|
|