MPLAB X の使い方(Simulator編)

最終更新日:2019.07.08
by M.Yanaka

更新情報(上の方が新しい)

2020.07.16 一部の内容を更新(シミュレーションの手順を追加).
2019.07.08 一部の内容(使用する道具をimulatorに、ソースファイル作成の準備)を更新.
2019.07.05 Simulator編に変更して掲載.
2018.07.19 掲載開始.

プロジェクトの作成手順

(0)すでに他のプロジェクトが開いている場合には、他のプロジェクトを閉じる。

 ・「File」メニューから「Close All Project」サブメニューを選択する。

(1)プロジェクト(例:led_1)を新規に作成する。

 ・「File」メニューから「New Project…」サブメニューを選択して、
  「New Project」ダイアログウィンドウを開く。

(注)ダイアログウィンドウ(dialog window)とは、
   GUI(Graphical User Interfase)アプリケーションプログラム(application program)が
   ユーザと対話をするために開いたウィンドウのこと。ダイアログボックス(dialog box)ともいう。

 ・「New Project」ダイアログウィンドウの第1ステップ「Choose Project」において、
  作成するプロジェクトの種類を指定する。
   「Categories:」(中央)で「Microchi Embedded」を選択し(すでに選択されているが)、
   「Project:」(右側)で「Standalone Project」を選択し(すでに選択されているが)、
   「Next >」(下方)ボタンを押す。

(注)「Categories:」のように、複数項目の一覧からひとつの項目を選択する方式で、
   データを入力できるGUI部品を、一般に、リストボックス(list box)という。

 ・第2ステップ「Select Device」において、
  使用するPICの種類として、PIC16F877を指定する。
   「Device:」テキストフィールドに直接「pic16f877」とキー入力すると、
   「PIC16F877」と「PIC16F877A」とが表示されるので、
   あらためて、「IC16F877」を選択して、
   「Next >」(下方)ボタンを押す。

