PICマイコン、水晶発振子の異常
カテ違いかも知れませんがマイコンおよび電子回路についての質問です。
水晶発振子が異常発信しMCLRによるリセット後、正常に発振します。
マイコン:PIC16F887
水晶発振子:VT-200-F
コンフィグは以下のように設定
__CONFIG _CONFIG1, _LVP_OFF & _FCMEN_ON & _IESO_OFF & _BOR_OFF & _CPD_OFF & _CP_OFF & _MCLRE_ON & _PWRTE_ON & _WDT_OFF & _LP_OSC
__CONFIG _CONFIG2, _WRT_OFF & _BOR21V
OPTION_REGは以下のように設定
movlw B'01011000'
; 7.ポートBのプルアップ:無効
; 6.ポートBの割り込みエッジ
; 5.TMR0のクロック源:内部命令サイクル
; 4.TMR0のカウントするクロックエッジ
; 3.プリスケーラ:WDTに割り当て
; 2.1.0.プリスケーラ初期値(未使用)
movwf OPTION_REG
13ピン(CLKIN)と14ピン(CLKOUT)に水晶発振子を接続。
それぞれに15pFのコンデンサを接続。
40ピン(RB7)にLEDを接続(TMR0で割込みが発生したタイミングで点灯消灯を繰り返します。)
1ピンはMCLRとして利用
で、計算上の割込みタイミング(プリスケーラなし)
(1/(32.768/4))*256=31.25ms
なのですが40ピンのHI、LOWタイミングをオシロで観測したところ
実測値は以下のとおりでした。
電源接続直後:256.7us
1ピンでのリセット後:31.37ms(ほぼ計算通り)
電源接続直後は必ず上記のようになり1ピンでリセットすると正常に発振し始めます。
コンデンサの容量が合っていないのかと思いいくつか試してみました結果は同じでした。
水晶発振子も変えてみましたがやはり結果は同じでした。
コンデンサの足も切って短くしてみましたがこれも結果は変わりませんでした。(この程度の距離は関係ない?)
回路はブレットボード上です。
マイコンが壊れているのでしょうか?
今までもっぱらセラロックや水晶発振器を使っていて今回初めて水晶発振子を使ってみてこのような事象に遭遇しました。
どのようにしたら正常発振するか詳しい方、ご教示いただけたら幸いです。
お礼
ありがとうございます、とても参考になりました。