;modul 3
;program memutar stepper ke 180 derajad kemudian berbalik 360 derajad
$MOD51
$TITLE(MODE 0 PPI 8255)

PORTA   EQU     2000H
PORTB   EQU     2001H
PORTC   EQU     2002H
CPORT   EQU     2003H
CW      EQU     0080H

        CSEG
        ORG     4000H
        AJMP    Start
        ORG     4100H

Delay:  MOV     R2,#0FFH
Del1:   MOV     R3,#0FFH
        DJNZ    R3,$
        DJNZ    R2,Del1
        RET

Start:MOV       SP,#30H
      ACALL     Delay
      MOV       DPTR,#CPORT
      MOV       A,#CW
      MOVX      @DPTR,A
      MOV       R4,#019H
      MOV       R5,#032H

Loop1:MOV       DPTR,#PORTC
      MOV       A,#01H
      MOVX      @DPTR,A
      ACALL     Delay

      MOV       A,#02H
      MOVX      @DPTR,A
      ACALL     Delay
      
      MOV       A,#04H
      MOVX      @DPTR,A
      ACALL     Delay
      
      MOV       A,#08H
      MOVX      @DPTR,A
      ACALL     Delay

      MOV       A,#010H
      MOVX      @DPTR,A
      ACALL     Delay

      MOV       A,#020H
      MOVX      @DPTR,A
      ACALL     Delay
      
      MOV       A,#040H
      MOVX      @DPTR,A
      ACALL     Delay
      
      MOV       A,#080H
      MOVX      @DPTR,A
      ACALL     Delay
 
      DEC       R4
      CJNE      R4,#00H,Loop1
      AJMP      Loop2

Loop2:MOV       DPTR,#PORTC
      MOV       A,#080H
      MOVX      @DPTR,A
      ACALL     Delay

      MOV       A,#040H
      MOVX      @DPTR,A
      ACALL     Delay
      
      MOV       A,#020H
      MOVX      @DPTR,A
      ACALL     Delay
      
      MOV       A,#010H
      MOVX      @DPTR,A
      ACALL     Delay

      MOV       A,#08H
      MOVX      @DPTR,A
      ACALL     Delay

      MOV       A,#04H
      MOVX      @DPTR,A
      ACALL     Delay
      
      MOV       A,#02H
      MOVX      @DPTR,A
      ACALL     Delay
      
      MOV       A,#01H
      MOVX      @DPTR,A
      ACALL     Delay
 
      DEC       R5
      CJNE      R5,#00H,Loop2

      END


