LIST P=16F690
INCLUDE "P16F690.INC"
__CONFIG _XT_OSC & _WDT_OFF & _PWRTE_ON & _BOR_OFF & _CPD_OFF & _MCLRE_ON & _CP_OFF
CBLOCK 0x20
SAYAC
IS
BEK
ENDC
MOVLW 0x07
MOVWF CM1CON0
CLRF PORTB ;comp off
BANKSEL TRISA
MOVLW 0xff
MOVWF TRISA
CLRF TRISB
BANKSEL PORTB
CLRF PORTB
; PROGRAM
MOVLW 0x80
MOVWF IS
MOVLW 0x80
MOVWF BEK
CYCLE
BTFSS PORTA,1
GOTO STRAIGHT
BTFSS PORTA,0
GOTO LEFT
BTFSS PORTA,2
GOTO RIGHT
GOTO CYCLE
STRAIGHT
BSF PORTB,0
BSF PORTB,2
GOTO CYCLE
LEFT
BSF PORTB,0
;-------left motor %50 (PWM)---------
BSF PORTB,2
MOVF IS,W
CALL GECIKME
BCF PORTB,2
MOVF BEK,W
CALL GECIKME
GOTO CYCLE
RIGHT
BSF PORTB,2
;-------right motor %50 (PWM)---------
BSF PORTB,0
MOVF IS,W
CALL GECIKME
BCF PORTB,0
MOVF BEK,W
CALL GECIKME
GOTO CYCLE
GECIKME
MOVWF SAYAC
CYCLE2
DECFSZ SAYAC,F
GOTO CYCLE2
RETURN
END