It was my first time to program the PIC 16f886. All went well testing my code in the MPLAB debugger, but after programming the chip, it seemed dead with no output on the pins. Bugger! One simple test to see if it is working is to output the internal oscillator to the CLKOUT pin and probe it. But I got no clock signal.
Well it turns out that I had the Brownout feature on and the trip voltage was set to 4 Volts, yet I was running off a 3V3 supply rail. This causes the chip to be held in the RESET state. So the solution was to set the configuration to use 2.1 volts for the Brownout trip level. You can easily generate the appropriate configuration code in MPLAB X IDE using:
Window->PIC Memory Views->Configuration Bits