SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

DeveloperZine(デベロッパージン)- エンジニアの意思決定を支える技術情報メディア ProductZine

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

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

論理演算の様子を観察

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


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

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

次のページ
論理和(OR)を試してみよう

この記事は参考になりましたか?

たった5つのルールではじめるC言語開発連載記事一覧

もっと読む

この記事の著者

舘 伸幸(タチ ノブユキ)

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

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

CodeZine(コードジン)
https://codezine.jp/article/detail/3727 2009/03/26 18:01

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー