MPLAB Xのインストール

icon 項目のみ表示/展開表示の切り替え

概要

MPLAB XはPIC用のアセンブラ・リンカ・ライブラリエディタ・シミュレータ・ソースエディタが統合されたソフトです。
MICROCHIPより下記のURLから無料で入手することができます。ここでは、MPLAB Xをインストールし簡単サンプルプログラムをPICに書き込み実行してみます。
http://www.microchip.com/pagehandler/ja-jp/family/mplabx/
ここでは、Windows(x86/x64) MPLAB X IDE V1.80 2013/05/06 320MB

インストール

ダウンロードしたzipファイルを展開し管理者権限でMPLABX-v1.85-windows-installer.exeを実行します。

プロジェクトの作成

FileメニューよりNew Projectを選択します。
Nextをクリックし、デバイス名を選択します。ここではPIC18F14K50を対象にしますので、FamilyはPIC 18、DeviceはPIC 18F 14K50を選択します。
Nextを選択します。
Hardware Toolsの選択をします。ここではPICkit3を使用するので、当該ツールを選択します。
Select Compilerの選択をします。ここではアセンブラを使用するのでmpasm(v5.51)を選択します。
プロジェクトのディレクトリとファイル名を指定します。Set as main projectにチェックを入れFinishをクリックします。

アセンブラファイルの作成

FileメニューよりNew Fileを選択します。
Microchip Embeddedよりpic_8b_general.asmを選択します。
Nextをクリックします。
ファイル名を指定します。
文字コードを指定をS-JISなどに変更します。
後から漢字が文字化けするので文字コードを変更(ディフォルトは ISO-8859-1)すると訳がわからないエラーに悩まされることがあります。

アセンブラ時の良くあるエラー

Error[113] ????.ASM ??? : Symbol not previously defined (nnnnn)
エラー表示のとおり、シンボルnnnnnが見つからない場合にこのエラーがでます。

次のソースの場合mainが定義されていないのでエラーが出ます。


        #include 

        CONFIG FOSC = HS,CPUDIV = NOCLKDIV,PLLEN=ON,WDTEN=OFF,LVP=OFF;not WDT

        org 0
        goto   start
start
        goto main

        END

Error[129] ????.ASM ??? : Expected (END)

ソースにENDの記載がない場合にこのエラーが出ます。
次のソースの場合ENDが記述されていないため、このエラーが出ます。


        #include 

        CONFIG FOSC = HS,CPUDIV = NOCLKDIV,PLLEN=ON,WDTEN=OFF,LVP=OFF;not WDT

        org 0
        goto   start
start
        goto start

Warning[202] ????.ASM ??? : Argument out of range. Least significant bits used.

次のコードで200を代入するところでワーニング。数値のディフォルトが16進数なので200は16進数と認識されている。10進数では512なので、1バイトを超えているためワーニングが発生する。10進で200を表現するためにはd'200'と修正する。

;
        #INCLUDE 
        CONFIG FOSC = HS,CPUDIV = NOCLKDIV,PLLEN=ON,WDTEN=OFF,LVP=OFF;not WDT

Tcount1 EQU 0

        org 0
        goto   start
start
        movlw   200
        movwf   Tcount1
        goto    start

        END

USB-IO2(AKI)をPICkit3で書き込む

USB-IO2(AKI)にPICkit3を接続し、アイコンをクリックすると書き込みが始まります。書き込みが終了するとUSB-IO2(AKI)がリセットされ書き込まれたプログラムが実行されます。