Code (Assembly)
;SystemVars
                       status               equ               03h
                       trisa                 equ               85h
                       trisb                 equ               86h
                       porta               equ               05h
                       portb               equ               06h
                     CounterL          equ               20h
                     CounterH          equ               21h
BIOS            bsf                  status,5
                     clrf                  trisa
                     clrf                  trisb
                     bcf                  status,5
main              call   rotate_left
                      call  Delay_second
                      call  rotate_right
                      call  Dealy_second
                      goto  main
rotate_left             movlw     D'10'
                               movf       portb,0
                               call          Dealy_second
                               movlw     D'6'
                               movf       portb,0
                               call          Dealy_second
                               movlw     D'5'
                               movf       portb,0
                               call          Dealy_second
                               movlw     D'9'
                               movf       portb,0
                               call          Dealy_second
                               return
rotate_right           movlw     D'9'
                               movf       portb,0
                               call          Dealy_second
                               movlw     D'5'
                               movf       portb,0
                               call          Dealy_second
                               movlw     D'6'
                               movf       portb,0
                               call          Dealy_second
                               movlw     D'10'
                               movf       portb,0
                               call          Dealy_second
                               return
Delay_second      decfsz     CounterL,1
                             goto         Delay_second
                             decfsz      CounterH,1
                             goto          Delay_second
                             return
Codes for MicroBasic
program Stepper_Controlling
dim stepup as byte[5]
dim i as integer
dim x as integer
dim y as integer
main:
trisa=0
trisa.1=1
trisb=0
porta.0=1
delay_ms(500)
porta.0=0
delay_ms(100)
while true
stepup[0] = %10100000
stepup[1] = %01100000
stepup[2] =%01010000
stepup[3] = %010010000
stepup[4]=0
'for x=0 to 30000
for i=0 to 3
portb=stepup[i]
delay_ms(4)
portb=stepup[4]
if porta.1=1 then
porta.2=not porta.2
end if
next i
' next x
wend
end.

