9. 割り込み

9. 割り込み

CH559チップは、標準MCS51と互換性のある6セットの割り込みを含む14セットの割り込み信号ソースをサポートしています。INT0、T0、INT1、T1、UART0、T2、拡張8セットの割り込みを含む14セットの割り込み信号源をサポートしています。SPI0, TMR3, USB, ADC, UART1, PWM1 GPIO, WDOGの8組の割り込みがあり、そのうちGPIOの割り込みは7つのI/Oピンから選択可能です。

9.1 レジスタ概要

表9.1.1 割り込みベクトル一覧

割り込みソースエントリーアドレス割り込み番号概要デフォルト優先度
INT_NO_INT00x00030外部割込み0またはLED制御カード割込み。
bLED_OUT_EN = 0の時は外部割り込み0
bLED_OUT_EN = 1の時はLED制御カード割り込み
高優先度
































低優先度
INT_NO_TMR00x000B1Timer0割り込み
INT_NO_INT10x00132外部割り込み1
INT_NO_TMR10x001B3Timer1割り込み
INT_NO_UART00x00234UART0割り込み
INT_NO_TMR20x002B5Timer2割り込み
INT_NO_SPI00x00336SPI0割り込み
INT_NO_TMR30x003B7Timer3割り込み
INT_NO_USB0x00438USB割り込み
INT_NO_ADC0x004B9ADC割り込み
INT_NO_UART10x005310UART1割り込み
INT_NO_PWM10x005B11PWM1割り込み
INT_NO_GPIO0x006312GPIO割り込み
INT_NO_WDOG0x006B13ウォッチドッグタイマー割り込み

表9.1.2 割り込み関連レジスタ一覧

名前アドレス備考リセット値
IP_EXE9h拡張割り込み優先制御レジスタ00h
IE_EXE8h拡張割り込み許可レジスタ00h
GPIO_IECFhGPIO割り込み許可レジスタ00h
IPB8h割り込み優先制御レジスタ00h
IEA8h割り込み許可レジスタ00h

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

ビット名前アクセス備考リセット値
7EARWグローバル割り込み許可制御ビット
1: E_DISは0で割り込みを有効にします。
0: 全ての割り込み要求をマスクします。
0
6E_DISRWグローバル割り込みディセーブル制御ビット
1: 全ての割り込み要求をマスクします。
0: EAは1で割り込みを有効にします。
このビットは通常、フラッシュROM操作中に一時的に割り込みを無効にするために使用されます。
0
5ET2RWTimer2割り込み許可ビット
1: T2割り込みを有効にします。
0: マスク。
0
4ESRWUART0割り込み許可ビット
1: UART0の割り込みを有効にします。
0: マスク。
0
3ET1RWTimer1割り込み許可ビット
1: T1割り込みを有効にします。
0: マスク。
0
2EX1RW外部割込み1許可ビット
1: INT1割り込みを有効にします。
0: マスク。
0
1ET0RWTimer0割り込み許可ビット
1: T0割り込みを有効にします。
0: マスク。
0
0EX0RW外部割込み0、LED制御カード割込み許可ビット
1: bLED_OUT_ENで選択されたINT0/LED割り込みを有効にします。
0: マスク。
0

拡張割り込み許可レジスタ(IE_EX):

ビット名前アクセス備考リセット値
7IE_WDOGRWウォッチドッグタイマ割り込み許可ビット
1: WDOG割り込みを有効にします。
0: マスク。
0
6IE_GPIORWGPIO割り込み許可ビット
1: GPIO_IEで有効な割り込みを有効にします。
0: GPIO_IEのすべての割り込みをマスクします。
0
5IE_PWM1RWPWM1割り込み許可ビット
1: PWM1割り込みを有効にします。
0: マスク。
0
4IE_UART1RWUART1の割り込み許可ビット
1: UART1の割り込みを有効にします。
0: マスク
0
3IE_ADCRWADC割り込み許可ビット
1: ADC割り込みを有効にします。
0: マスク。
0
2IE_USBRWUSB割り込み許可ビット
1: USB割り込みを有効にします。
0: マスク。
0
1IE_TMR3RWTimer3割り込み許可ビット
1: Timer3の割り込みを有効にします。
0: マスク。
0
0IE_SPI0RWSPI0割り込み許可ビット
1: SPI0割り込みを有効にします。
0: マスク。
0

GPIO割り込み許可レジスタ(GPIO_IE):

ビット名前アクセス備考リセット値
7bIE_IO_EDGERWGPIO エッジ割り込みモード許可:

