外部割込みIRQ0-3

解説

IRQ2に接続されたスイッチを押すとLEDは消灯。 IRQ3に接続されたスイッチを押すとLEDは点灯。

回路図

サンプルプログラム

/* 外部割込みIRQ IRQ3につないだスイッチを押すとLED(P50)が点灯し、 IRQ2につないだスイッチを押すとLEDが消灯するプログラム(irq01.c) 2003/10/20(Mon) */ #include<3664.h> int main(void) { DI; /* 割込み禁止 */ IO.PMR1.BIT.IRQ3=1; /* P17をIRQ3にセット */ IO.PMR1.BIT.IRQ2=1; /* P16をIRQ2にセット */ IEGR1.BIT.IEG3=0; /* IRQ3の立ち下がりエッジを検出 */ IEGR1.BIT.IEG2=0; /* IRQ2の立ち下がりエッジを検出 */ IRR1.BIT.IRRI3=0; /* IRQ3割込み要求フラグをクリア */ IRR1.BIT.IRRI2=0; /* IRQ2割込み要求フラグをクリア */ IENR1.BIT.IEN3=1; /* IRQ3割込み許可 */ IENR1.BIT.IEN2=1; /* IRQ2割込み許可 */ EI; /* 割込み許可 */ IO.PCR5=0x01; /* P50のみ出力 */ IO.PDR5.BIT.B0=0; /* P50を0に */ while(1){ ; } } void int_irq2(void) { DI; IRR1.BIT.IRRI2=0; IENR1.BIT.IEN2=0; IO.PDR5.BIT.B0=0; /* P50を0に */ IENR1.BIT.IEN2=1; /* IRQ2割込み許可 */ EI; } void int_irq3(void) { DI; IRR1.BIT.IRRI3=0; IENR1.BIT.IEN3=0; IENR1.BIT.IEN3=1; /* IRQ3割込み許可 */ IO.PDR5.BIT.B0=1; /* P50を1に */ EI; }

実行例

AKI-H8/3664 QFP版の目次へ

トップページへ

SEO [PR] 爆速!無料ブログ 無料ホームページ開設 無料ライブ放送