June 08, 2007

EX.3 スイッチとLED その2

今回は、スイッチを押す度に4つのLEDが順番に点滅するプログラムです。

プログラムは、次のようになります。

プログラム全体



スイッチは、エッジ検出タイプを選択します。


VALUATORからStatus Encoderを選んで、次のように記述します。

Counterは、変数も兼ねています。

判別式などは、C言語などと同じです。具体的なものについてはこのページを参照して下さい。

LEDは、ON/OFFタイプを選択します。


それぞれのLEDの制御はVALUATORを使わずに、LEDのTransferのStatus Encoderに記述します。

LED1は、Counterが0の時だけ点灯します。


同様に、LED2は、Counterが1の時だけ点灯します。


LED3は、2の時に点灯します。


LED4は、3の時に点灯します。

Simulationで動作を確認したら、さっそくPSoCに焼いて動かしてみましょう。
Posted by onchanks at 19:54:10 | from category: PSoC Express | DISALLOWED (TrackBack) TrackBacks
Comments

yaokuma:

今回のプログラムでスイッチをエッジ検出
のタイプにした理由を教えていただけます
か?
(June 10, 2007 08:20:08)

onchanks:

エッジ検出は瞬間を捉えるのでこのような場面に最適だと思います。単なるオンの検出は、定常状態を捉えるのでスイッチがオンの間、Counterが非常に高速でカウントアップしてしまうと思います。(試していませんが)
(June 11, 2007 21:51:45)

yaokuma:

なるほど、わかりました。
PSoC Expressでは、接点のチャッタリングは
どのように、回避すればよいですか
まだプログラムがうまく読めないので
チャタリング防止の
プログラムがどこに、
組み込まれているか
よくわからないのです。
(June 11, 2007 22:42:17)

onchanks:

作成されたオブジェクトを解析した訳ではありませんが、実際のプログラムの動作を見るとエッジ検出スイッチのプログラム内である程度のチャタリング除去が行われているような気がします。
(June 11, 2007 23:45:19)
:

:

Trackbacks
DISALLOWED (TrackBack)