2025.5.9
前へ
次へ
ホームページトップへ戻る


超ローコストPICWRITERの製作

〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
「PICBASICコンパイラ」からスピンオフ!!
過去記事を参照することなどを考えて該当する過去記事は「PICBASICコンパイラ」のまま連載回もそのままとします。
以後は前回記事からの流れで[第236回]からとします。
「PICBASICコンパイラ」はなるべく早く連載を再開したいと考えています。
PICはローコスト、高機能で種類も豊富なお手軽マイコンですがプログラムを書き込むためのWRITERが必要です。
それをできるだけ安価に作ってしまおうというプロジェクトです。
最終的には製品化を考えています(組立キット、完成品)。
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜

[第280回]



●PIC16F1938(8)テストプログラム(7)FSCM

毎日なんだかんだで時間を費やしてしまいます。
本日も少し書いて終ってしまいます。

[第276回]で水晶発振モードなのにクリスタルを外付けしなくても動作してしまうという「超常現象」について書きました。
[第278回]でもVdd=3Vで水晶発振モードを指定して32MHzクリスタルを実装すると3Vでは無理なようで期待通りの動作にはなりませんが暴走するのではなくてそれなりに動作しますと書きました。
そのときはPORTBのビット0は1msごとに変化します。

これは超常現象ではありませんでした。
PIC16F1938にはFSCMという機能があります。
それが働いていたのでした。


[出典]Microchip Technology Inc.PIC16F193X DataSheet

水晶発振だけではなくて外部クロック入力の場合でもクロックが発振しないかあるいは入力されていないことが検出されるとシステムクロックを内部発振モードに切り換えることで正常動作を続けるという機能のようです。
FSCM機能はCONFIGの設定で有効にするか無効にするかを指定することができます。


[出典]Microchip Technology Inc.PIC16F193X Memory Programming Specification

CONGIG1のbit13で指定します。
デフォルトではFSCMが有効になっています。
それでクリスタルを外して電源ONをしたり3Vで32MHzクリスタルを実装したときに内部発振モードに切り換わってたまたまOSCCONで設定したままにしていた4MHzがシステムクロックとして動作したのでした。
なるほど。
そうとわかってしまえばなんてことはない話だったのですが。
一時は妖怪猫又かと思ってしまったじゃありませんか。

これも途中で気が付いたことなのですが。
CONFIG1の設定で_IESO_OFFを指定していますがこれは私の思い違いでそのようにしていました。
このビットは通常は指定する必要のない指定でした。
このビットはONにしてもOFFにしても普通のプログラムの動作には変わりはありません。

本日は以上です。

超ローコストPICWRITERの製作[第280回]
2025.5.9 upload

前へ
次へ
ホームページトップへ戻る