PIC18F245x/255x/445x/455x等でCPUDIVxを持っているデバイスで正しくオシレータ・コンフィギュレーションを設定するには?

#use delay()でcrystal, oscillator又は、internalのキーワードを使う時、 コンパイラーはオシレータに関連した、コンフィギュレーション・ヒューズとレジスターを設定します。 #use delay()でこれらのキーワードの内の1つを使用することをお薦めします。 そうしますとオシレータ・コンフィギュレーション・ヒューズが正しく設定されます。
但し、注意すべき事は、例えば、PIC18F455xではコンフィギュレーション・ヒューズにCPUDIV1, CPUDIV2, CPUDIV3 とCPUDIV4を持っており、さらに通常のクロック・ヒューズを持っていてクロックの最終速度を制御します。
例えば、#use delay(clock=20000000)とした場合で、#fusesの行でCPUDIVxヒューズの1つを指定していない場合は、デフォルト値になります。 例えば、PIC18F4553ではCPUDIV4になります。これは実際の外部に取り付けるXTALのクロックは 5MHzが必要となります。 #use delay(crystal=20000000) とした場合には、コンパイラーは正しい最終速度を与えるHSとCPUDIV1 の両方をセットします。

例えば、PIC18F8722の場合は#use delay(clock=20000000)で外部XTALは20MHzの設定となります。 この違いはデバイスがCPUDIVxを持っていないでHSヒューズだけで正しい速度を設定出来るか、CPUDIVxを持っているデバイスかの違いにより起こります。
データシートを確認ください。

PIC18F2550での設定例:
#include <18F2550.h>
#device ADC=10
#fuses HSPLL,NOWDT,NOPROTECT,NOLVP,NODEBUG,USBDIV,PLL5,CPUDIV1,VREGEN
#use delay(clock=48000000)