新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 51單片機—步進電機程序

        51單片機—步進電機程序

        作者: 時間:2016-11-29 來源:網絡 收藏
        4相5線的步進電機,在51hei單片機開發板上用uln2003驅動,此程序可實現正反轉和加減速功能。

        電路圖如下:

        本文引用地址:http://www.104case.com/article/201611/323322.htm



        c語言源程序

        #include sbit p10=P1^0;sbit p11=P1^1;sbit p12=P1^2;sbit p13=P1^3;sbit p32=P3^2;//減速sbit p33=P3^3;//加速sbit p34=P3^4;//正轉sbit p35=P3^5;//反轉#define A {p10=1;p11=0;p12=0;p13=0;}#define B {p10=0;p11=1;p12=0;p13=0;}#define C {p10=0;p11=0;p12=1;p13=0;}#define D {p10=0;p11=0;p12=0;p13=1;}#define OFF {p10=0;p11=0;p12=0;p13=0;}#define uint unsigned int#define uchar unsigned charuchar HZ;void Delay(uchar t){while(--t);}void ms(uchar t){while(t--){Delay(245);Delay(245);}}void REV()//正轉{Ams(HZ);Bms(HZ);Cms(HZ);Dms(HZ);}void FWD()//反轉{Dms(HZ);Cms(HZ);Bms(HZ);Ams(HZ);}void main(){uint ddd;HZ=5;A1:if(!p35)goto A2;ddd=500;while(1){while(ddd){if(!p32){HZ++;if(HZ>20)HZ=20;}if(!p33){HZ--;if(HZ<3)HZ=3;}REV();ddd--;if(!p34||!p35)goto A1;}while(1){OFFif(!p34||!p35)goto A1;}}A2:ddd=1000;while(1){OFFwhile(ddd){if(!p32){HZ++;if(HZ>30)HZ=30;}if(!p33){HZ--;if(HZ<3)HZ=3;}FWD();ddd--;if(!p34||!p35)goto A1;}while(1){if(!p34)goto A1;if(!p35)goto A2;}}}


        關鍵詞: 51單片機步進電

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 靖江市| 临颍县| 宝兴县| 北辰区| 英吉沙县| 峨山| 建阳市| 濮阳市| 汶川县| 白银市| 建始县| 永福县| 甘谷县| 开远市| 三台县| 锦屏县| 元朗区| 镇宁| 晴隆县| 宝丰县| 白山市| 平阳县| 河间市| 双柏县| 孟津县| 山阴县| 遵义县| 无锡市| 赫章县| 常山县| 凭祥市| 海伦市| 海南省| 顺义区| 崇阳县| 岑溪市| 德格县| 巴马| 九台市| 卢湾区| 苏尼特左旗|