新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 用定時器編寫的4相八拍步進電機程序

        用定時器編寫的4相八拍步進電機程序

        作者: 時間:2016-11-26 來源:網絡 收藏
        這個用了定時器實現步進電機調速這樣更省CPU到時候跟其他程序組織的時候可移植性好
        #include
        code unsigned char BUJIN[] = { 0x01, 0x03 , 0x02 , 0x06 , 0x04 , 0x0c , 0x08 , 0x09 } ;// 節拍代碼
        unsigned char i ;
        void Init_Timer1(void)
        {
        TMOD |= 0x10; //使用模式1,16位定時器,使用"|"符號可以在使用多個定時器時不受影響
        TH1=0x00; //給定初值,這里使用定時器最大值從0開始計數一直到65535溢出
        TL1=0x00;
        EA=1; //總中斷打開
        ET1=1; //定時器中斷打開
        TR1=1; //定時器開關打開
        }
        void main( void )
        {
        unsigned int k = 30 ;
        char a = 0 ; // ,
        Init_Timer1() ;
        for(;;)
        {
        if(i == 5 )
        {
        i = 0 ;
        P1 = BUJIN[a] ;
        a++ ;
        if(a == 8)a= 0;
        }
        }
        }
        void Timer1_isr(void) interrupt 3
        {
        TH1 = 0xff ; //重新賦值
        TL1 = 0x00 ;
        i++ ;
        }



        評論


        技術專區

        關閉
        主站蜘蛛池模板: 十堰市| 通许县| 江油市| 萨嘎县| 黔江区| 岢岚县| 衡东县| 陇西县| 麻阳| 湘阴县| 乡城县| 积石山| 景德镇市| 浮山县| 灯塔市| 汾西县| 房产| 绿春县| 海口市| 肇州县| 平山县| 旅游| 吴忠市| 鹿邑县| 榆树市| 和静县| 安福县| 温宿县| 当阳市| 四子王旗| 合肥市| 临洮县| 塔河县| 南岸区| 丰县| 三明市| 广汉市| 海口市| 离岛区| 五家渠市| 体育|