モメンタリースイッチとはPCのキーボードのキースイッチのように押しているときだけON(正確にはOFFも含めて動作)するスイッチのことです。このスイッチをつかってLEDをON/OFFするにはチャタリングがあるので若干工夫が必要です。ソフトはどのようにこのチャタリングによる誤動作を防止するかでいろいろな方法があります。大きくわけて以下の4つがあります。<C18編>尚、高い信頼性の回路にする場合はソフトのフィルタだけではなく、スイッチ回路にハードのフィルタも挿入します。電源を投入した時はLEDは消灯していこと。LEDが消灯している状態で、モメンタリースイッチを押すとLEDが点灯すること。スイッチから指を離してもLEDは点灯し続けること。LEDが点灯している状態で、モメンタリースチッチを押すとLEDが消灯すること。スイッチから指を離してもLEDは消灯し続けること。XC32コンパイラの場合の例を紹介します。ユニバーサルキバンのキバン構成とする。*************************************************************RB0ポートからのINT割込みを紹介します。PIC16F877のRB0ポートからのINT割込み例を紹介します。PIC16F1937のRB0ポートからのINT割込み例を紹介します。*************************************************************RB2からのINT2割込みを紹介します。XC32コンパイラの場合の例を紹介します。ユニバーサルキバンのキバン構成とする。変化した時に割込を発生させることができます。この変化割込みをRB5ポートで使ったスイッチ信号検出の例を以下に示します。PG15ピンのLEDをON/OFFする<試作品回路図>(→回路図のPDFファイル)PIC32MZ2048ECH100をつかった場合の回路図を以下に示します。PLL_FRCを選択する。外部割り込みとタイマ割り込みを同時に使う多重割り込みによる方法2つの割り込みに優先順位はつけない場合です。タイマ1の割り込みを併用すること・2つの割り込みに優先順位はつけないものとする。・ボタンスイッチSW1はINT0の外部割り込みで検出されるスイッチとして、これを押すとLEDが点灯と消灯をくりかえすこと・ボタンスイッチSW2とSW3はタイマ1の割り込みで検出されるスイッチとし、それぞれのSWに対応してLEDが点灯と消灯をくりかえすこと<試作品回路図>(→回路図のPDFファイル)PIC18F87K90をつかった場合の回路図を以下に示します。外部割り込みとタイマ割り込みを同時に使う多重割り込みによる方法2つの割り込みに優先順をつけた場合です。タイマ1の割り込みを併用すること・INT0の割り込みはタイマ1の割り込みより高い優先順位とする。・ボタンスイッチSW1はINT0の外部割り込みで検出されるスイッチとして、これを押すとLEDが点灯と消灯をくりかえすこと・ボタンスイッチSW2とSW3はタイマ1の割り込みで検出されるスイッチとし、それぞれのSWに対応してLEDが点灯と消灯をくりかえすこと<試作品回路図>(→回路図のPDFファイル)PIC18F87K90をつかった場合の回路図を以下に示します。