This works on PIC16F873A so should work on PIC16F877A
Don't forget to pull MCLR high

@ DEVICE PIC16F873A, HS_OSC 'Xtal OSC
@ DEVICE PIC16F873A, WDT_OFF 'WDT off
@ DEVICE PIC16F873A, PWRT_ON 'Power-up timer on
@ DEVICE PIC16F873A, BOD_OFF 'Brown-out detect off

ADCON1 = %00000110 'All PORTA digital

define osc 4

TRISA = %00000010
TRISB = %00000000
PORTB = %00000000

w var word
r var word
a var word

tr var PORTA.0 'Trig pin
ec var PORTA.1 'Echo pin

PORTB = %11111111 'Flash LED on PORTB
pause 500 'to check PIC running
PORTB = %00000000

w = 0
low tr

Main :
high tr
pauseus 10
low tr
pulsin ec,1,w
r = w/58
if r < 10 then
PORTB = %11111111
else
PORTB = %00000000
endif
pause 200
goto main
end