unsigned char code F_Rotation[4]={0x08,0x10,0x20,0x40}//正虚戚转表格磨谈
unsigned char code B_Rotation[4]={0x40,0x20,0x10,0x08}//反转表格
void Delay(unsigned int i)//延时
{
while(--i)
}
main()
{
while(1)
{
unsigned char i
unsigned int j
for(j=0j<512j++)
{
for(i=0i<4i++) //4相
{
P1=B_Rotation[i] //输出对应的相 可以自行换成反转表格
Delay(500) //改变这个参数可以调整电机转速
}
}
for(j=0j<512j++)
{
for(i=0i<4i++) //4相
{
P1=F_Rotation[i] /差游陵/输出对应的相 可以自行换成反转表格
Delay(500) //改变这个参数可以调整电机转速
}
}
}
}
一、S1为单片机复位开关,按下此开关并释放,单片机从ORG 0000H这一句开始执行命令二、至于步进电机第一步转多少角度,这个应该跟步进电机停止前的状态有关,在编程的时候可以先让步进电机复位一次扰哗念,下次启动之前先查询下步进电机的位置变量就可以了。在实际应用中可以忽略不计,缓困因为步进电机通常要接减速器的,角度一步只有几度,所以不会产生影响
三、Vcc和com端都是步进电机芦唯的两个公共抽头,实际的步进电机这两根也是接电源的
四、以上汇编程序几乎每句都有注释,真的再不好解释了,呵呵
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)