どうも、メガネAです。
今回は何気に一度も使ったことなかったPICマイコンを使ったので、準備や書き込み手順についてまとめました。
開発環境(ソフト)->開発環境(ハード)->プロジェクトの作成->実際に書き込み
の順で解説していきます。
多少参考になるかもしれん。
開発環境を整える(MPLAB X IDEのインストール)
まず最初に書き込み方法を検索したんですが、どうやら「MPELAB IDE」なるものが主流となっているらしいです。
今回はこのソフトウェアを開発環境として使用することにしました。
MPLAB X IDEをインストールする
まず最初に以下のMPLABダウンロードページへアクセスします。「ダウンロード」をおすとインストーラを選択する画面になるので、自分の環境にあったものをインストールします。

「電子工作のためのPIC16F活用ガイドブック」という名著があるんですが、この辺りを見ながらやってると「MPLAB IDE」なので名前が変わったのだろうか?
ググるとこっちが主流の開発環境みたいになっているので、ようわからんがこっちを使います。
1つめのウィンドウ:インストール開始しますの合図

「Next」を押します。
2つめのウィンドウ:利用規約

「I accept the agreement」を押します。
3つめのウィンドウ:プロキシ設定

「Next」を押します。だいたいハードウェア書き込みソフト系はデフォルトの場所にインストールしとかないとめんどくさいことになることが多いらしいので、今回もC直下にします。
4つめのウィンドウ:インストールするアプリケーションの種類を選択

IDEで対応させるマイコンの種類などを選択できます。
必要な項目にチェックを入れて「Next」を押します。
基本的にどのマイコンでも使えるように全部チェック入れておいていいと思います。(デフォルトで全部チェック入っています。)
5つめのウィンドウ:インストールを開始します

インストールの開始について確認を求められるので、開始します。
「Next」を押します。
6つめのウィンドウ:インストール進捗状況

インストールの進捗状況が表示されるので、そのまま待ちます。(結構かかります)
終わったら「Next」を押します。
7つめのウィンドウ:【重要】インストール完了とコンパイラのダウンロード確認
7つ目のウィンドウは重要です。IDEのインストールが終わると以下のような画面が表示されます。

上から順に、
・MPLAB X IDEのインストール完了
・MPLAB X IDEの起動
・MPLAB IPEの起動
・XCコンパイラのインストール←重要!
となってます。IPEは何のことだかわからん。
XCコンパイラはプログラムをマイコンに書き込む際に必要な奴です。Cとかアセンブラとかをマイコンが認識するファイルへ変換するやつ。
これのチェックがデフォルトでは外れており、ないとプログラムのコンパイルができません。

チェックを入れたら「Finish」を押します。
開発環境を整える(MPLAB XC8 Compiler のインストール)
うそぉおおんん、、、、
先ほどコンパラをインストールする、にチェックを入れたんですが、どうやら自動ではやってくれない模様。
MPLAB X IDEの起動と同時に、以下のようなページが勝手に開きます。
MPLAB XC Compilers :コンパイラセットのダウンロード

8bit、16bit、32bitのマイコンが選べるみたいです。今回はまず8bit用のXC8からインストールしてみます。
「Download XC8 Compiler」をクリックします。
1つめのウィンドウ:インストール開始の案内
クリックすると以下のようなページに飛ばされるのでwindows用のものをダウンロードしました。
ダウンロードしたら、インストーラを起動します。以下のようなウィンドウが最初に出ます。

「Next」を押します。
2つめのウィンドウ:利用規約への同意

「I accept the agreement」を選択し、「Next」をクリックします。
3つめのウィンドウ:ライセンスタイプの選択

ここではコンパイラのライセンスの種類について聞かれているみたい。
フリー、ワークステーション、ネットワーククライアント、の3つがあるみたいですが、たぶんフリーだと思います。
「Next」をクリックします。
5つめのウィンドウ:インストール場所の確認

コンパイラのインストール場所について聞かれています。デフォルトで問題ないと思います。
「Next」をクリックします。
6つめのウィンドウ:コンパイラのセットアップ

・PC上のほかのユーザーアカウントでも使用できる状態にするか?
・環境パスを設定するか?
について聞かれています。
環境パスは自分で設定するとめんどくさかった記憶があるので今回は両方ともチェックを入れました。
「Next」を押します。
7つめのウィンドウ:コンパイラのインストール準備完了

「Next」を押します。
8つ目のウィンドウ:インストール進捗状況

