新聞中心

        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);
        }
        }
        }



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 驻马店市| 东乡县| 长宁县| 元谋县| 鄢陵县| 白银市| 于都县| 安新县| 榆树市| 商水县| 兴山县| 沅江市| 嘉鱼县| 南城县| 蒙阴县| 资兴市| 安吉县| 龙江县| 武邑县| 迭部县| 儋州市| 靖宇县| 陇西县| 闽清县| 旅游| 剑阁县| 内乡县| 玉屏| 平度市| 武安市| 增城市| 合水县| 开原市| 盐源县| 教育| 磴口县| 大庆市| 长乐市| 湖南省| 信阳市| 邵阳县|