PICの、入力を使う、スイッチでの入力の2回目。
前回の続きです。
前回は、プッシュスイッチの入力で、LEDの点灯と消灯をコントロールするのに、アクティブローとアクティブハイがあるのを勉強したのですが、今回はその応用です。
前回の回路は、
入力、出量共、アクティブローの回路。
入力、出量共、アクティブハイの回路。
上の2回路では、入力と出力は、共に同じタイプの回路でしたが、状況によっては入力と出力は、別タイプの回路のほうが良い場合もあるとの事で、下のような回路があります。
入力がアクティブローの回路で、出力がアクティブハイの回路
入力がアクティブハイの回路で、出力がアクティブローの回路
上の回路のように、入力と出力は、別タイプの回路になっています、このような回路でプッシュスイッチを押したときに。LEDが点灯するようにするには、前回組んだプログラムを変更して対応します。
前回のプログラムは、
でした、このプログラムは、入力の状態をそのまま出力しているのを、永久に繰り返しています。
対応するには、入力がハイの時、出力がロー、または、入力がローの時、出力がハイになるようにすれば解決できそうです。
つまり、入力と出力が反対になるように、入力を否定して出力すればよいようです。
従って、上のプログラムの31行目の、INdeta=RA0 を INdeta=!RA0 の様に変更すれば良いと思います。
修正したのが上のプログラムです、早速実験いたしました、結果は、スイッチを押した時LEDが点灯しました、動画的には、前回と同じなので割愛します。
追補;
上の2つのプログラムですが、31行と32行の所は、下のプログラムの31行の様にRB0へRA0を直接入れて、28行をなくしても同じ動作です。