Specifications
79
MOVB #$00,ODMB ;|CLEAR ODOM COUNTERS
MOVB #$80,PWDTY1 ;TURN MOTOR B BACKWARDS
CONTL LDAA #$00
LDAB ODMB
CPD #90 ;SET NUMBER RELATIVE TO A 90
DEGREE TURN
BLT CONTL ;WAIT FOR TURN TO COMPLETE
MOVB #$00,PWDTY1
JSR DELAY
JSR DRFWD ;CONTINUE FORWARDS
FALSE RTS ;RETURN FROM SUBROUTINE
;-------------------------------------
TURNR ;BRCLR PORTA,$02,SKB ;IF RIGHT SENSOR(2) BLOCKED,
BACKUP INSTEAD
JSR BACKUP
SKB LDX #$0A00 ;|
LP2 BRCLR PORTA,$04,FALSE2 ;|
DEX ;|LOOP TO CHECK SENSOR(3) $0200
TIMES TO ENSURE NOT JUST NOISE
BNE LP2 ;|
LDAA #'R' ;SEND ‘R’ THROUGH SERIAL PORT
JSR TXBYTE ;FOR DEBUG PURPOSES
MOVB #$00,PWDTY0 ;|
MOVB #$00,PWDTY2 ;|STOP MOTORS (DRIVING FORWARDS)
MOVB #$00,ODMA ;|
MOVB #$00,ODMB ;|CLEAR ODOM COUNTERS
JSR DELAY ;WAIT FOR DELAY PERIOD
MOVB #$80,PWDTY3 ;TURN MOTOR A BACKWARDS
CONTR LDAA #$00
LDAB ODMA
CPD #90 ;SET NUMBER RELATIVE TO A 90
DEGREE TURN
BLT CONTR ;WAIT FOR TURN TO COMPLETE
MOVB #$00,PWDTY3
JSR DELAY ;WAIT DELAY PERIOD
JSR DRFWD ;CONTINUE FORWARDS
FALSE2 RTS ;EXIT AND RETURN FROM SUBROUTINE
;-----------------------------------------------------------------------------------
BACKUP ;LDAA #'K' ;SEND K THROUGH SERIAL PORT










