新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 利用MCS51單片機驅動步進電機電路及程序

        利用MCS51單片機驅動步進電機電路及程序

        作者: 時間:2011-09-07 來源:網絡 收藏

          在這里介紹一下用的方法。

          這款步進電機的驅動電壓12V,步進角為 7.5度 . 一圈 360 度 , 需要 48 個脈沖完成!!!

          


          該步進電機有6根引線,排列次序如下:1:紅色、2:紅色、3:橙色、4:棕色、5:黃色、6:黑色。

          采用51驅動ULN2003的方法進行驅動。

          

          ULN2003的驅動直接用單片機系統的5V電壓,可能力矩不是很大,大家可自行加大驅動電壓到12V。

          ;******************************************************************

          ;****************************步進電機的驅動***************************************

          ; DESIGN BY BENLADN911 FOSC = 12MHz 2005.05.19

          ;---------------------------------------------------------------------------------

          ; 步進電機的驅動信號必須為 脈沖信號!!! 轉動的速度和脈沖的頻率成正比!!!

          ; 本步進電機步進角為 7.5度 . 一圈 360 度 , 需要 48 個脈沖完成!!!

          ;---------------------------------------------------------------------------------

          ; A組線圈對應 P2.4

          ; B組線圈對應 P2.5

          ; C組線圈對應 P2.6

          ; D組線圈對應 P2.7

          ; 正轉次序: AB組--BC組--CD組--DA組 (即一個脈沖,正轉 7.5 度)

          ;----------------------------------------------------------------------------------

          ;----------------------------正轉--------------------------

          ORG 0000H

          LJMP MAIN

          ORG 0100H

          MAIN:

          MOV R3,#144 正轉 3 圈共 144 脈沖

          START:

          MOV R0,#00H

          START1:

          MOV P2,#00H

          MOV A,R0

          MOV DPTR,#TABLE

          MOVC A,@A+DPTR

          JZ START 對 A 的判斷,當 A = 0 時則轉到 START

          MOV P2,A

          LCALL DELAY

          INC R0

          DJNZ R3,START1

          MOV P2,#00H

          LCALL DELAY1

          ;-----------------------------反轉------------------------

          MOV R3,#144 反轉一圈共 144 個脈沖

          START2:

          MOV P2,#00H

          MOV R0,#05

          START3:

          MOV A,R0

          MOV DPTR,#TABLE

          MOVC A,@A+DPTR

          JZ START2

          MOV P2,A

          CALL DELAY

          INC R0

          DJNZ R3,START3

          MOV P2,#00H

          LCALL DELAY1

          LJMP MAIN

          DELAY: MOV R7,#40 步進電機的轉速

          M3: MOV R6,#248

          DJNZ R6,$

          DJNZ R7,M3

          RET

          DELAY1: MOV R4,#20 2S 延時子程序

          DEL2: MOV R3,#200

          DEL3: MOV R2,#250

          DJNZ R2,$

          DJNZ R3,DEL3

          DJNZ R4,DEL2

          RET

          TABLE:

          DB 30H,60H,0C0H,90H 正轉表

          DB 00 正轉結束

          DB 30H,90H,0C0H,60H 反轉表

          DB 00 反轉結束

          END



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 邯郸市| 黎城县| 古蔺县| 山丹县| 唐山市| 九龙坡区| 睢宁县| 鹤庆县| 罗源县| 甘孜县| 察隅县| 墨玉县| 汉沽区| 佛学| 庆元县| 松江区| 奉新县| 和龙市| 高唐县| 衢州市| 双鸭山市| 四平市| 固原市| 黎平县| 广东省| 广灵县| 乌鲁木齐县| 郎溪县| 文水县| 华蓥市| 福安市| 安宁市| 北宁市| 内江市| 中阳县| 东山县| 墨玉县| 崇礼县| 怀安县| 南和县| 高清|