求单片机AT89C52控制步进电机的程序 谢谢! 要C语言的

求单片机AT89C52控制步进电机的程序 谢谢! 要C语言的,第1张

#include <reg52.h>

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端都是步进电机芦唯的两个公共抽头,实际的步进电机这两根也是接电源的

四、以上汇编程序几乎每句都有注释,真的再不好解释了,呵呵


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/12358434.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存