【プログラムメモリ】 (リセットベクタ関連更新)
PIC10F20xシリーズのプログラムメモリはフラッシュメモリとなっており
下図のようにメモリサイズにより2種類に分かれます。
いずれの場合にも最初は0番地から始まっており、最終番地がRESETベクタ
となっています。
またメモリの最終番地には内蔵クロックのキャリブレーション用のデータが
MOVLW命令として書き込まれています。
【データメモリ】
PIC10F20xシリーズのデータメモリは、下図のような構成で、特殊機能レジスタ
(SFR)が最初に配置され、後半にユーザ用のRAMエリアが用意されています。
こちらもメモリサイズによって2種類に分かれています。RAM領域のアドレスが
両者で異なっていますので要注意です。
【SFR】
特殊機能レジスタは上図のように8個ありますが、これ以外に
OPTIONレジスタとTRISレジスタが見えない形で用意されています。
この両者へのアクセスは専用の命令で行うようになっています。
(OPTION命令とTRIS命令)
(1)STATUSレジスタ
CPUの命令実行結果のフラグとリセット条件のフラグを示しています。
内容は下図のようになっています。
以下は代表的なSFRのビット構成です。
(2) OPTIONレジスタ
陽には現れないレジスタですが、タイマ0の設定などの重要な役割
を果たしています。このレジスタの設定は専用命令のOPTIONで設定
します。
(3)OSCCALレジスタ
内蔵の4MHzのクロックの発振周波数微調整用のレジスタです。
またGP2ピンのクロック出力と汎用I/Oとの切替ビットも同居しています。
メモリの最終番地に出荷時に校正データがMOVLW命令で書き込まれて
いますので、リセット後この命令を実行してから0番地にロールバックして
ジャンプしますので、ここでMVWF OSCAL 命令で書き込みます。