新聞中心

        EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 51單片機(jī)驅(qū)動(dòng)步進(jìn)電機(jī)(匯編語(yǔ)言)

        51單片機(jī)驅(qū)動(dòng)步進(jìn)電機(jī)(匯編語(yǔ)言)

        作者: 時(shí)間:2016-12-01 來(lái)源:網(wǎng)絡(luò) 收藏
        在這里介紹一下用51單片機(jī)驅(qū)動(dòng)步進(jìn)電機(jī)的方法。
        這款步進(jìn)電機(jī)的驅(qū)動(dòng)電壓12V,步進(jìn)角為 7.5度 . 一圈 360 度 , 需要 48 個(gè)脈沖完成!!!
        該步進(jìn)電機(jī)有6根引線,排列次序如下:1:紅色、2:紅色、3:橙色、4:棕色、5:$、6:黑色。
        采用51驅(qū)動(dòng)ULN2003的方法進(jìn)行驅(qū)動(dòng)。
        ULN2003的驅(qū)動(dòng)直接用單片機(jī)系統(tǒng)的5V電壓,可能力矩不是很大,大家可自行加大驅(qū)動(dòng)電壓到12V。


        ;******************************************************************
          ;****************************步進(jìn)電機(jī)的驅(qū)動(dòng)***************************************
          ; DESIGN BY BENLADN911 FOSC = 12MHz 2005.05.19
          ;---------------------------------------------------------------------------------
          ; 步進(jìn)電機(jī)的驅(qū)動(dòng)信號(hào)必須為 脈沖信號(hào)!!! 轉(zhuǎn)動(dòng)的速度和脈沖的頻率成正比!!!
          ; 本步進(jìn)電機(jī)步進(jìn)角為 7.5度 . 一圈 360 度 , 需要 48 個(gè)脈沖完成!!!
          ;---------------------------------------------------------------------------------
          ; A組線圈對(duì)應(yīng) P2.4
          ; B組線圈對(duì)應(yīng) P2.5
          ; C組線圈對(duì)應(yīng) P2.6
          ; D組線圈對(duì)應(yīng) P2.7
          ; 正轉(zhuǎn)次序: AB組--BC組--CD組--DA組 (即一個(gè)脈沖,正轉(zhuǎn) 7.5 度)
          ;----------------------------------------------------------------------------------
          ;----------------------------正轉(zhuǎn)--------------------------
          ORG 0000H
          LJMP MAIN
          ORG 0100H
          MAIN:
          MOV R3,#144 正轉(zhuǎn) 3 圈共 144 脈沖
          START:
          MOV R0,#00H
          START1:
          MOV P2,#00H
          MOV A,R0
          MOV DPTR,#TABLE
          MOVC A,@A+DPTR
          JZ START 對(duì) A 的判斷,當(dāng) A = 0 時(shí)則轉(zhuǎn)到 START
          MOV P2,A
          LCALL DELAY
          INC R0
          DJNZ R3,START1
          MOV P2,#00H
          LCALL DELAY1
          ;-----------------------------反轉(zhuǎn)------------------------
          MOV R3,#144 反轉(zhuǎn)一圈共 144 個(gè)脈沖
          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 步進(jìn)電機(jī)的轉(zhuǎn)速
          M3: MOV R6,#248
          DJNZ R6,$
          DJNZ R7,M3
          RET
          DELAY1: MOV R4,#20 2S 延時(shí)子程序
          DEL2: MOV R3,#200
          DEL3: MOV R2,#250
          DJNZ R2,$
          DJNZ R3,DEL3
          DJNZ R4,DEL2
          RET
          TABLE:
          DB 30H,60H,0C0H,90H 正轉(zhuǎn)表
          DB 00 正轉(zhuǎn)結(jié)束
          DB 30H,90H,0C0H,60H 反轉(zhuǎn)表
          DB 00 反轉(zhuǎn)結(jié)束


        評(píng)論


        技術(shù)專(zhuān)區(qū)

        關(guān)閉
        主站蜘蛛池模板: 仙居县| 东宁县| 泰来县| 保康县| 来安县| 枣阳市| 大宁县| 大足县| 新宾| 黑山县| 获嘉县| 湖北省| 深圳市| 施秉县| 昌黎县| 治多县| 临潭县| 曲水县| 确山县| 本溪市| 天峻县| 林州市| 饶阳县| 合川市| 林甸县| 炉霍县| 正蓝旗| 镇原县| 五河县| 金堂县| 伊通| 嫩江县| 东源县| 融水| 宾阳县| 会理县| 乌苏市| 米泉市| 偏关县| 安平县| 博湖县|