前回、PIC開発用のIDEであるMPLABのインストールが出来たので、今回はソフト作成の流れを確認しつつ、LEDを点滅させるプログラムをアセンブラで作成します。
プログラムは、実際にPICに書き込まなくてもPC上でデバッグ実行できるので、今回の作業内容ではPICのICはまだ必要ありません。
また、途中でも説明していますが、今回作成のプログラムではLED点滅のプログラムを作っていますが、実は一点問題があります。それは、動作が非常に速いので実際にPIC上で動作させると速すぎ、点滅している事が目視では確認できないことです。
PC上でのデバッグ確認では支障が無いので、ここではPC上での操作方法と動作確認方法を主に確認してください(その辺のところはこの後に順次、説明・解決していく予定です…)。
それでは、今回の作業手順です。
まずは、MPLABを起動し、Project->Project Wizardを選択します。
プロジェクトの開始ダイアログが表示されるので、次へをクリックします。
実行に使用するPICの型番を選択します。今回はPIC16F84Aを選択します。
※PIC16F84Aは入手が容易で、価格も安いので学習目的には最適です。
開発言語の選択画面です。
今回はアセンブラでの動作確認を行いたいのでMPASM Toolsuiteを選択します。
プロジェクトファイルの保存先を指定します。
(今回はC:\home\project\testフォルダの下に、test01という名前のプロジェクトを作成します)
次に、既存の作成済みファイルをプロジェクトに追加するための画面が表示されます。
今回は、まっさらな状態からプログラムを作成するので、そのまま次へをクリックします。
最終確認画面です。そのまま完了をクリックします。
test01.mcwというプロジェクトのワークスペースが表示されている事を確認します。拡張子のmcwはおそらくmicrochip workspaceの略かと思います。
また、ここでワークスペースの中にプロジェクト”test01.mcp”が登録されている事が確認できます。
次に、動作確認用のプログラムを作成します。
ツールバーの新規作成アイコンをクリックすると、Untitledの新規ファイルが作成されます。
新規ファイルに,アセンブラで以下のプログラムを書きます。
(とりあえず今のところは、内容を気にせず丸々コピーしてみてください)
PICアセンブラ入門
; LEDを点滅させる ; (点滅が速過ぎるので、実機で実行すると目視では確認できませんが...) LIST P=16F84 INCLUDE P16F84A.INC ORG 0 ; ポートBのRB0ピンを出力にする BSF STATUS, RP0 CLRF TRISA CLRF TRISB MOVLW B'00000001' MOVWF PORTB BCF STATUS, RP0 LOOP ; ポートBを全ビットOFFにする MOVLW B'00000000' MOVWF H'05' ; ポートBの再下位ビットをONにする MOVLW B'00000001' MOVWF H'05' goto LOOP END |
プログラムを作成したら、File->Save Asをクリックして、ファイルを保存します。
今回、ファイル名はtest.asmにしました。
ファイル保存後、File->Add New File to Projectをクリックし、先ほど保存したファイルをプロジェクトに登録します。
↓
メニューよりProject->Build Allをクリックしてコンパイルを行います。
Outputウィンドウに、”BUILD SUCCEEDED”と表示される事を確認します。
メニューよりDebugger->Step Intoをクリックして、プログラムを実行します。
(DebuggerメニューにStep Intoは、こちらの作業を行ってください)
プログラムのウィンドウに緑の矢印が表示され、今実行している行が表示されます。
F7キーを押すたびに1ステップづつ、プログラムが進みます。
また、メニューよりView->File Registersをクリックすると、レジスタ一覧のウィンドウが表示されます。
↓
F7キーをどんどん押していき、下のほうに行くとレジスタのPORTAの値が1⇔0と交互に変わることが確認できます。
↓ ↑ F7を押していくと値が交互に変わります
また、メニューバーの三角が2つあるアイコン(animateアイコン)をクリックすると、F7を押さなくてもどんどん進んでいってくれます。
以上で、プロジェクトの作成から、プログラムの作成、実行までの流れの確認は完了です。
教えて下さい。
指示通りの流れで行いましたが、Build All以降の流れでコンパイルエラーになります。