回覆列表
  • 1 # 使用者6124658495821

    #include <reg51.h> //51晶片管腳定義標頭檔案

    #include <intrins.h>//內部包含延時函式 _nop_();

    #define uchar unsigned char

    #define uint unsigned int

    uchar code FFW[8]={0xf1,0xf3,0xf2,0xf6,0xf4,0xfc,0xf8,0xf9};

    uchar code REV[8]={0xf9,0xf8,0xfc,0xf4,0xf6,0xf2,0xf3,0xf1};

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

    /*

    /* 延時t毫秒

    /* 11.0592MHz時鐘,延時約1ms

    /*

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

    void delay(uint t)

    {

    uint k;

    while(t--)

    {

    for(k=0; k<125; k++)

    { }

    }

    }

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

    /*

    /*步進電機正轉

    /*

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

    void motor_ffw(uint n)

    {

    uchar i;

    uint j;

    for (j=0; j<12*n; j++) //轉1×n圈

    {

    for (i=0; i<8; i++) //一個週期轉30度

    {

    P1 = FFW[i]; //取資料

    delay(15); //調節轉速

    }

    }

    }

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

    /*

    /*步進電機反轉

    /*

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

    void motor_rev(uint n)

    {

    uchar i;

    uint j;

    for (j=0; j<12*n; j++) //轉1×n圈

    {

    for (i=0; i<8; i++) //一個週期轉30度

    {

    P1 = REV[i]; //取資料

    delay(15); //調節轉速

    }

    }

    }

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

    *

    * 主程式

    *

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

    main()

    {

    while(1)

    {

    motor_ffw(5); //電機正轉

    delay(5000); //換向延時

    //motor_rev(5); //電機反轉

    //delay(1000); //換向延時

    }

    }

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

  • 中秋節和大豐收的關聯?
  • 三星t989怎麼截圖?