(注)「Device:」のように、データを直接キー入力できるGUI部品を、
   一般に、テキストフィールド(text field)という。
   また、データ入力の途中で、複数の選択肢が表示されて、
   リストボックスと同様に項目を選択することもできる。
   (選択後は、選択された項目のみが表示される。)
   正確には、このようなGUI部品を、ドロップダウンリスト(drop-down list)という。
   右側の逆三角印をクリックして選択モードにすることもできる。

 ・第4ステップ「Select Tool」(Stepsが表示されないのはシステムのバグ)において、
  使用する道具として、Simulatorを指定する。
  (PICkit3等のプログラム書き込み装置は使用せずに、パソコン上でプログラムをシミュレートする。)
   「Hardware Tools」の「Simulator」を選択して、
   「Next >」(下方)ボタンを押す。

 ・第6ステップ「Select Compiler」において、
  使用するプログラム言語(のコンパイラ)としてアセンブリ言語(アセンブラmpasm)を指定する。
   「mpasm」の「mpasm(v5.74」を選択して、
   「Next >」(下方)ボタンを押す。

(注)アセンブラ「mpasm」のバージョンは「v5.74」とは限らない。
   最新のもの(バージョン番号の大きいもの)を選択すると良い。

 ・第7ステップ「Select Project Name and Folder」において、
  作成するプロジェクト名と、それらを保存するフォルダ(ディレクトリともいう)を指定する。
   「Project Name:」テキストフィールドに、例えば、「led_1」とキー入力して、
   「Project Location:」テキストフィールドの右側にある「Browse…」ボタンを押して、
   保存するディレクトリとして、例えば、「H:¥PIC2018」等を選択する(「Open」ボタンを押す)。
  また、第7ステップの本来のプロジェクト名指定とは関係ないが、
  ここで、ソースプログラムで使用する日本語の文字コードを指定する必要がある。
   「Encoding:」ドロップダウンリストで、「UTF-8」を選択する。

 ・最後に、「Finish」(下方)ボタンを押す。

(2)ソースファイル(例:led_1.asm)を新規に作成する。

 ・ソースファイル(souce file)作成の準備として、ファイルの登録場所「Source Files」を選択する。
  MPLABXのProjectsサブウィンドウ(左上)において、
   「led_1」プロジェクトの下の「Source Files」をクリックして、選択する。

 ・「File」メニューから「New File…」サブメニューを選択して、
  「New File」ダイアログウィンドウを開く。

 ・「New File」ダイアログウィンドウの第1ステップ「Choose File Type」において、
  作成するファイルの種類を指定する。
   「Categories:」(中央)で「Assembler」を選択し、
   「File Types:」(右側)で「AssemblyFile.asm」を選択し(すでに選択されているが)、
   「Next >」(下方)ボタンを押す。

 ・第2ステップ「Name and Location」において、
  作成するソースプログラムのファイル名と、それらを保存する場所(ディレクトリ)を指定する。
   「File Name:」テキストフィールドに、例えば、「led_1」とキー入力して、
   「Finish」(下方)ボタンを押す。

 ・作成した新規ソースファイルへ、シミュレーションしたいプログラムをコピー&ペーストする。

(注)「Project:」テキストフィールド(「led_1」と表示されている)等については、
   (1)のプロジェクトの作成が正しければ、特に変更する必要はないが、
   念のために、それらの内容を確認しておくと良い。

(注)「Source Files」が表示されていない場合には、
   「led_1」の左の+印をクリックして、
   「Source Files」を表示させる。
   (このとき、「led_1」の左の+印はー印に変わる)。

(注)Projectsサブウィンドウが表示されていない場合には、
   「Window」メニューから「Projects」サブメニューを選択する。

(2')Webなどからダウンロードしたソースファイルを利用する場合

  手順(2)の代わりに、
 ・MPLABXのProjectsサブウィンドウ(左上)において、
  ソースファイル(souce file)として、(例えば、)「led_1.asm」を登録する。
   「led_1」プロジェクトの下の「Source Files」を右クリックして、
   表示されるフローティングメニュー(flowting menu)から、
   「Add Existing Item…」を選択して、
   「Select Item」ダイアログウィンドウから使用するソースファイル」を選択する。

(注意)すでに作成済みのプロジェクトを利用する場合には、
   「File」メニューから「Open Project…」サブメニューを選択して、利用する。

シミュレーションの手順

(3)シミュレーション時にWレジスタやファイルレジスタの値の変化を確認するために、これらを表示するウィンドウを開く。

 ・「Window」メニューから「Target Memory Views」サブメニューを選択し、
  さらに「Program Memory」をクリック(選択)して、「Program Memory」サブウィンドウ(subwindow)を開く。

 ・「File Registers」と「SFRs(Special Function Registers)」についても同様にして開く。
  Wレジスタは、ファイルレジスタではないが、「SFRs」ウィンドウに表示される。

 ・これらのサブウィンドウは、右下のサブウィンドウにまとめて重ねられ、
  タブを選択して表示を切り替える方式で利用する。
  このままでは不便なので、該当する(サブ)ウィンドウのタブをドラッグして、
  MPLABXのメインウィンドウの外部へ引き出して(さらにサイズや形や位置を整えて)、
  独立したウィンドウとすると良い。

(4)デバッガ(debugger)用にソースプログラムファイルをアセンブルする。

 ・「Debug」メニューから「Debug Main Project」サブメニューを選択する。
  あるいは、MPLABXメインウィンドウの上部に並んでいるアイコン「Debug Main Project」を選択する。
  (こちらの方が便利である)

 ・デバッグ用にアセンブルすると、デバッグ用のアイコンがメインウィンドウ上部に表示されるので、
  これらから一時停止「Pause」アイコンをクリック(選択)する。

(注)このとき、誤って、デバッグ終了「Finish Debugger Session」アイコンをクリックすると、
   デバッガが終了してしまい、シミュレートできなくなるので注意せよ。

(5)シミュレーション(simulation)する。

 ・ソースファイルのサブウィンドウ(右上)で、実行を開始したいプログラムの行をクリックし、
  カーソル(cursor)を合わせる。カーソルのある行は、灰色の背景で表示される。

 ・「Set PC at Cursor」アイコンをクリックして、プログラムカウンタ(PC)をカーソルの行に設定する。
  PCの指し示す行は、薄緑色の背景で表示される。

 ・「Step Into」アイコンをクリックして、プログラムを1ステップずつ実行させる。
  1ステップ実行後に、変更されたWレジスタやファイルレジスタの内容を、
  「File Registers」ウィンドウ等で確認する。
  変更された値は、分かりやすいように、赤字で表示される。

(注)必要に応じて、実行前にファイルレジスタに適当な値を設定しておくこと(初期値は0)。
   「File Registers」ウィンドウの該当するアドレスをクリックして、直接にキーボードから値を打ち込む。
   数値の後にenterキーを忘れないこと。
   変更された値は、分かりやすいように、赤字で表示される。

【参考】

 ・デバッガ(debugger)とは、プログラムの誤りを修正するためのソフトウェアツールであるが、
  シミュレーション(simulation)機能を含むので、プログラミング初心者が学習のために利用することができる。

 ・デバッグ(debug)とは、プログラムの誤りを修正すること。「虫を取る」ともいう。

 ・バグ(bug)とは、「小さな虫」の意味であるが、プログラムの誤りを指す用語として用いられてきている。
  動詞のbugには、「邪魔をする」とか「イライラさせる」という意味もある。