• 検索結果がありません。

割り込み許可レジスタ (EIR)

ドキュメント内 TOSHIBA CORPORATION 2009 All Rights Reserved (ページ 64-67)

第 3 章 割り込み制御回路

3.3 割り込み許可レジスタ (EIR)

ノンマスカブル割り込み

(

ソフトウエア割り込み、未定義命令割り込みとウォッチドッグタイマ割り込 み

)

を除く割り込み要因に対して受け付けの許可

/

禁止を行うレジスタです。ノンマスカブル割り込みは、

割り込み許可レジスタの内容にかかわらず受け付けられます。

割り込み許可レジスタは、割り込みマスタ許可フラグ(IMF) と割り込み個別許可フラグ (EF) で構成されて います。割り込み許可レジスタは、

SFR

内の

0x003A, 0x003B

および

0x003C, 0x003D

番地に割り付けられ ており、命令でリード

/

ライト

(

ビット操作命令などのリードモディファイライトも含む

)

できます。

3.3.1 割り込みマスタ許可フラグ (IMF)

マスカブル割り込み全体に対して受け付けの許可/禁止の制御を行うフラグです。“0” にクリアされ ていると、すべてのマスカブル割り込みの受け付けは禁止状態であり、“1” にセットされていると、

割り込み個別許可フラグで指定された割り込み受け付けが許可状態です。

割り込みが受け付けられると割り込みマスタ許可フラグはスタックに一時退避された後 “0” にクリ アされ、そのあとのマスカブル割り込みの受け付けを一時的に禁止します。割り込みサービスルーチ ンを実行後、割り込みリターン命令

[RETI]/[RETN]

によりスタックから読み出された値がセットされ 割り込み受け付け前の状態に戻ります。

割り込みマスタ許可フラグは、

EIRL (SFR

内の

0x003A

番地

)

のビット

0

に割り付けられており、

命令で リード/ライト できます。通常、割り込みマスタ許可フラグのセット/クリアは、[EI]/[DI]命令 で行います。なお、リセット時、割り込みマスタ許可フラグは

“0”

に初期化されます。

3.3.2 割り込み個別許可フラグ (EF25 ~ EF4)

各マスカブル割り込み要因に対し、個々に割り込み受け付けの許可

/

禁止の指定を行うフラグで す。割り込み個別許可フラグの該当ビットが “1” なら割り込み受け付けを許可し、 “0” なら禁止しま す。

なお、リセット時、割り込み個別許可フラグは"0"に初期化されます。個別許可フラグが"1"にセッ トされるまでマスカブル割り込みは受け付けられません。

注) メインプログラム中で、割り込み個別許可フラグ(EF)を操作する場合は、事前にマスタ許可フラグ(IMF) を"0"にクリアにしてから行ってください(DI命令による割り込みの禁止)。EFを操作した後は、必要に応 じて

IMF

を"1"にセットしてください(EI命令による割り込みの許可)。

割り込みサービスルーチンでは、IMFは自動的に"0"になりますので、通常割り込みサービスルーチンの中

IMF

を"0"にクリアする必要はありません。ただし、割り込みサービスルーチンの中で多重割り込みを使 用する場合は、IMFを"1"にセットする前に

EF

を設定してください。

(プログラム例)割り込みの個別許可と

IMF

のセット

DI ; IMF ← 0

LDW (EIRL), 0y1110100010100000 ; EF15~EF13, EF11, EF7, EF5←1

: ;注) IMF はセットしない

:

EI ; IMF ← 1

TMP89CM46

3.3

割り込み許可レジスタ (EIR)

割り込みラッチ(ILL)

ILL 7 6 5 4 3 2 1 0

(0x0FE0) Bit Symbol IL7 IL6 IL5 IL4 IL3 - -

-Read/Write R/W R/W R/W R/W R R R R

リセット後 0 0 0 0 0 0 0 0

機能 INTTXD0 INTRXD0 /

INTSIO0 INTTBT INTWUC INTWDT

割り込みラッチ(ILH)

ILH 7 6 5 4 3 2 1 0

(0x0FE1) Bit Symbol IL15 IL14 IL13 IL12 IL11 IL10 IL9 IL8

Read/Write R/W R/W R/W R/W R/W R/W R/W R/W

リセット後 0 0 0 0 0 0 0 0

機能 INTSBI0/

INTSIO0

INTTCA0 INTTC01 INTTC00 INTRTC INTADC INTVLTD INT5

割り込みラッチ(ILE)

ILE 7 6 5 4 3 2 1 0

(0x0FE2) Bit Symbol IL23 IL22 IL21 IL20 IL19 IL18 IL17 IL16

Read/Write R/W R/W R/W R/W R/W R/W R/W R/W

リセット後 0 0 0 0 0 0 0 0

