标题:
12BYJ步进电机单片机驱动程序,(可以调旋转圈数)
[打印本页]
作者:
nius
时间:
2015-4-10 02:36
标题:
12BYJ步进电机单片机驱动程序,(可以调旋转圈数)
#include<reg51.h>
void Circle_The_Number(unsigned long Number )
{
static bit a=0;
static unsigned long Num2=0;
Num2=Number*4076;
while(a==0)
{
unsigned char code BYJ[8]={0x07,0x03,0x0b,0x09,0x0d,0x0c,0x0e,0x06};
static unsigned char Num1=0;
unsigned int i;
unsigned char Save;
if(Num2<=0)
{
a=1;
}
Save=P1;
Save=Save&0xf0;
Save=Save|BYJ[Num1];
P1=Save;
Num1++;
Num1=Num1&0x07;
for(i=200;i>0;i--);
Num2--;
}
}
void main()
{
while(1)
{
Circle_The_Number(30);
}
}
转动圈数在Circle_The_Number(30);调现在设定的是转30圈也可以改为2000圈或0~4,294,967,295圈之间选择
因为C语言unsigned long类型计算的最大范围是0~4,294,967,295
厂家给出的资料是如果需要转动1圈 ,
那么需要360/5.625*64=4096个脉冲信号。
但是实际测得有误差大概是每转100圈有半圈的误差,所以说:
如果需要转动1圈 ,
那么需要4076个脉冲信号。
作者:
6ningning
时间:
2015-4-12 14:06
参考参考。
作者:
GUOXUAN
时间:
2018-8-24 12:04
东西不错,就是我底子差,看不太懂~
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1