te corrijo algunos errores que he visto:
#include <16f877a.h> //PIC utilizado
#fuses XT,NOWDT,NOPROTECT,PUT //Configuramos los fuses
#use delay (clock=4000000) //Oscilador a 4Mhz
#use fast_io(b) //Optimizamos E/S del PORTB
#include <lcd.c>
long int pulsos=0;
// acá quizá sea mejor declararlo como int16 o int32, para una mejor comprensión, pero long int tb vale
//------Programa principal-----
void main(void){
set_tris_b(0xfe); //Pin RB1 del puerto B como salida, el resto como entrada
lcd_init(); // este mejor al principio y despues te olvidas
disable_interrupts(global); // Toda las interrupciones desactivadas
do{
if(input(Pin_b1)){ //sin punto y coma
//agrega un retardo antirrebote
do{
delay_ms(20);
}while(input(pin_b1));
pulsos++;
printf(lcd_putc,"pulsos= %lu",pulsos);
}
}while(true);
}