In the PIC16F87.88 datasheet on page 39, it states:
"The clock source frequency (INTOSC direct, INTRC
direct or INTOSC postscaler) is selected by configuring
the IRCF bits of the OSCCON register (page 40)."
It also states:
"The main output (INTOSC) is an 8 MHz clock source
which can be used to directly drive the system clock. It
also drives the INTOSC postscaler which can provide a
range of six clock frequencies from 125 kHz to 4 MHz."
So when we go to page 40....
we see:
000000 = Center frequency. Oscillator module is running at the
calibrated frequency.
Then when we move forward a little, to page 42 (clearly a typo in the
datasheet, but by reading everything we can find it)
We see:
REGISTER 4-2: OSCCON: OSCILLATOR CONTROL REGISTER (ADDRESS 8Fh)
Aha!! The register named above
So looking at the IRFC bits (as named above also) we see:
bit 7 Unimplemented: Read as '0'
bit 6-4 IRCF<2:0>: Internal RC Oscillator Frequency Select bits
000 = 31.25 kHz
001 = 125 kHz
010 = 250 kHz
011 = 500 kHz
100 = 1 MHz
101 = 2 MHz
110 = 4 MHz
111 = 8 MHz
bit 3 OSTS: Oscillator Start-up Time-out Status bit(1)
1 = Device is running from the primary system clock
0 = Device is running from T1OSC or INTRC as a secondary system clock
Note 1: Bit resets to '0' with Two-Speed Start-up mode and LP, XT
or HS selected as the
oscillator mode.
bit 2 IOFS: INTOSC Frequency Stable bit
1 = Frequency is stable
0 = Frequency is not stable
bit 1-0 SCS<1:0>: Oscillator Mode Select bits
00 = Oscillator mode defined by FOSC<2:0>
01 = T1OSC is used for system clock
10 = Internal RC is used for system clock
11 = Reserved
Datasheet at
http://ww1.microchip.com/downloads/en/DeviceDoc/30487c.pdf
Read the fascinating datasheet.
Cheers
PeteS