|
#include<reg52.h>
#define uint unsigned int
#define uchar unsigned char //------8拍-----
uchar code zz[]={0x01,0x03,0x02,0x06,0x04,0x0c,0x08,0x09}; //正轉
uchar code fz[]={0x09,0x08,0x0c,0x04,0x06,0x02,0x03,0x01}; //反轉
void delay(uint ms)
{ uint t;
while(ms--)
for(t=0;t<120;t++);
}
void motor_zz(uint n)
{ uint i,j;
for(i=0;i<5*n;i++)
{ if(P3==0xfb)
break;
for(j=0;j<8;j++)
{
P1=zz[j];
delay(20);
}
}
}
void motor_fz(uint n)
{ uint i,j;
for(i=0;i<5*n;i++)
{ if(P3==0xfb)
break;
for(j=0;j<8;j++)
{
P1=fz[j];
delay(20);
}
}
}
void main()
{
uint N=2;
while(1)
{
P3=0xff;
if(P3==0xfe)
{
while(P3==0xfe);
P0=0xfe;
motor_zz(N);
if(P3==0xfb)
break;
}
else if(P3==0xfd)
{
while(P3==0xfd);
P0=0xfd;
motor_fz(N);
if(P3==0xfb)
break;
}
else
{
P0=0xfb;
P1=0x03;
}
}
}
|
-
控制.PNG
(26.95 KB, 下載次數: 110)
下載附件
2020-3-7 15:33 上傳
控制部分
-
步進電機.PNG
(37.06 KB, 下載次數: 129)
下載附件
2020-3-7 15:33 上傳
電機及部分
|