美文网首页
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