### 5-3　スリープ機能

ビジュアルメモリ専用カスタムチップには、電池切れやプログラム待機中の消費電流を低減するために、HALTモードがあります。このときCPUの命令実行は停止しています。

ビジュアルメモリのスリープモードは、HALTモードを利用しています。

####

5-3-1　関連レジスタ

#### パワー制御レジスタ（PCON）

詳細は「5.2　システムクロック発生機能」の「パワー制御レジスタ（PCON）」を参照してください。

シンボル | アドレス | R/W | ビット7 | ビット6 | ビット5 | ビット4 | ビット3 | ビット2 | ビット1 | ビット0
PCON | 107H | R/W | − | − | − | − | − | − | − | PCON0
リセット時 | H | H | H | H | H | H | 0 | 0

ビット名 | 機能
PC0N0（ビット0） | HALTモード制御
0： 1：HALTモードに設定

####

5-3-2　スタンバイ時の動作状況

▽ スタンバイ時の各ブロックの動作状態(表15)

項目 | HALTモード
設定方法 | PC0N0=1
発振回路 | CF発振 | 発振継続
RC発振
水晶発振 | 動作継続
内蔵クロック | S1 | 動作継続
S2 | 動作停止
CPU | 動作停止
I/0ポート | HALTモード直前のデータを保持
RAM | HALTモード直前のデータを保持
ベースタイマー | 動作継続
タイマー0 | 動作継続
タイマー1 | 動作継続
シリアル通信 | 動作継続
割り込み回路 | 動作継続
液晶表示コントローラ | 動作継続
リモコン通信回路 | 動作継続
ウォッチドッグタイマ | 動作継続、または停止
解除要因 | リセット 割り込み要求の受付

システムクロックが水晶発振のときは、RC発振をプログラムにより停止できます（OCR1＝1）。

####

5-3-3　HALTモード

HALTモードは、水晶、RC発振回路を継続動作させた状態でプログラムの実行を停止させるモードです。

HALTモードの設定と割り込みによる解除を繰り返す間欠動作を行うことにより、消費電力を低減することが可能です。

#### HALTモードの設定

HALTモードは、パワー制御レジスタのビット0（PCON0）をセットすることにより設定されます。

#### HALTモードの解除

HALTモードを解除するには「ハードウェアリセットによる解除」と「割り込み要求の受け付けによる解除」があります。

##### ■ハードウェアリセットによる解除

端子に‘L’レベル信号を入れることでHALTモードは解除され、CPUはリセット状態になります。端子を‘H’レベルに戻すことで、通常のコールドスタートがかかり、システムプログラムのビジュアルメモリ初期化ルーチンが実行されます。

##### ■割り込み要求の受け付けによる解除

マスター割り込み許可フラグ（IE7）と、割り込み要求許可フラグがともにセットされている状態で割り込みが発生し、同時にHALTモードが解除されます。HALTモードが解除されると、割り込み要因に対応した割り込み処理ルーチンが呼び出されます。

ただし、割り込み処理ルーチンA内でHALTモードにした場合、HALTモード後に発生した割り込み要因が、割り込みAのレベルと同じ、もしくはより低い順位の割り込みであった場合は、割り込みが発生せずHALTモードが解除されません。

- 外部割り込みINT0，INT1は「最高レベル」に設定すると、マスター割り込み許可フラグの影響を受けません。
- HALT解除要因の割り込みレベルは、HALTモードに入ったときの割り込みのレベルよりも高くしてください。

▽HALT解除要因の割り込みレベル(表16)

HALT時の割り込みレベル | HALT解除要因の割り込みレベル
通常レベル | ’Lレベル’，’Hレベル’または’最高レベル’
’Lレベル’ | ’Hレベル’または’最高レベル’
’Hレベル’ | ’最高レベル’
’最高レベル’ | （割り込みによる解除はできません）

通常レベル：割り込みがかかっていない状態

[←] | [INDEX] | [→]