Translate

2009年10月15日木曜日

回数指定ループでLEDの点滅(2) 複合代入演算子i-=1、 i+=1

[実験 MikroC Pro PIC16F84A_LED_0012]

0.5秒間隔で下記のパターンのように4回LEDを点滅させなさい。
複合代入演算子-=、+=を使って(1)while文(2)do~while文(3)for文
3つ考えなさい。


○○●●●●○○
●●○○○○●●



(1) while文の回数指定ループ





(2) do~while文の回数指定ループ





(3)for文の回数指定ループ






unsigned short count = 4; /* 点滅回数 4回 */
型名 変数名 = 初期化子

今回のように点滅回数4回と入れる値が決まっている場合は、
変数を宣言する時に=の右側に初期値を入れます。
これを初期化(initialization)といい、その値を初期化子(initializer)と呼びます。





複合代入演算子(Compound Assignment Operators)を使ってみました。

count -= 1 は、count = count – 1 と同じ。
i+=1  は、i = i + 1 と同じ。


複合代入演算子には、
+=, -=, *=, /=, %=, &=, =, ^=, <<= and >>=
などがあります。







リセットスイッチを押した時、バウンズ(チャタリング)が発生しています。
Delay_ms(50);を追加した方が良さそうです。

mikroC PRO for PIC

0 件のコメント:

コメントを投稿