機能 INTTXD1 INTRXD1 INTTCA1 INT4 INT3 INT2 INT1 INT0

割り込みラッチ(ILD)

ILD 7 6 5 4 3 2 1 0

(0x0FE3) Bit Symbol - - - IL25 IL24

Read/Write R R R R R R R/W R/W

リセット後 0 0 0 0 0 0 0 0

機能 INTTC03 INTTC02

IL25~IL4

割り込みラッチ

RD WR

0: 割り込み要求なし 割り込み要求のクリア(注2,3) 1: 割り込み要求あり 割り込み要求をクリアしない

(1WRしても割り込みはセット されません)

IL3 0:

1:

割り込み要求なし

割り込み要求あり

-注

1) IL3

Read Only

レジスタです。書き込みを行っても割り込みラッチは影響を受けません。

2)

メインプログラム中で、割り込みラッチ(IL)を操作する場合は、事前にマスタ許可フラグ(IMF)を"0"にクリアにして から行ってください(DI命令による割り込みの禁止)。ILを操作した後は、必要に応じて

IMF

を"1"にセットしてくだ さい(EI命令による割り込みの許可)。

割り込みサービスルーチンでは、IMFは自動的に"0"になりますので、通常割り込みサービスルーチンの中で

IMF

を"0"にクリアする必要はありません。ただし、割り込みサービスルーチンの中で多重割り込みを使用する場合は、

IMF

を"1"にセットする前に

IL

を設定してください。

3) IL

はビット操作などのリードモディファイライト命令でクリアしないでください。

4) ILL

に対してリード命令を実行すると、ビット

0~2

0

が読み出されます。その他空きビットをリードすると

0

読み出されます。

Page 51

割り込み許可レジスタ(EIRL)

EIRL 7 6 5 4 3 2 1 0

(0x003A) Bit Symbol EF7 EF6 EF5 EF4 - - - IMF

Read/Write R/W R/W R/W R/W R R R R/W

リセット後 0 0 0 0 0 0 0 0

機能

INTTXD0 INTRXD0 /

INTSIO0 INTTBT INTWUC 割り込み

マスタ許可 フラグ

割り込み許可レジスタ(EIRH)

EIRH 7 6 5 4 3 2 1 0

(0x003B) Bit Symbol EF15 EF14 EF13 EF12 EF11 EF10 EF9 EF8

Read/Write R/W R/W R/W R/W R/W R/W R/W R/W

リセット後 0 0 0 0 0 0 0 0

機能 INTSBI0/

INTSIO0

INTTCA0 INTTC01 INTTC00 INTRTC INTADC INTVLTD INT5

割り込み許可レジスタ(EIRE)

EIRE 7 6 5 4 3 2 1 0

(0x003C) Bit Symbol EF23 EF22 EF21 EF20 EF19 EF18 EF17 EF16

Read/Write R/W R/W R/W R/W R/W R/W R/W R/W

リセット後 0 0 0 0 0 0 0 0

機能 INTTXD1 INTRXD1 INTTCA1 INT4 INT3 INT2 INT1 INT0

割り込み許可レジスタ(EIRD)

EIRD 7 6 5 4 3 2 1 0

(0x003D) Bit Symbol - - - EF25 EF24

Read/Write R R R R R/W R/W R/W R/W

リセット後 0 0 0 0 0 0 0 0

機能 INTTC03 INTTC02

EF25~EF4 割り込み個別許可フラグ

(ビットごとに指定)

0:

1:

各マスカブル割り込みの受け付け禁止 各マスカブル割り込みの受け付け許可 IMF 割り込みマスタ許可フラグ 0:

1:

各マスカブル割り込み全体の受け付け禁止 各マスカブル割り込み全体の受け付け許可

1)

割り込み許可フラグ (EF15~4)の変更と同時に

IMF

を “1” にセットしないでください。

2)

メインプログラム中で、割り込み個別許可フラグ(EF)を操作する場合は、事前にマスタ許可フラグ(IMF)を"0"にクリ アにしてから行ってください(DI命令による割り込みの禁止)。EFを操作した後は、必要に応じて

IMF

を"1"にセッ トしてください(EI命令による割り込みの許可)。

割り込みサービスルーチンでは、IMFは自動的に"0"になりますので、通常割り込みサービスルーチンの中で

IMF

を"0"にクリアする必要はありません。ただし、割り込みサービスルーチンの中で多重割り込みを使用する場合は、

IMF

を"1"にセットする前に

EF

を設定してください。

3) EIRL

に対してリード命令を実行すると、ビット

3~1

0

が読み出されます。その他空きビットをリードすると

0

読み出されます。

TMP89CM46

3.3

割り込み許可レジスタ (EIR)

ドキュメント内 TOSHIBA CORPORATION 2009 All Rights Reserved (ページ 64-67)