Ese es un error muy común que pasa por no leer la hoja de datos.
El PIC18F4550 cuenta con un módulo USB que puede ejecutarse a 48 MHz.
Para obtener los 48 MHz, se disponen de varios tipos de configuración para el oscilador principal.
Éste PIC cuenta con un sistema de monitoreo para fallas del oscilador principal. (Fail-Safe Clock Monitor)
Si la palabra de configuración no es correcta, o si existe alguna falla, el sistema entra en funcionamiento.
Como tú lo quieres ejecutar a 8 MHz, necesitas establecer la palabra de configuración correcta.
De otra forma el oscilador trabajará a 1 MHz, que es la frecuencia por defecto del oscilador interno en el
POR (Power On Reset)
Esto se define en el registro
OSCCON, bits
IRCF2<>
IRCF0
PIC C Compiler puede establecer la palabra de configuración correcta de forma sencilla.
Oscilador a cristal de 8 MHz.:
Código:
[B][COLOR=Red]#fuses[/COLOR] NOFCMEN,NOIESO,NOVREGEN,NOPBADEN
#use delay(crystal = [COLOR=Green]8[/COLOR]MHz)[/B]
Aquí se establece lo siguiente:
Desactivar el fuse
FCMEN (Fail-Safe Clock Monitor Enable bit)
Desactivar el fuse
IESO (Internal/External Oscillator Switchover bit)
Desactivar el fuse
VREGEN (USB Internal Voltage Regulator Enable bit)
Desactivar el fuse
PBADEN (PORTB A/D Enable bit)
Al desactivar el fuse
FCMEN, nos podemos percatar de que el oscilador a cristal esté funcionando.
Si no funciona, el PIC no hará absolutamente nada. (No se activará el sistema de fallas del oscilador)
No se necesita conmutar entre el oscilador externo y el interno, así que se desactiva el fuse
IESO.
No se usará el módulo USB, así que se desactiva el regulador de voltaje interno. Fuse
VREGEN.
Tampoco se usarán los conversores A/D del puerto B, entonces se desactivan. Fuse
PBADEN.
Éste fuse es opcional porque PIC C se encarga de que todos los pines sean Digital I/O al iniciar.
Los demás fuses resulta redundante establecerlos porque de la forma en que se declaró la palabra de configuración, el compilador colocará los bits por defecto sobre cada uno de los registros
CONFIGXX, que resultarán adecuados para una ejecución común.
Suerte.