Changing Oscillator Speed During Runtime on the PIC16F
How do I change the oscillator to a frequency between 1 and 32 MHz if CSWEN = OFF?
The Clock Switch Enable Bit (CSWEN) in the Config1 register needs to be set to 'ON' at program time to enable the clock switching between internal and external clock sources. Then the system clock source can be switched between external and internal clock sources via runtime code and the speed can be changed using the New Oscillator Source (NOSC) and the New Divider selection request (NDIV) bits of the OSCCON1 register.