正如上一篇所述,控制步进电机的方法并不难,但是我的程序还需一些优化。但不是因为这程序是错误的,而是有简洁的控制方法。
下面看看程序:
//单四拍运作模式P0口控制两个步进电机
//经过实验证明,我把两个L298n的使能端都接正(5V)可以让单片机腾出位置(管脚),管理更方便
#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
uint i=0;
//---------延时函数------------
void delay(uchar z)
{
uint i,j;
for (i=0;i<=z;i++)
for(j=0;j<=100;j++);
}
//----------主函数---------------
void main()
{
//让两步进电机同时转动
//---------两轮共同前转-----------
while(1)
{
P0=0x11;delay(p);P0=0;
P0=0x22;delay(p);P0=0;
P0=0x44;delay(p);P0=0;
P0=0x88;delay(p);P0=0;
}
}
调延时的时间就可以控制速度了。这里是i的值