CodeZine(コードジン)

特集ページ一覧

論理演算の様子を観察

LED表示でシフト演算の動作を見る

  • LINEで送る
  • このエントリーをはてなブックマークに追加
2008/10/03 11:00

目次

プログラムを少し変更してみよう

 次に、いったんPM plusへ戻って(SM+は終了させなくてOKです)、プログラムを変更してみます。図14のように、8行目のP2 = 1;P2 = 3;にしてみましょう。

図14:ポート2への代入値を変えてみる
図14:ポート2への代入値を変えてみる

 修正したら、ビルドしてSM+で動作させます。これまではビルドとディバグは個々に呼び出していましたが、たぶんすでにお気づきのように[ビルド]メニューには「ビルド->ディバグ(A)」という、一連の動作を連続して行ってくれる便利な項目もあります(図15)。

図15:プログラムを修正したら、[ビルド->ディバグ]を行う
図15:プログラムを修正したら、[ビルド->ディバグ]を行う

 P2 = 1;P2 = 3;に変更しただけですから、ほとんどの方が文法エラーなどなしにSM+へ制御が移ったと思います。ミスタイプしてしまってエラーが出たときは、落ち着いて修正し、再度[ビルド->ディバグ]をしてください。SM+ではこれまで同様、アイコンで1行ずつ実行してみてください。

 P2 = 3;を実行すると(黄色いカーソル行が10行目にある状態)、ポート2は3、つまり2進数で0011になるので、図16のように下位2桁分のLEDが点灯します。次に10行目から1ビット左シフトを実行していきますが、このとき表示がどのように変化するか予想を立ててから1行ずつ実行してみてください。さて、予想通りになりましたでしょうか?

図16:P2に3を入れた(P2の端子に3が出力された)状態
図16:P2に3を入れた(P2の端子に3が出力された)状態

 あとはみなさんで、P2の初期値(8行目の代入値)や、シフトの量や向きを変えたりして、いろいろ試してみてください。もうあなたは、歌番組や街の光が流れる電飾を見たとき、シフト演算子が頭に浮かぶようになってしまったことでしょう。実際にあのような表示は、実現方法はハードウェア(回路)かソフトウェアかの違いはあっても、「シフト動作(演算)」で実現しているのです。


  • LINEで送る
  • このエントリーをはてなブックマークに追加

バックナンバー

連載:たった5つのルールではじめるC言語開発

もっと読む

著者プロフィール

  • 舘 伸幸(タチ ノブユキ)

    NECマイクロシステム株式会社 勤務 NPO法人SESSAME 所属 開発ツールのソフトウェア開発を経て組込みソフトウェア開発に従事。プライベートにも半田ごては手放さない。 2006年からSESSAME に参加。若い世代に物を作る楽しさを伝えていきたい。

あなたにオススメ

All contents copyright © 2005-2021 Shoeisha Co., Ltd. All rights reserved. ver.1.5