完了したら「Next」をクリックします。
9つめのウィンドウ:インストール完了通知とライセンス情報

インストールの完了通知および現在のライセンスに関する情報が表示されます。
フリーユーザーなら「Next」を押す、と書いてあるので押します。
10こめのウィンドウ:コンパイラインストール完了通知

「Finish」を押して終了します。
以上でXC8コンパイラのインストールは完了です。
どのマイコンでもいいように、他の16,32ビット用も同じ手順でインストールします。
プログラム書き込み環境を整える(ハードウェア)
次にハードウェアの書き込み環境を整えます。
PICはマイコン単体なので以下のようにUSBコネクタとかはありません。

なので書き込むための装置が必要になります。
書き込み装置は自作もできるらしいですが、単純に楽なのでPICKIT3を使います。
PICKIT3なんですが、マイクロチップ社の公式モデルはすでに販売・流通が停止しているみたいです。海外サイトとかでもないのかなぁ~と調べたんですが、純正と言って出してるのもほぼ互換機みたいです。
現状互換機しかないようなので、Amazonなどで購入しました。
割と高いのでびっくりしました。
ほかの海外サイトでも販売されてますが、送料込みで考えるとだいたい似たような価格帯になりそうです。
・PICKIT3 本体
・マイコン固定用のジグ(上記商品の場合は緑色のやつです)
・USBケーブルとPICKIT3とジグ接続用のケーブル
の三つがあれば大丈夫だと思います。
プロジェクトを作成する
上記までの説明で、ソフト・ハードで必要な環境が整いました。
次は実際に書き込みをテストしてみたいので、プロジェクトを作成していきます。
まずはMPLAB X IDEを起動します。

「File」- > 「New Project...」をクリックします。

ここの項目はよくわからない、、、とりあえずマイクロチップ社の書き込み体系で書き込みたいので一番上のものを選択しました。

次に書き込み対象のハードウェアについて聞かれるので、手元に用意したマイコンの型番を選択します。
Toolはなしでも先に進めました。

デバッグ用ヘッダーはデバッグ用に特別に作られたデバイス、らしいので、今回はNoneのままで行きます。

コンパイラの種類を選択します。
詳細を確認してませんでしたが、「-as」が付くのは確かアセンブラ用なので、今回は上のやつ(多分C)を選択します。

プロジェクトの名称・保存場所などを求められるので、適切に埋めて「Finish」を押します。

これでプロジェクト(のワークスペース)が作成されました。
次にメインとなるCファイルを追加していきます。

左上のプロジェクトエクスプローラーにはファイルわけのフォルダが用意されているみたいです。
今回はソースファイル(man.c)に追加したかったのでここで右クリックを押して作成します。

ここでは新規に追加するファイルの設定を行います。
名前は適当につければ大丈夫だと思います。場所の設定があるんですが、これはソースファイルを個別に管理できるということなんでしょうか?よくわからないので今回は未記入のままにしておきました。

以上でソールファイルの追加は完了です。
PICKIT3を使用してマイコンへプログラムを書き込む
次にPICマイコンへの書き込みテストを行ってみます。(プログラムの内容はなにもない状態)
まずはPICKITを付属のUSBケーブルでパソコンへ接続します。
ネットにつながっていればドライバ等は勝手に入ってくれるはず。
PCとジグとの接続
それが終わったら以下のようにPICKIT本体とゼロプレッシャージグを付属のケーブルで接続します。

この時のピン配置ですが、マイクロチップ社のPICKIT3取説にピン配置が明記されてます。
白い矢印が書かれた場所が、1番ピンになります。



ゼロプレッシャー治具の方にもピン配置が書かれているので、これに合わせて接続します。
ピン数に応じたジャンパの設定
次にマイコン本体へ接続を行います。
このゼロプレッシャー治具ですが、どのマイコンでも同じく使えるわけではなく、基板上にあるジャンパをマイコンのピン数に応じて変更してあげる必要があります。
ゼロプレッシャー治具を裏返すと、以下のようにジャンパ設定の指示が明記されています。
今回使用している「PIC16F1827」は「DIP18パッケージ」になるので、
・J1:B
・J2:2-3
・J3:2-3
となります。以下の画像のように設定します。


マイコンを載せる
次にマイコンを載せます。
この治具の使い方ですが、結構癖があります。
裏面を見るとジャンパの設定とともに、切りかき(三角形)のついた印があると思います。これがマイコンを載せる際の位置と向きを表しています。
つまり、マイコンによってつける位置と向きが変わってくる、ということです。(毎回端から詰めていけばいいわけじゃない。)
めんどくせぇ。。。。。

