新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 關于單片機編程設計和控制步進電機的注意事項

        關于單片機編程設計和控制步進電機的注意事項

        作者: 時間:2012-12-11 來源:網絡 收藏
        關于設計的注意事項,我是這樣認為的,首先要考慮程序的,要簡潔、維護方便,還要有可擴展空間,簡單明了,子程序的搭配,延時的應用,和中斷的配合,主函數調取子程序模塊的效率、循環某個子程序的時間,條件觸發啟動子程序能迅速響應主程序的調配。 通過以上可以看出,編一個好的程序,要考慮到單片機軟件的方方面面,所以編程時,一定不能馬虎,如果馬虎,那么你的程序就會出錯,到時還得糾錯,費時費力。

        如果遇到關于步進電機的程序,那么一定要考慮到步進電機的正反轉進制碼,還要考慮到轉速,還有當前步進電機的狀態顯示,所以編一個程序,是一件很辛苦的事,還好有http://www.51hei.com這個學習單片機的好網站,可以找到很多例子和朋友。有時候累了就上論壇那泡一泡,可能會有點收獲,我這些經驗也是長期泡單片機論壇總結出來的。對于步進電機的這個程序我認為難就難在步進電機和顯示的進制碼上,如:

        uchar code FFW[8]={0xf1,0xf3,0xf2,0xf6,0xf4,0xfc,0xf8,0xf9};電機正轉
        uchar code REV[8]={0xf9,0xf8,0xfc,0xf4,0xf6,0xf2,0xf3,0xf1};電機反轉

        步進電機正轉
        **********************************/
        void motor_ffw()
        {
        uchar i;
        uint j;
        for (j=0; j12; j++) //轉1*n圈
        {
        if(k4==0)
        {break;} //退出此循環程序
        for (i=0; i8; i++) //一個周期轉30度
        {
        P1 = FFW[i]; //取數據
        yanshia(15); //調節轉速
        }
        }
        }
        /**********************************
        步進電機反轉
        **********************************/
        void motor_rev()
        {
        uchar i;
        uint j;
        for(j=0;j12;j++)
        {
        if(k4==0)
        {break;}
        for(i=0;i8;i++)
        {
        P1=REV[i];
        yanshia(15);
        }
        }
        }



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 曲松县| 沅陵县| 云安县| 皋兰县| 南江县| 普安县| 长子县| 颍上县| 九寨沟县| 清原| 绥中县| 阿拉善盟| 万盛区| 大渡口区| 禄丰县| 万宁市| 习水县| 普宁市| 德化县| 平山县| 探索| 湘潭市| 鹤庆县| 鲁山县| 随州市| 威宁| 富平县| 常山县| 巴楚县| 厦门市| 高阳县| 珠海市| 达孜县| 涿鹿县| 池州市| 双流县| 万山特区| 临沧市| 察隅县| 富平县| 尚义县|