演習課題のプログラム例

作成例をリスト3に示します。

リスト3

14行目:PDR6を4ビット右シフト

PDR6
bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0
SW4 SW3 SW2 SW1 - - - -
→4ビットシフト
dumy
bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0
0 0 0 0 SW4 SW3 SW2 SW1

16行目:dumy最下位ビットのみ抽出

dumy
bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0
0 0 0 0 SW4 SW3 SW2 SW1
A N D
0 0 0 0 0 0 0 1
0 0 0 0 0 0 0 SW1

SW1のビットに1が入っていればifの中へ、0が入っていればelseの中へ

21行目:dumyを1ビット右シフト

dumy
bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0
0 0 0 0 SW4 SW3 SW2 SW1
→1ビット右シフト
dumy
bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0
0 0 0 0 0 SW4 SW3 SW2

これを4回繰り返してSW2、SW3、SW4の状態も取得します

実行結果は図9のとおりです

図9

シリアル通信編 終了