📄 at892051控制步进电机程序.txt
字号:
# include<AT892051.H>
# include<intrins.h>
# include<absacc.h>
sbit MA1=p1^4;
sbit MA2=p1^5;
sbit MA1=p1^2;
sbit MA2=p1^3;
//*************************
//********延时n*10ms
//*************************
void delay1ms(unsigned char time)
{ unsigned char i;
unsigned int j;
for(i=0;i<time;i++)
{ for(j=0;j<0x39;j++)
{ _nop_();
_nop_();
_nop_();
}
}
}
//第一相控制
void motor1(unsigned char flag)
{ switch(flag)
{ case 1: //正转
{ MA1=0;
MA2=1;
break;
}
case 2: //反转
{ MA1=1;
MA2=0;
break;
}
case 3: //停止
{
MA1=0;
MA2=0;
break;
}
case 4: //制动
{ MA1=1;
MA2=1;
break;
}
default:
break;
}
}
//第二相控制
void motor2(unsigned char flag)
{ switch(flag)
{ case 1: //正转
{ MA1=0;
MA2=1;
break;
}
case 2: //反转
{ MA1=1;
MA2=0;
break;
}
case 3: //停止
{ MA1=0;
MA2=0;
break;
}
case 4: //制动
{ MA1=1;
MA2=1;
break;
}
default:
break;
}
}
void main ( )
{
unsigned char k;
unsigned char idata stepa[8]={4,2,2,2,4,1,1,1};
unsigned char idata stepb[8]={2,2,4,1,1,1,4,2};
for(k=0;k<8;k++)
{ motor1(stepa[k];
motor2(stepb[k];
delay1ms;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -