Microchip製 MPLAB X IDE(無料)によるPICのC言語開発環境の構築

PICを使った電子工作を行うための、C言語でPICのプログラムの開発を行う環境構築方法を紹介する。PICについて全くの初心者の方や、焼き込み環境の構築について知りたい方はまずこちらの記事を参照いただきたい。PICとは、「Peripheral Interface Controller」の略で、Microchip Technology社が販売しているマイコン(マイクロコントローラ)で、電子制御、特に組み込み分野で使われている。最近の車輌は、さらに信頼性の高いマイコンを用いて画像処理や制御などを行っているが、個人で楽しむ分には、PICは十二分の性能を持っている。

基本的な流れは、上記の通り、C言語でプログラミングしたプログラムソースコードをコンパイラを通してHEXファイルに変換、ターゲットとなるマイコンに焼き込むという流れだ。PIC製造元であるMicrochip社から無料で提供されている統合開発環境(IDE(Integrated Development Environment))を使うことで、簡単にHEXファイルを生成できる。

IDEは、PIC作成元であるMicrochip Technology社が無料で提供しているものを使用するのが良いだろう。

目次

IDEのダウンロードとインストール

無料のIDE(プログラム開発環境)のダウンロード

Microchip社のMPLABダウンロードページにアクセスし、のMPLAB X IDE Windowsをダウンロードする。2022/07/31現在、以下が最新。

無料のIDE(プログラム開発環境)のインストール

ダウンロードしたexeファイルを右クリック→管理者権限で実行。

情報提供はお好みで。私はチェック外しておいた。Update通知も不要。

他はそのままでインストール。終盤に以下のメッセージが出るので、常に信頼するにチェックしておくと楽。発行元が3つあるらしく3回出た。

この時点では、XC compilersがインストールされていない。最後の画面で以下のチェックボックス入れてFinish。

XC Compilersのページが開く

XC Conpilerのインストール

続いて、C言語で書かれたプログラムをHEX形式にコンパイルするコンパイラをインストールする。XC8/XC16/XC32の3種類がある。PICの種類によって必要なコンパイラが違うようだ。今まで使っていたやつはPIC12,16,18なのでXC8が対応しているようだが、とりあえず全部ダウンロード。

管理者権限で実行。

NextでLicence 同意。

Freeバージョンを選択。

環境設定パスは追加しておいた。他は全部デフォルトでNext押下してInstall。XC16/32も同様。繰り返し。

IDEの起動とビルドの確認

MPLAB X IDEを起動する。こんな感じの画面が出るはず。

簡単なプロジェクトを作成してビルドしてみる

File → New Projectを選択。↓のダイアログ画面が出るので、Standalone Projectを選択してNext

今回はシンプルな入門用PICであるPIC12F675を使用する。DeviceにPIC12F675を選択してNext

Select Header、およびSelect Plugin BoardはそのままスルーでNext(今回はAKIプログラマを使うため。他のPIC焼き込み環境を使えばこのあたりは適宜選択)。

次に、コンパイラを選択する。XC8を選択して、Next

適当なプロジェクト名を入力。今回は動作確認を含めてPIC12F675でLEDの点滅プログラムを作成するため、そんな感じの名前で作成。Project Location/Project Folderは任意。Cプログラム作成の際に日本語のコメントを入れるのならEncoding はShift_JISにしておくと、文字化けしない。

入力したら、Finishボタンを押下。

これで、プロジェクトの作成は完了。

テストプログラムの作成とビルド

プロジェクトができたら、Source Filesを右クリック→New→main.cを選択。

ファイル名は何でもいいが、ここでは、led_brinkingとした。こんな感じで、新規ファイルが作成される。

次に、今回焼き込みを行うPICのコンフィグレーションセッティングを行う。コツコツ手動で入力しても良いが、自動ソースコード作成ツールが用意されているのでそれを利用する。window → Target Memory Views → Configuration Bits

