look this link
http://www.kmitl.ac.th/~kswichit%20/LFrobot/LFrobot.htm
replace the pic for the 16f877
and configure this code in the pic
DEFINE LOADER_USED 1
J VAR BYTE
SYMBOL ENAL = PORTB.0
SYMBOL ENAR = PORTB.1
SYMBOL LAMOT = PORTB.2
SYMBOL LBMOT = PORTB.3
SYMBOL RAMOT = PORTB.4
SYMBOL RBMOT = PORTB.5
RIR0 VAR BYTE
RIR1 VAR BYTE
RIR2 VAR BYTE
RIR3 VAR BYTE
TRISB = 0
ADCON1 = $00
J = 240
INI:
ADCIN 0,RIR0
ADCIN 1,RIR1
ADCIN 2,RIR2
ADCIN 3,RIR3
INICIO:
IF RIR0 > J AND RIR1 > J AND RIR2 > J AND RIR3 > J THEN INI
IF RIR0 <= J AND RIR1 <= J AND RIR2 <= J AND RIR3 <= J THEN INI
IF RIR0 > J AND RIR1 > J AND RIR2 <= J AND RIR3 <= J THEN FORWARD
IF RIR0 > J AND RIR1 > J AND RIR2 > J AND RIR3 > J THEN FORWARD
IF RIR0 > J AND RIR1 <= J AND RIR2 <= J AND RIR3 <= J THEN BACK
IF RIR0 <= J AND RIR1 > J OR RIR2 > J OR RIR3 > J THEN BACK
IF RIR0 > J AND RIR1 > J AND RIR2 > J AND RIR3 <= J THEN LEFT
IF RIR0 <= J AND RIR1 > J AND RIR2 > J AND RIR3 <= J THEN LEFT
IF RIR0 > J AND RIR1 > J AND RIR2 <= J AND RIR3 > J THEN RIGHT
IF RIR0 <= J AND RIR1 > J AND RIR2 <= J AND RIR3 > J THEN RIGHT
IF RIR0 > J AND RIR1 <= J AND RIR2 > J AND RIR3 <= J THEN MAXLEFT
IF RIR0 <= J AND RIR1 <= J AND RIR2 > J AND RIR3 <= J THEN MAXLEFT
IF RIR0 > J AND RIR1 <= J AND RIR2 <= J AND RIR3 > J THEN MAXRIGHT
IF RIR0 <= J AND RIR1 <= J AND RIR2 <= J AND RIR3 > J THEN MAXRIGHT
goto INI
FORWARD:
ENAL = 1
ENAR = 1
LAMOT = 1
LBMOT = 0
RAMOT = 0
RBMOT = 1
GOTO INI
BACK:
ENAL = 1
ENAR = 1
LAMOT = 0
LBMOT = 1
RAMOT = 1
RBMOT = 0
GOTO INI
LEFT:
ENAL = 1
ENAR = 0
LAMOT = 1
LBMOT = 0
RAMOT = 1
RBMOT = 0
GOTO INI
RIGHT:
ENAL = 0
ENAR = 1
LAMOT = 0
LBMOT = 1
RAMOT = 0
RBMOT = 1
GOTO INI
MAXLEFT:
ENAL = 1
ENAR = 1
LAMOT = 1
LBMOT = 0
RAMOT = 1
RBMOT = 0
GOTO INI
MAXRIGHT:
ENAL = 1
ENAR = 1
LAMOT = 0
LBMOT = 1
RAMOT = 0
RBMOT = 1
GOTO INI
END
TAKE CARE
ATT
JOHN CONNOR