怎样用51单片机接两相步进电机驱动器来控制步进电机?
刚接触硬件,想做一个小东西来玩的。请各位大仙帮帮忙,能有带注释的源码最好。 展开
脉冲信号就是像流水灯差不多,用两个口。
例如:
用到P1^0和P1^1;把P10制低电平,P11制高电平,延时一段时间后,P10制高电平 P11制低电平,如此循环,看程序:
#include "reg52.h"
sbit P10=P1^0;
sbit P11=P1^1;
void delay(unsigned int x)
P10=0;P11=1;
delay(1000);
P10=1;P11=0;
delay(1000);
}
}1-B1-B1A0;
两相四线程序 接P1口
#include "reg52.h"
#define uint unsigned int
#define uchar unsigned char
uchar code tab[]={0xfd,0xfb,0xf7,0xef};
uint i;
void delay(uint x)
{
uint y;
for(;x>0;x--)
{
for(y=0;y<124;y++);
void main()
while(1)
P1=tab[i];
i++;
if(i==4)
{
i=0;
}
delay(20);
扩展资料:
同样的一段程序,在各个单片机厂家的硬件上运行的结果都是一样的,如ATMEL的89C51(已经停产)、89S51, PHILIPS,和WINBOND等;
常说的已经停产的89C51指的是ATMEL公司的 AT89C51单片机,同时是在原基础上增强了许多特性,如时钟,更优秀的是由Flash(程序存储器的内容至少可以改写1000次)存储器取代了原来的ROM(一次性写入),AT89C51的性能相对于8051已经算是非常优越的了。
参考资料来源:百度百科-步进电机
脉冲信号就是像流水灯差不多的,用两个口
例如:用到P1^0和P1^1
先把P10制低电平,P11制高电平
延时一段时间后
然后P10制高电平 P11制低电平
如此循环
看程序:
#include "reg52.h"
sbit P10=P1^0;
sbit P11=P1^1;
void delay(unsigned int x)
{
unsigned int y;
for(;x>0;x--)
{
for(y=0;y<124;y++);
}
}
void main()
{
while(1)
{
P10=0;P11=1;
delay(1000);
P10=1;P11=0;
delay(1000);
}
}
两相四线,有另外配了一个专用的驱动器,卖的人说只要接入单片机的5V,以及一个脉冲信号来驱动电机运转,一个方向信号来控制方向,就可以了。
两相四线程序 接P1口
#include "reg52.h"
#define uint unsigned int
#define uchar unsigned char
uchar code tab[]={0xfd,0xfb,0xf7,0xef};
uint i;
void delay(uint x)
{
uint y;
for(;x>0;x--)
{
for(y=0;y<124;y++);
}
}
void main()
{
while(1)
{
P1=tab[i];
i++;
if(i==4)
{
i=0;
}
delay(20);
}
}
大神都是从菜鸟出来的吧。或者说你有爱因斯坦的智商,那我甘拜下风。