求助下大神,增加一个按键控制正反转程序
时间:10-02
整理:3721RD
点击:
PH1 BIT P1^0;
PH2 BIT P1^1;
IO1 BIT P1^2;
I11 BIT P1^3;
IO2 BIT P1^4;
I12 BIT P1^5;
DELAY_T EQU 30;电机每步延时时间
ORG 0000H
SJMP MAIN
ORG 0030H
MAIN:
MOV SP, #30H
MOV R6, #DELAY_T
DJGO: ;电机正转
LCALL GO
SJMP DJGO
DJBACK: ;电机反转
LCALL BACK
SJMP DJBACK
SJMP $
BACK:
CLR PH1 ;A/B/
CLR IO1
CLR I11
CLR PH2
CLR IO2
CLR I12
LCALL DELAY
SETB PH1 ;AB/
CLR IO1
CLR I11
CLR PH2
CLR IO2
CLR I12
LCALL DELAY
SETB PH1 ;AB
CLR IO1
CLR I11
SETB PH2
CLR IO2
CLR I12
LCALL DELAY
CLR PH1 ;A/B
CLR IO1
CLR I11
SETB PH2
CLR IO2
CLR I12
LCALL DELAY
RET
GO:
CLR PH1 ;A/B
CLR IO1
CLR I11
SETB PH2
CLR IO2
CLR I12
LCALL DELAY
SETB PH1 ;AB
CLR IO1
CLR I11
SETB PH2
CLR IO2
CLR I12
LCALL DELAY
SETB PH1 ;AB/
CLR IO1
CLR I11
CLR PH2
CLR IO2
CLR I12
LCALL DELAY
CLR PH1 ;A/B/
CLR IO1
CLR I11
CLR PH2
CLR IO2
CLR I12
LCALL DELAY
RET
DELAY: ;软件延时
MOV R7, 120
DJNZ R7, $
DJNZ R6, DELAY
MOV R6, #DELAY_T
RET
PH2 BIT P1^1;
IO1 BIT P1^2;
I11 BIT P1^3;
IO2 BIT P1^4;
I12 BIT P1^5;
DELAY_T EQU 30;电机每步延时时间
ORG 0000H
SJMP MAIN
ORG 0030H
MAIN:
MOV SP, #30H
MOV R6, #DELAY_T
DJGO: ;电机正转
LCALL GO
SJMP DJGO
DJBACK: ;电机反转
LCALL BACK
SJMP DJBACK
SJMP $
BACK:
CLR PH1 ;A/B/
CLR IO1
CLR I11
CLR PH2
CLR IO2
CLR I12
LCALL DELAY
SETB PH1 ;AB/
CLR IO1
CLR I11
CLR PH2
CLR IO2
CLR I12
LCALL DELAY
SETB PH1 ;AB
CLR IO1
CLR I11
SETB PH2
CLR IO2
CLR I12
LCALL DELAY
CLR PH1 ;A/B
CLR IO1
CLR I11
SETB PH2
CLR IO2
CLR I12
LCALL DELAY
RET
GO:
CLR PH1 ;A/B
CLR IO1
CLR I11
SETB PH2
CLR IO2
CLR I12
LCALL DELAY
SETB PH1 ;AB
CLR IO1
CLR I11
SETB PH2
CLR IO2
CLR I12
LCALL DELAY
SETB PH1 ;AB/
CLR IO1
CLR I11
CLR PH2
CLR IO2
CLR I12
LCALL DELAY
CLR PH1 ;A/B/
CLR IO1
CLR I11
CLR PH2
CLR IO2
CLR I12
LCALL DELAY
RET
DELAY: ;软件延时
MOV R7, 120
DJNZ R7, $
DJNZ R6, DELAY
MOV R6, #DELAY_T
RET