Bueno, por si alguien se ve en el mismo problema que yo, aqui un pequeño y basico codigo para entrar en la interrupción:
#include <16F887.h>
#device adc=8
#FUSES WDT //Watch Dog Timer
#FUSES INTRC_IO //Internal RC Osc, no CLKOUT
#FUSES NOPUT //No Power Up Timer
#FUSES MCLR //Master Clear pin enabled
#FUSES NOPROTECT //Code not protected from reading
#FUSES NOCPD //No EE protection
#FUSES NOBROWNOUT //No brownout reset
#FUSES IESO //Internal External Switch Over mode enabled
#FUSES FCMEN //Fail-safe clock monitor enabled
#FUSES NOLVP //No low voltage prgming, B3(PIC16) or B5(PIC18) used for I/O
#FUSES NODEBUG //No Debug mode for ICD
#FUSES NOWRT //Program memory not write protected
#FUSES BORV40 //Brownout reset at 4.0V
#FUSES RESERVED //Used to set the reserved FUSE bits
#use delay(clock=4000000)
#define LCD_ENABLE_PIN PIN_D1
#define LCD_RS_PIN PIN_D2
#define LCD_RW_PIN PIN_D3
#define LCD_DATA4 PIN_D4
#define LCD_DATA5 PIN_D5
#define LCD_DATA6 PIN_D6
#define LCD_DATA7 PIN_D7
#include <lcd.c>
#byte PORTB=0x06
#int_RB
void RB_isr(void)
{
delay_ms(15);
disable_interrupts(INT_RB);
printf(lcd_putc"\f Interrupcion");
delay_ms(5000);
enable_interrupts(INT_RB);
#asm movf PORTB,0 #endasm
clear_interrupt(INT_RB);
}
void main()
{
set_tris_a(0),
output_high(pin_a0);
delay_ms(500);
output_low(pin_a0);
lcd_init();
setup_adc_ports(NO_ANALOGS|VSS_VDD);
setup_adc(ADC_CLOCK_DIV_2);
setup_spi(SPI_SS_DISABLED);
setup_timer_0(RTCC_INTERNAL|RTCC_DIV_256);
setup_timer_1(T1_DISABLED);
setup_timer_2(T2_DISABLED,0,1);
setup_comparator(NC_NC_NC_NC);// This device COMP currently not supported by the PICWizard
enable_interrupts(INT_RB);
enable_interrupts(INT_RB4);
enable_interrupts(int_rb5);
enable_interrupts(int_rb6);
enable_interrupts(int_rb7);
#asm movf PORTB,0 #endasm // con estas 2 lineas, se borra
clear_interrupt(INT_RB); // RBIF al inicio del programa
enable_interrupts(GLOBAL);
while(1)
{
printf(lcd_putc"\f");
}
}