Closed cjoshmartin closed 6 years ago
XDEF stepper_motor XREF port_p_ddr,port_t,port_p XREF direction, is_open_or_closed XREF stepper_delay, stepper_flag, stepper_seq,current_step_in_seq val ds.b 1 highorlow ds.w 2 DelayCount ds.w 1 clockwise_seq: dc.b $0A, $12, $14, $0C, $0 counterclockwise_seq: dc.b $0C, $14, $12, $0A, $0 stepper_motor: ldaa is_open_or_closed cmpa #1 beq nope ldaa stepper_flag cmpa #1 beq Delay bra again change_in_direction: ldaa direction cmpa #$2 ; if equal to 2 it will send vals in to x beq clock cmpa #$1 ; if equal to 1 it will send vals1 into x beq counter rts ;alternate from clock wise to counter clock wise clock: movb #clockwise_seq, stepper_seq ;clock wise bra again counter: movb #counterclockwise_seq, stepper_seq ; counter clock wise again: LDAA current_step_in_seq cmpa $0 beq change_in_direction STAA port_p movb #1, stepper_flag nope: rts Delay: PSHX LDX stepper_flag DEX cpx #0 BNE end movb #0, stepper_flag movw #30000, stepper_delay end: PULX RTS
again: ldx stepper_seq LDAA current_step_in_seq,x STAA port_p cmpa $0