汎用I/Oを使って、LEDを操ってみようS08ではじめるマイコン制御プログラミング(3)(2/3 ページ)

» 2008年11月27日 00時00分 公開
[高田浩,@IT MONOist]

LEDを光らせてみる

 だんだんと制御っぽくなってきたでしょ? 小学校でやった豆電球の実験みたいですか。もうちょっとだけ待ってください。今度はもう少し高級になります。GPIOの使い方が分かってきたところで、これまで学んだことを応用してみましょう。

 デモ・ボードには、LEDが8個も並んでいます。せっかくですから8ビットのカウンタを作ってみましょう。0x00〜0xff(00000000b〜11111111b)までカウントアップする変数の値を2進数で表現します。ただし、デモ・ボードのLEDは負論理ですので注意します。


カウンタ値とLEDの対応 表1 カウンタ値とLEDの対応

 プログラム例を示します。2進数のビットの重みをそのまま対応するLEDで表示します(リスト3)。

リスト3 リスト3

 実際にLEDを見てみると、LEDが全部点灯しているように見えます。今度は「c1++」行にブレークポイントを設定し、ループを繰り返すごとにカウンタc1の値が増えることを確認してみましょう。

 確認したところ、LEDの表示も正しいようです。どうやら繰り返し処理が早すぎてLEDの変化に目が追い付いていないために、LEDが常時点灯しているように見えるようですね。

Copyright © ITmedia, Inc. All Rights Reserved.