ORG 0000H
STRT: MOV SP,#6FH       ;初始化
      MOV 20H,#0        ;状态寄存器清零
      MOV P1,#0F1H      ;正转A相通电
MLP:  MOV R7,#64H       ;R7为步计数器,正转100步
      MOV 42H,#0C8H     ;42H为延时计数器
MLP0: MOV R6,42H        ;调用延时200MS子程序
MLP9: LCALL DEL
      DJNZ R6,MLP9
      DEC 42H
      LCALL STEPS       ;调用步进子程序
      DJNZ R7,MLP0      ;以上为加速程序
      MOV R7,#64H       ;以下为恒速程序
MLP1: MOV R6,42H
MLPX: LCALL DEL
      DJNZ R6,MLPX
      LCALL STEPS
      DJNZ R7,MLP1
      MOV R7,#64H       ;以下为减速程序
MLP2: MOV R6,42H
MLPY: LCALL DEL
      DJNZ R6,MLPY
      LCALL STEPS
      INC 42H
      DJNZ R7,MLP2
      CPL 7
      LJMP MLP
STEPS:INC 20H           ;正反转步进子程序
      ANL 20H,#83H
      MOV A,20H
      ANL A,#3
      JB 7,STPSC
      MOV DPTR,#FTAB
      SJMP STPW
STPSC:MOV DPTR,#CTAB
STPW: MOVC A,@A+DPTR
      MOV P1,A
      RET
FTAB: DB 0F3H,0F6H,0FCH,0F9H
CTAB: DB 79H,7cH,76H,73H
DEL:  MOV R5,#0         ;延时子程序
DEL0: DJNZ R5,DEL0
      RET
      END 
