目次>5章 第2ステップ(色々な実験)>(2)2つのLEDを交互に点滅させる

2つのLEDを交互に点滅させる

更新日2005.8.4

前ページの「(1)LEDを点滅させる」を改造して、緑と赤のLEDを交互に点滅させるプログラムを作ってみます。

RB0,RB1を交互にオン/オフする
前ページの「(1)LEDを点滅させる」では、RB0とRB1を同時にオン/オフしていました。

今回は、RB0とRB1を交互にオン/オフすることで、緑と赤のLEDを交互に点滅させます。
そのためには、PORTBにセットする値を2進数で以下のようにします。この2つの値を0.5秒毎にPORTBに交互にセットすれば、緑と赤のLEDが交互に点滅します。

00000001RB0:オン,RB1:オフ
00000010RB0:オフ,RB1:オン

PORTBに上の値をセットするプログラムは次のようになります。

<RB0:オン,RB1:オフ>

MOVLW01h
MOVWFPORTB

<RB0:オフ,RB1:オン>

MOVLW02h
MOVWFPORTB

プログラム全体
上記2つの処理を組み込んだプログラムはこちらです。
メモ帳などのテキストエディタに取り込んで、LED3.ASMという名で保存し、MPLABでアセンブル&PICライタでPICに書き込んで動かしてみて下さい。
MPLAB,PICライタの使い方は、「3章.第1ステップ(動かしてみる) 」を参照して下さい。

緑と赤のLEDが交互に点滅すれば成功です。