新聞中心

        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



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 永善县| 南昌市| 洱源县| 新宁县| 景洪市| 西丰县| 科技| 仙居县| 石泉县| 全南县| 靖远县| 海门市| 自治县| 积石山| 牙克石市| 三亚市| 奉新县| 扶余县| 三明市| 鄱阳县| 双鸭山市| 绍兴市| 凌源市| 富平县| 黄冈市| 江山市| 西城区| 汉源县| 邹城市| 灵石县| 云安县| 孟连| 黑水县| 赤城县| 苏州市| 宁南县| 恭城| 睢宁县| 新沂市| 监利县| 襄城县|