專注電子技術(shù)學(xué)習(xí)與研究
當(dāng)前位置:單片機教程網(wǎng) >> MCU設(shè)計實例 >> 瀏覽文章

步進電機驅(qū)動匯編程序及調(diào)試總結(jié)

作者:佚名   來源:本站原創(chuàng)   點擊數(shù):  更新時間:2013年11月05日   【字體:
;*************步進電機驅(qū)動*****************

 
;設(shè)計者小蘇   FOSC=12MHz   2013.11.05

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

 
; 步進角為7.5度   一圈360度,需要48個脈沖完成
;A組線圈   P2.4
;B組線圈   P2.5
;C組線圈   P2.6
;D組線圈   P2.7
;正傳次序:AB組-BC組-CD組-DA組(即一個脈沖,正轉(zhuǎn)7.5度)

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

 
;調(diào)試平臺i51最小系統(tǒng)
;調(diào)試結(jié)果:步進電機,速度參數(shù)40,正反轉(zhuǎn)正常;
;30以下速度加快,正轉(zhuǎn)正常反轉(zhuǎn)不動,原因不明,卡死丟步猜測為卡死;
;繼續(xù)加速,參數(shù)為5,正轉(zhuǎn)平穩(wěn),反轉(zhuǎn)跳動,懷疑丟步。
;繼續(xù)加速,電機震動,但正反轉(zhuǎn)都不動,改進方案尚無(R6=248,R7為修改量)

 
;--------------------------------------------
;總結(jié):對步進電機運行、驅(qū)動原理還不夠理解、
;任務(wù),盡快學(xué)習(xí),并寫出c程序,加入速度,正反轉(zhuǎn),停機控制

 
;--------------------------------------------
;---------正轉(zhuǎn)-----------
        ORG 0000H
      LJMP MAIN 
  ORG 0100H

 
MAIN:  MOV R3,#255 ;正轉(zhuǎn)3圈 共114脈沖
START: MOV R0,#00H
START1:MOV P2,#00H
           MOV A,R0
  MOV DPTR,#TABLE
  MOVC A,@A+DPTR
  JZ START     ;當(dāng)A=0時轉(zhuǎn)到START(一個脈沖,正轉(zhuǎn)7.5度)
  MOV P2,A
  LCALL DELAY
  INC R0
  DJNZ R3,START1
  MOV P2,00H
  LCALL DELAY1

 
;----------------反轉(zhuǎn)-------------------------

 
          MOV R3,#255 ;正轉(zhuǎn)3圈 共114脈沖
START2:MOV P2,#00H
       MOV R0,#05H
START3:MOV A,R0
  MOV DPTR,#TABLE
  MOVC A,@A+DPTR
  JZ START2     ;當(dāng)A=0時轉(zhuǎn)到START(一個脈沖,反轉(zhuǎn)7.5度)
  MOV P2,A
  CALL DELAY
  INC R0
  DJNZ R3,START3
  MOV P2,00H
  LCALL DELAY1
  LJMP MAIN

 
DELAY: MOV R7,#10  ;步進電機的轉(zhuǎn)速
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  ;正轉(zhuǎn)表
       DB 00     ;正傳結(jié)束
  DB 30H,90H,0C0H,60H  ;反轉(zhuǎn)表
  DB 00 ;反轉(zhuǎn)結(jié)束
 
  END
關(guān)閉窗口

相關(guān)文章