« 「天文屋のためのマイコン入門」MPLAB IDEの使い方1 | トップページ | 「天文屋のためのマイコン入門」MPLAB IDEの使い方3 »

2014年4月 5日 (土)

「天文屋のためのマイコン入門」MPLAB IDEの使い方2

プロジェクトを作成したら、いつでもこのプロジェクトを開くことにより、プログラム開発を継続できます。ちなみに既存のプロジェクトを開く場合は、

[Project]->[Open]

です。

途中、次のようなメッセージが出る場合があります。

1404051

Aboluteは、単一ファイルでプログラムを作成する場合なので、[Abolute]をクリックしてください。

さて、前回、main.asmという空のソースファイルを作成しました。そこへ次のようなプログラムを記述してください。プログラムの解説はまた後でします。とりあえず、この通りプログラムを記述します。

1404052

間違えないように↓これをコピペすると良いでしょう。

__CONFIG H'2007', H'3F18'

BSF  3,5
CLRF 27
CLRF 5
BCF  3,5

MOVLW b'11111111'
MOVWF 5
GOTO 4

END

さて、プログラムは記述しただけでは、ワープロ文章と同じ単なる文字ファイルです。これをプログラムに変換する作業が必要です。これをビルドといいます。F10キーを押すとビルドされます。

1404053

これでプログラムが見事、ビルドされました。これでマイコンに読み込ませることができます。

上記赤丸のところが重要です。エラーの数が0、最後に「BUILD SUCCEEDED」と出れば正解です。

プログラムにエラーあるとどうなるか、試して見ましょう。プログラムの

「BCF  3,5」

の行をわざと、

「BCF  3」

に変えて見ます。そうすると次のようになります。

1404054

最後に「BUILD FAILED」と赤く表示され、途中、エラーメッセージが表示されます。

Error[128]   G:\PIC\SAMPLE\MAIN.ASM 6 : Missing argument(s)

この行をダブルクリックすると、エラーがあったソースファイルの行に移動できます。これは便利なのでぜひ覚えておいてください。

さて、このエラーの意味するところは、エラー番号128番、場所はファイルMAIN.ASMの6行目、エラーの内容は、Missing argument(s)ということですが、

Missing argument(s)の意味は分かるでしょうか?

慣れもありますが、エラーメッセージからエラー内容を把握するのはけっこう難しいです。単なる記述ミスの場合は分かりやすいのですが、そうでない場合は難しいです。

ただ、エラーメッセージが出るだけマシで、エラーなくビルドできたのに、実際動作しない場合があります。これがほんとに難しい。

結局、マイコンというのはちゃんと理解しないと難しいということです。だから、この連載では、手抜きなしでちゃんと解説したいと思います。

さて、

「BCF  3,5」

の記述を元に戻し、F10キーで再度、ビルドしてください。

マイコンに読ませるプログラムがどのようなものか、ちょっと覗いて見ましょう。

[View]->[Program memory]を開きます。

1404059

最初の1683 01A7 0185 1283 30FF 0085 2804

の部分がプログラムです。ちなみに3FFFとあるのは空の部分です。

プログラムをソースファイルと対応させて見ましょう。

__CONFIG H'2007', H'3F18'

BSF  3,5  ------>     1683
CLRF 27  ------>    01A7
CLRF 5   ------>    0185
BCF  3,5  ------> 1283

MOVLW b'11111111'   ------> 30FF
MOVWF 5  ------>0085
GOTO 4  ------>2804

END

左側を、ソースプログラムといいます。右側のビルドされたプログラムを機械語プログラムといいます。

ソースプログラムを機械語プログラムに変換する作業をビルドと言います。

今日はここまで、プログラムが完成したので、次回、書込みを行います。

|

« 「天文屋のためのマイコン入門」MPLAB IDEの使い方1 | トップページ | 「天文屋のためのマイコン入門」MPLAB IDEの使い方3 »

コメント

コメントを書く



(ウェブ上には掲載しません)




« 「天文屋のためのマイコン入門」MPLAB IDEの使い方1 | トップページ | 「天文屋のためのマイコン入門」MPLAB IDEの使い方3 »