本ビットは0でレベル割り込みモードを選択します。GPIOピン入力が有効レベルの場合、bIO_INT_ACTが1で、常に割り込み要求を行います。GPIO入力が無効レベルの場合は、bIO_INT_ACTが0で割り込み要求をキャンセルします。

本ビットは1でエッジ割り込みモードを選択します。GPIO端子に有効なエッジが入力されると、割り込みフラグbIO_INT_ACTが発生して割り込み要求を行います。この割り込みフラグはソフトウェアではクリアできません。レベル割込みモードでリセットするか、対応する割込みサービスルーチンに入るしかありません。
0
6bIE_RXD1_LORW本ビットは 1 で UART1 の受信ピン割り込みを有効にします(レベルモードはアクティブロー、エッジモードは立下りエッジ)。
このビットを0にすると無効になります。
iRS485モードではXA/XB差動入力を選択し、非iRS485モードではbIER_PIN_MOD1 = 1/0でRXD1またはRXD1_端子を選択します。
0
5bIE_P5_5_HIRW本ビットは1で、P5.5割り込み(レベルモードはアクティブHigh、エッジモードは立上りエッジ)を有効にします。
無効にするには、このビットを0にします。
0
4bIE_P1_4_LORW本ビットは1で、P1.4割り込み(レベルモードはアクティブLow、エッジモードは立下りエッジでアクティブ)を有効にします。
無効にするには、このビットを0にします。
0
3bIE_P0_3_LORW本ビットは1で、P0.3割り込み(レベルモードではローレベル、エッジモードでは立下りエッジで有効)を有効にします。
無効にするには、このビットを0にします。
0
2bIE_P5_7_HIRW本ビットは1で、P5.7割り込み(レベルモードはアクティブHigh、エッジモードは立上りエッジ)を有効にします。
無効にするには、このビットを0にします。
0
1bIE_P4_1_LORW本ビットは1で、P4.1割り込み(レベルモードではローレベル、エッジモードでは立下りエッジで有効)を有効にします。
無効にするには、このビットを0にします。
0
0bIE_RXD0_LORW本ビットを1にするとUART0の受信ピン割り込みが有効になります(レベルモードはアクティブロー、エッジモードはアクティブ立下りエッジ)。
無効にするには、本ビットを0にします。
bUART0_PIN_X = 0/1でRXD0またはRXD0_ピンを選択します。
0

割り込み優先制御レジスタ(IP):

ビット名前アクセス備考リセット値
7PH_FLAGR0高優先度割り込み実行フラグ0
6PL_FLAGR0低優先度割り込み実行フラグ0
5PT2RWTimer2割り込み優先制御ビット0
4PSRWUART0割り込み優先制御ビット0
3PT1RWTimer1割り込み優先制御ビット0
2PX1RW外部割り込み1優先制御ビット0
1PT0RWtimer0割り込み優先制御ビット0
0PX0RWLEDコントロールカードおよび外部割込み0割込み優先制御ビット0

拡張割り込み優先制御レジスタ(IP_EX):

ビット名前アクセス備考リセット値
7bIP_LEVELR0現在の割り込みネスティングレベルフラグビットです。
このビットが0の場合、割り込みなしまたは入れ子になっているレベル2の割り込みを意味します。
このビットが1の場合、現在のネストされたレベル1の割り込みを意味します。
0
6bIP_GPIORWGPIO割り込み優先制御ビット0
5bIP_PWM1RWPWM1割り込み優先制御ビット0
4bIP_UART1RWUART1割り込み優先制御ビット0
3bIP_ADCRWADC割り込み優先制御ビット0
2bIP_USBRWUSB割り込み優先制御ビット0
1bIP_TMR3RWTimer3割り込み優先制御ビット0
0bIP_SPI0RWSPI0割り込み優先制御ビット0

IPレジスタとIP_EXレジスタは、割り込みの優先度を設定するためのレジスタです。ビットが1に設定されている場合は、対応する割り込みソースの優先度が高くなります。0にクリアすると対応する割り込みソースの優先度が低くなります。同レベルの割り込みソースに対しては、デフォルトの優先順位が設定されています。表9.1.1にデフォルトの優先順位を示します。PH_FLAGとPL_FLAGの組み合わせは、現在の割り込みの優先度を示します。

表9.1.3 現在の割り込み優先度ステータス表示

PH_FLAGPL_FLAG現在の割り込み優先順位の状態
00現在割り込みなし
01優先度の低い割り込みを実行中
10優先度の高い割り込みを実行中
11予期せぬ状態、未知のエラー