美文网首页
51单片机 a4988驱动器 测试代码

51单片机 a4988驱动器 测试代码

作者: 孙煜旺 | 来源:发表于2021-01-26 08:58 被阅读0次

/*-----------------------------------------------

名称:步进电机

------------------------------------------------*/

#include <reg52.h>

sbit step=P1^0; //步进脉冲,一个正脉冲就转一个步距角

sbit dir=P1^1; //1为正转,0为反转。

sbit sleep=P1^2;

sbit res=P1^3;

unsigned char sum=0;

unsigned char i=200;

/********************毫秒延时函数***************************/

void Delay(unsigned int xms)

{

unsigned int i,j;

for(i=xms;i>0;i--)

for(j=110;j>0;j--);

}

void ISR_Key(void) interrupt 2 //外部中断1

{

Delay(20);

sum++;

if(sum==1)

{

dir=~dir;

}

if(sum==1) sum=0;

}

/******************************************************************/

/* 主函数 */

/******************************************************************/

main()

{

dir=1; //正转

sleep=1; //休眠无效

res=1; //复位无效

step=1;

EX1=1; //外部中断1开

IT1=1; //边沿触发

EA=1; //全局中断开

while(i)

{

step=~step;

Delay(2);

i--;

//需要延时,不延时电机不动,延时太久也不动。改变这个参数可以调整电机转速 ,数字越小,转速越大。

}

dir=1; //反转

while(1)

{

step=~step;

Delay(2);

}

}

相关文章

网友评论

      本文标题:51单片机 a4988驱动器 测试代码

      本文链接:https://www.haomeiwen.com/subject/bywwyctx.html