Hello larzazral,
I do not see a config statement in your code which means either:
A. you simply did not share them with us, or
B. You are using the default config statement located in the 16f887.inc
file in the root directory of PBP.

The 16f887.inc file is as below:
Code:
        NOLIST
    ifdef PM_USED
        LIST
        include 'M16F88x.INC'	; PM header
        device  pic16F887, intrc_osc_noclkout, wdt_on, mclr_on, lvp_off, protect_off
        XALL
        NOLIST
    else
        LIST
        LIST p = 16F887, r = dec, w = -302
        INCLUDE "P16F887.INC"	; MPASM  Header
        __config _CONFIG1, _INTRC_OSC_NOCLKOUT & _WDT_ON & _MCLRE_ON & _LVP_OFF & _CP_OFF
        NOLIST
    endif
        LIST
You will take note of the OSCILLATOR config . . . intrc_osc_noclkout
which obfuscates the use of the crystal / resonator. Which is to say, it runs on internal at 4 mhz and will not DO 20MHZ. To use the crystal, . . . Put a semi colon just before the config statement and install your own config in your code <B> OR </B> simply change the configs to use the "high speed osc. ". Look at this thread, no study it, absorb it, know it, seriously, if you do not study anything else, study this, it is that important.
http://www.picbasic.co.uk/forum/showthread.php?t=543