標(biāo)題:
單片機(jī)驅(qū)動光驅(qū)步進(jìn)電機(jī)只響不動 附代碼
[打印本頁]
作者:
后面新來的
時間:
2019-4-26 23:09
標(biāo)題:
單片機(jī)驅(qū)動光驅(qū)步進(jìn)電機(jī)只響不動 附代碼
麻煩各位大蝦幫我看看光驅(qū)步進(jìn)電機(jī)為什么只響不動,下面是完整的程序。
IMG_20190426_225856.jpg
(5.1 MB, 下載次數(shù): 45)
下載附件
2019-4-26 23:03 上傳
單片機(jī)源程序如下:
#include<reg52.h>
#define GPIO_MOTOR P1
sbit K1=P3^2;
sbit K2=P3^3;
sbit K3=P3^4;
sbit K4=P3^5;
sbit a0=P1^0;
sbit a1=P1^1;
sbit b0=P1^3;
sbit b1=P1^4;
void right(unsigned int y);
void left(unsigned int x);
void Delay(unsigned int t);
unsigned char Direction,Speed;
void motor();
void main(void)
{
unsigned char i;
Speed=5;
while(1)
{
if(K1==0)
{
Delay(50);
if(K1==0)
{
Direction=1;
}
while((i<200)&&(K1==0))
{
Delay(10);
i++;
}
i=0;
}
if(K2==0)
{
Delay(50);
if(K2==0)
{
Direction=2;
}
while((i<200)&&(K2==0))
{
Delay(10);
i++;
}
i=0;
}
if(K3==0)
{
Delay(100);
if(K3==0)
{
Speed--;
if(Speed<=3)
Speed=4;
}
while((i<200)&&(K2==0))
{
Delay(10);
i++;
}
i=0;
}
if(K4==0)
{
Delay(100);
if(K4==0)
{
Speed++;
}
while((i<200)&&(K4==0))
{
Delay(10);
i++;
}
i=0;
}
motor();
}
}
void motor()
{
if(Direction==1)
{
a0=0;
a1=1;
b0=1;
b1=1;
Delay(Speed);
a0=1;
a1=0;
b0=1;
b1=1;
Delay(Speed);
a0=1;
a1=1;
b0=0;
b1=1;
Delay(Speed);
a0=1;
a1=1;
b0=1;
b1=0;
Delay(Speed);
}
if(Direction==2)
{
a0=1;
a1=1;
b0=1;
b1=0;
Delay(Speed);
a0=1;
a1=1;
b0=0;
b1=1;
Delay(Speed);
a0=1;
a1=0;
b0=1;
b1=1;
Delay(Speed);
a0=0;
a1=1;
b0=1;
b1=1;
Delay(Speed);
}
}
void Delay(unsigned int t)
{
unsigned int k;
while(t--)
{
for(k=0; k<70; k++)
{ }
}
}
復(fù)制代碼
作者:
qinhfm
時間:
2019-4-27 08:47
你在 a0=1;
a1=1;
b0=1;
b1=0;。。。。各行加入延時。
作者:
趙工程師
時間:
2019-4-27 11:04
1.可能電流不足
2.電機(jī)接錯相
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1