しかもこれ、マイコンの切り欠きがある方を白い方に合わせるので、18ピンのものを使用する場合は端っこまで埋まりません。
うっかり端から接続して4番と15番にVCCを加える、みたいになったらちょっとまずいかもしれない。
具体的には、以下のようにゼロプレッシャー治具に接続します。白い線の上に、1,16番ピンが来る形です。

ちょっと使いにくいかなぁ~と思います。毎回同じマイコンしか使わないならユニバーサル基板とかで用意しておいてもいいかもしれませン。
念のため、接続した後にケーブル接続用端子ののVCC、GNDとゼロプレッシャー治具側の接続を確認しておいた方がいいと思います。

PIC16F1827のVCC端子は14番ピンなので、上記画像でいうと右側の列の下から6番目の穴がVCCになっていれば問題ないと言えます。
私が購入したやつは問題ありませんでした。
PICKIT3の電源供給設定を行う
上記までで接続が完了したので、次は実際に書き込みを行っていきます。
まずはPICKIT3の電源供給についての設定を行います。
PICKIT3ではマイコンへの書き込み時に電源電圧を供給できる機能があるのですが、デフォルトだとOFFになっているので有効化する必要があります。
MPLAB X IDEを起動し(先ほどmain.cを作成した状態)、「Production」- > 「Set Projecxt Configuration」 - > 「Customize」を選択します。;

すると以下のようなウィンドウが出てきます。PIC・コンパイラ・書き込みハードの設定などを行うウィンドウらしいです。

今はPICKIT3の設定を行いたいので、左の選択欄から「PICKIT3」を選択、上部の「Option categories」から「Power」を選択します。

「Power」の項目では以下のような内容が表示されました。
「Power target circuit from PICKIT3」という項目があるので、チェックボックスにチェックを入れます。
PICの書き込みの際は電圧を自分で設定できるらしく、低電圧書き込みモードというものもあるみたいです。(ちょっと安全らしい)
そんなに簡単には壊れないらしいので5Vで設定してみました。

マイコンへプログラムを書き込む(焼く)
以上で準備は整ったので、プログラムを書き込んでいきます。
MPLAB X IDEの上部にあるマイコンへの書き込みボタン(赤枠)をクリックします。

※ウィンドウを最大化していないと選択式のウィンドウの中に隠れてしまうので、見つからないときは最大化した方がいいと思います。
マイコンへ書き込めない際の対処
上記の操作で書き込みが完了すれば問題ないですが、PICKIT3の個体差により書き込みができない場合があるようです。
自分の環境では以下のようなエラーが出ました。

内容としては、「PICKIT3では5Vでの電源供給が厳しいので外部電源を用意してほしい」といった感じです。
なので外部電源を用意します。
今回購入したゼロプレッシャー治具には、外部から電源を供給するためのUSBポートのランドが設置されているのでこれを利用することにします。
接続は以下のようになっているので、極性を間違えないようにUSBケーブルのV+とV-を接続します。

以下のような感じで接続。

これで準備は完了。
ちなみにですが、USBはハブとかじゃなくてスマホ充電用とかのACアダプタを使わないとダメなようです。
試しにPICKIT3の電源を取っているものと同じところから電源を引いてみたんですが、そもそも電流値が足らないのがダメな模様。
おとなしく充電用の機器を使いました。
マイコンへプログラムを書き込む(再)
電源を整備したので、マイコンへ再度プログラムを書き込みます。
先ほどと同じく上部の書き込みボタンを押します。
Outputウィンドウの内容を見てみましたが、このボタンでデバッグ、ビルド、書き込み、ベリファイまでやってくれるみたいです。

エラーがなければ、書き込みは完了です。
まとめ
今回はPICマイコンの書き込み方法について、
・開発環境(MPLAB X IDE)のインストール
・コンパイラ(MPLAB XC Compiler)のインストール
・MPLAB X IDEでの新規プロジェクト作成方法
・PICKIT3を使用してマイコンへプログラムを書き込む際の設定
・PICKIT3を用いた実際の書き込み方法
についてまとめました。
多少でも参考になればうれしい。
今回別の工作で初めて使いましたが、100円とかで使えるマイコンってやっぱ魅力的だよね。
今回の記事でひとまず書き込みはできると思います。環境が変わったら適宜更新していこうと思います。
それでは。