Configuration Bitsという、マイコンのセッティング一覧が表示されるので、以下のように変更。

変更後、Generate Source Code to Outputボタンを押下すると、自動でConfigソースファイルが生成されるのでコピーして、先程のCソース・ファイルの冒頭に貼り付ける。

あとは、メインのプログラムを記述していく。今回はGPIO2ピンに、500msごとにON/OFF信号を流すプログラムを追加する。while文がメインとなる。他の命令文は、おまじないみたいなものと理解しておけばとりあえずOK。

#define _XTAL_FREQ 4000000
void main(void) {
    CMCON = 0x07;
    ANSEL = 0b00000000;
    TRISIO = 0b00000000;
    GPIO = 0x00;
    while(1){
        GPIO2 = 1;
        __delay_ms(500);
        GPIO2 = 0;
        __delay_ms(500);
    }
}

入力したら、以下のようになるので、ハンマーの形の「ビルド」コマンドを実行する。今回はクリーンビルド(余分なファイルを全部削除してからビルド)を選択した。

ビルドが完了すると、Build SUCCESSFULの表示とともに、プロジェクトの\dist\default\productionフォルダに、HEXファイルが作成された。これを、AKIプログラマでPICに焼き込む。

今回作成したソースコード(参考)

#include <xc.h>
#pragma config FOSC = INTRCIO
#pragma config WDTE = OFF
#pragma config PWRTE = ON
#pragma config MCLRE = OFF
#pragma config BOREN = OFF
#pragma config CP = OFF
#pragma config CPD = OFF
#define _XTAL_FREQ 4000000
void main(){
	CMCON = 0x07;
	ANSEL = 0b00000000;
	TRISIO = 0b00000000;
	GPIO = 0x00;
	while(1){
		GPIO2 = 1;
		delay_ms(500);
		GPIO2 = 0;
		__delay_ms(500);
	}
}

作成したプログラムのPICへの焼き込み方法についてはこちらの記事を参照

あわせて読みたい
PIC焼き込み環境の構築(AKI-PICプログラマーVer.4) 数年前、マイコンの勉強のためにPICを弄ったことがある。当時は電子工作の知識は皆無だったので抵抗とは??プルアップとは???というレベルであったが、しばらく続け...

PIC開発のおすすめ書籍

私がPICを始めた当初は電子工作の知識は皆無だったので抵抗とは?プロアップとは???というレベルであった。出身がプログラマなので、プログラム言語はある程度理解できるが、ハードウェア寄りの知識がなかった。そのときに参考にしたのがこの書籍。

電子工作関連の本って、ハードウェアの知識はある程度持っている人向けに書かれている事が多いが、この本は、プログラムはわかるけどハードウェアはよくわからない人にとって、とても参考になると思う。CR-ROMに環境すべて入っているので簡単に初められるのが嬉しい(現在のIDEよりも古いVerを使って解説しているため、新しい開発環境をどうしても使いたい人は読み替えが必要)。ある程度C言語の基本を知っている電子工作初心者が、自分の作りたいものを形にする助けになるだろう。

¥3,755 (2024/05/18 16:24:14時点 Amazon調べ-詳細)
¥1,168 (2024/05/19 09:27:39時点 Amazon調べ-詳細)

関連記事

PICの焼き込み環境についてはこちらの記事を参照

あわせて読みたい
PIC焼き込み環境の構築(AKI-PICプログラマーVer.4) 数年前、マイコンの勉強のためにPICを弄ったことがある。当時は電子工作の知識は皆無だったので抵抗とは??プルアップとは???というレベルであったが、しばらく続け...

応用編。サンキューハザード回路はこちらの記事を参照

あわせて読みたい
PICで作る電子工作 ハザードスイッチコントローラー フリードのハザードスイッチをパドルシフトから操作している。ことの発端は、フリードスパイクのハザードスイッチの押しにくさ。これを回避するためハザードスイッチの...
この記事をSNSでシェアする
  • URLをコピーしました!

コメント

コメントする

目次