Frecuencia de funcionamiento del microcontrolador PIC18f4550

Soy nuevo en la programación PIC y pensé en los LED parpadeantes como mi primer proyecto. Ahora copié un código de la red que parpadea dos LED y funciona, los LED parpadean.

Mi configuración:-

No he conectado ningún oscilador externo al PIC18f4550 y estoy simulando el proyecto usando Proteus 8.1. En Editar componentes de PIC, la frecuencia del reloj del procesador es de 4 MHz. Pero cuando detengo la simulación, recibo el siguiente mensaje, " el reloj de 4 Mhz especificado en el componente se ignora para el modo de oscilador INT-RC, NO CLKO ". Y tenga en cuenta que no he usado el registro OSCCON en mi código.

Mi código:-

#include<PIC18f4550.h>

#pragma config PLLDIV = 5 , CPUDIV = OSC1_PLL2 , USBDIV = 2    
#pragma config FOSC = INTOSCIO_EC
#pragma config FCMEN = OFF                                
#pragma config BORV = 3
#pragma config WDT = OFF
#pragma config CPB = OFF
#pragma config CPD = OFF
void main(void)
{
//blinking code here
//OSCCON register is not set.
}

Mi pregunta:-

Tengo curiosidad, si no hay un oscilador externo, el registro del oscilador interno no está configurado y el Proteus ignora el esquema de 4Mhz como frecuencia de reloj, entonces, ¿a qué frecuencia está funcionando el microcontrolador?

Respuestas (1)

Cada registro en el microcontrolador existe ya sea que establezca explícitamente un valor o no. Si no cambia explícitamente el valor de un registro, el microcontrolador usará felizmente el valor predeterminado. Los valores predeterminados para todos y cada uno de los bits se definen en la hoja de datos .

Para los productos de Microchip, los valores de bits predeterminados para cada registro se definen en la parte superior de la descripción del registro. Vea el área rodeada por un círculo rojo en la captura de pantalla a continuación. El registro OSCCON por defecto tiene un valor de 0100 ? 000 2 . El ? representa un bit de solo lectura que no tiene un valor predeterminado al momento del encendido. Mirando solo los bits de selección de frecuencia del oscilador interno, IRCF, los bits predeterminados son 100 2 . Entonces su frecuencia predeterminada es 1MHz.

ingrese la descripción de la imagen aquí

+1. Y ni siquiera tiene que mirar los valores de bits predeterminados en los registros; Estoy bastante seguro de que la frecuencia del oscilador interno predeterminada se especifica en algún lugar de la hoja de datos.