
PICマイコンにプログラムを書き込み方法を知りたい。
この記事では電子工作などよく使用する PIC マイコンへプログラムを書き込む手順を紹介します。
PIC マイコンは数百円程度で手に入る安価なマイコンということもあって、初学者向けの電子工作でも取り扱われることがあります。
PIC マイコンにプログラムを書き込む前に、開発環境のインストールや PIC マイコンと書き込みライターの接続など準備事項がありますので、図を使って分かりやすく解説をしています。
ぜひ、参考にしてみてください。
この記事で紹介する書き込み環境
- PICマイコン:16F1827
- パソコン:Windows 11 のノートパソコン
- 統合開発環境:MPLAB X IDE – version6.20
- 書き込みライター:PICkit3
PIC マイコンで電子工作を始めたい方は、こちらの記事もオススメ!!

オススメの参考書
PIC マイコンの基本的な使い方を知りたい方にオススメの参考書です。
簡単な LED ボードの製作から、液晶表示器や温湿度センサの使い方、パソコンとの通信、Wi-Fiを使ってクラウドにデータを送信しグラフ表示させるところまで、具体的な製作方法が紹介されています。
参考書には専門用語の説明やアドバイスや回路のポイントなどが豊富に記載されているので、内容を理解しながら読み進めることができる1冊となっています。
PICマイコンへプログラムを書き込むには?

PIC マイコンへプログラムを書き込む為には開発環境のインストールと書き込みライターが必要です。
開発環境
まず開発環境ですが、マイクロチップ社が提供する「MPLAB X IDE」というソフトウェアをインストールします。このソフトウェアは統合開発環境(IDE:Integrated Development Envirronment)と呼ばれ、プログラムを書いたり、PIC に書き込むためにプログラムを変換する機能などが付いています。
- プログラムを書く
- PIC に書き込む為にプログラムを変換する
- 書き込みライターにプログラム(データ)を書き込む
- パソコン上(MPLAB IDE)で動作確認などのシミュレーションが出来る
「MPLAB X IDE」はマイクロチップ社のサイトからお使いの PC の OS に合わせてインストーラーをダウンロードすることができます。サイトの URL は後述します。
書き込みライター
PIC マイコンにプログラムデータを書き込むには専用の書き込みライターを使います。書き込みライターはマイクロチップ社がいくつか販売しており、PICkit3 や PICkit4、PICkit5、MPLAB SNAPなどがあります。
マイクロチップ社の書き込みライターであれば、「MPLAB IDE」との相性もよく(マイクロチップ社が開発したソフトウェアなので当たり前ですが)、プログラムの書き込みメニューから書き込みライターの型番を選択して書き込むことができます。
PICkit3

PICkit5

MPLAB SNAP

これらの書き込みライターは「秋月電子」や「マルツ」などの通販サイトで入手することができます。
MPLAB X IDEをインストールする

はじめに「MPLAB X IDE」のインストーラーをダウンロードします。
下記の URL からマイクロチップ社の MPLAB IDE 専用ダウンロードサイトへ移動します。
\ MPLAB X IDEのダウンロードサイトへ /
マイクロチップ社が提供するソフトウェア
ダウンロードサイトに移動したら、下へスクロールします。OS 毎にインストーラーが分かれていますので、自分の環境にあったインストーラーを選択してインストールします。

インストーラーをダブルクリックして起動します。
次のSetupウィザードが開くので、[Next] ボタンをクリックします。

利用規約画面が表示されつので、[I accept the agreement] ボタンをクリックして、[Next] ボタンをクリックします。

インストールするフォルダの場所はデフォルトのままで[Next] ボタンをクリックします。

インストールする IDE の種類や PIC マイコンの種類を選択します。特に指定がない場合は全ての項目にチェックをいれた状態で [Next] ボタンをクリックします。

インストールの準備が整ったら、[Next] ボタンをクリックします。

次の画面になり、インストールが開始されます。

インストールが終わると次の画面になります。

開発環境のインストールの次に行うことは、「XC コンパイラ」のインストールです。インストール完了画面の[XC compilers are not installed…] にチェックを入れておきます。
MPLAB XC8 コンパイラをインストールする

続いて、MPLAB XC8 コンパイラをインストールします。
先ほどの画面でチェックを入れていた場合、コンパイラのインストーラーが自動でダウンロードされます。

チェックをしていなかった場合は次の URL からダウンロードサイトを開きましょう。
\ MPLAB XC コンパイラのダウンロードサイトへ /
マイクロチップ社が提供するコンパイラ
PIC マイコンの bit 数毎(8bit、16bit、32bit マイコン)にコンパイラが分かれています。
使用するマイコンの bit 数に合わせてインストールしてもいいですし、全てのコンパイラをインストールしてもいいです。使用用途に合わせてインストールしてください。ここでは 8bit マイコン用のコンパイラをインストールします。
次のSetupウィザードが開くので、[Next] ボタンをクリックします。

利用規約画面が表示されつので、[I accept the agreement] ボタンをクリックして、[Next] ボタンをクリックします。

コンパイラのライセンスの種類を選択します。ここでは[Free]を選択して[Next]ボタンをクリックします。

コンパイラのインストール先を指定します。特に指定がない場合はデフォルトのままで [Next] ボタンをクリックします。

コンパイラの設定を選択します。
- PC上の別アカウントで使用できるようにするか?
- 環境パスを設定するか?
ここも特に指定がない場合は全てにチェックを入れて、[Next] ボタンをクリックします。

インストールの準備が整ったら、[Next] ボタンをクリックします。

次の図のようにインストールが開始されます。

インストールが完了したら、現在のラインセンスに関する情報が表示されます。ラインセンスのタイプが [Free] の場合は [Next] ボタンをクリックします。

※「If you want to use the FREE MPLAB XC8 C Cpmpiler, Click Next」と記載があります。
これでコンパイラのインストールは完了です。[Finish]ボタンをクリックして画面を閉じます。

PICマイコンにプログラムを書き込む

MPLAB X IDE で PIC マイコンにプログラムを書き込む手順を紹介します。
ここでは「PICkit3」という書き込みライターを使用します。他の書き込みライターを使用する場合も基本的に手順は同じです。
PICマイコンとPICkit3を接続する
マイクロチップ社の書き込みライター「PICkit3」はUSBケーブルでパソコンと接続します。 PIC マイコンへの書き込みは PICkit3 の先端部分にある 6ピンを使用します。矢印が付いた部分が1番ピンです。

- MCLR
- Vdd
- Vss
- ICSPDAT/PGD
- ICSPCLK/PGC
- LVP(使わない)
次に PIC マイコンのピン配置を見てみましょう。

この18ピンのうち5ピンを使って PIC マイコンにプログラムを書き込みます。具体的には4番ピン(MCLR)、14番ピン(Vdd)、5番ピン(Vss)、13番ピン(ICSPDAT)、12番ピン(ICSPCLK)を使用します。下図の青枠部分が対象ピンです。

PICkit3 と PIC マイコンの割り当てピンが一致するように接続をします。MCLR は 10kΩ程度の抵抗でプルアップをします。PIC マイコンの他のピンは接続する必要はなく、オープン状態で大丈夫です。

ブレッドボードに PIC マイコンを載せて PICkit3 と接続したのが下図になります。

Vdd と Vss を間違えないように、Vdd のジャンパー線は赤色にし Vss のジャンパー線は黒色にしました。
プロジェクトを作成する
PIC マイコンにプログラムを書き込むには、「MPLAB X IDE」でプロジェクトを作成し、書き込みをします。
MPLAB X IDE を起動して、[File] -> [New project] の順にクリックをします。

Choose Projectの画面が表示されます。今回はマイクロチップ社が提供する PICkit3 を使用するので、Categories は「Microchip Embedded」を選択し、Projects は「Standalone Project」を選択します。

続いて書き込み対象となる PIC マイコンの型番を入力もしくは選択します。ここでは、「PIC16F1827」を使用するので、Device 入力欄に PIC16F1827 と入力しました。
Tool は選択欄の右にある「Show All」にチェックを入れて「PICkit3」を選択し、[Next] ボタンをクリックします。。

デバッグ用のヘッダーは「None」のままにし、[Next] ボタンをクリックします。

次にコンパイラの種類を選択します。ここでは先ほどインストールしたコンパイラを選択します。

プロジェクトの名前、保存先などを指定します。
また、エンコードは「Shift JIS」を選択しましょう。「Shift JIS」を選択することでプログラム中のコメントに日本語を使用することができます。もし、違うエンコードを選択した状態でプログラム中に日本語を記述すると、次回プロジェクトを開いた時に文字化けしてします。

最後に[Finish] ボタンをクリックして、プロジェクトを作成します。
これでプロジェクトのワークスペースが作成されました。

PICマイコンの情報を設定する
PIC マイコンのプログラムでは PICの動作設定を指定する必要があります。正しく指定していないと PIC マイコンが正しく動作しない原因になります。
MPLAB X IDE ではマウスのクリック操作だけで設定できる機能がありますので、これを利用します。
メニュバーから[Production] -> [Set Configuration Bits] を選択します。

MPLAB X IDEの画面の下部に Configuration Bits の設定欄が表示されます。

Option 列で設定の変更を行うことができます。設定を変更したら[Generate Source Code to Output] ボタンをクリックします。ここではデフォルトのままで進めていきます。
ソースファイルを追加する
プロジェクトにメインとなる Cファイルを追加します。このファイルにC言語でプログラムを書きます。
「Source File」フォルダの上で右クリックして [New] -> [main.c] の順に選択してファイル(main.c)を追加します。

ファイルの情報(名前や場所)を設定する画面が表示されます。ここでは main.c ファイルを追加したいので「main」として名前を付けます。

正常にファイルが追加されると次のように main.c ファイルが開きます。

プロジェクトをビルドする
ソースコードを書いたら、ビルドしてソースコードが正しいかをチェックします。ここではデフォルトのソースコードをビルドします。
「ツールバー」の [Clean and Build for Debugging Main Project] をクリックします。

ビルドが実行されます。「Output」ウィンドウにビルドが成功したことが表示されれば成功です。

PICkit3から電源を供給する
PIC マイコンにプログラムを書き込むには、PIC マイコンに電源を供給する必要があります。外部から電源を供給しない場合は、PICkit3 から電源を供給します。
PICkit3 の電源供給を有効化するには、MPLAB X IDE で設定します。
メニュバーから[Production] -> [Set Project Configuration] -> [Customize] を選択します。

左側にある「Categories」から PICkit3 を選択し、「Option categories」から「Power」を選択します。

「Power target circuit from PICKIT3」にチェックを入れて電源を供給する設定に変更します。供給電圧は5Vにします。

PIC マイコンに書き込む
PC に PICkit3 を接続して、ツールバーから[Make and Program Device Main Project] ボタンをクリックします。

※「Tool not found」が表示された場合
書き込みライターの設定ができていない場合、「Tool not found」が表示されます。

「Show All」にチェックを入れて、選択欄から PICkit3 を選択して [OK] ボタンをクリックします。

プロジェクトを保存して、PICkit3 を接続した状態で MPLAB X IDE を再起動してください。
選択欄の中にある「PICkit3-SN:*********」を選択して [OK] ボタンをクリックします。

次の画面が表示されたら[OK] ボタンをクリックします。同じ型番でも 3.3V電圧もしくは5V電圧で駆動するものがあり、5Vを供給しても問題ないかという確認画面です。

PICマイコンへの書き込みが開始され、「Output」ウィンドウに書き込みが成功したことが表示されれば成功です。

※「エラー」が表示された場合
PICkit3 は PIC マイコンへ供給する電圧を測定する機能があります。マイコンへ供給する電圧が 5V 以下だった場合、「次のように指定された電圧が供給できない」というエラーが表示されます。

この場合は
- PICkit3が供給する電源電圧を下げる
- PICkit3から電源は供給せず、外部電源を使ってマイコンへ電源を供給する
のどちらかで対処できます。
PICkit3 が供給する電源電圧を下げる場合は、次の画面で電圧を変更します。

まとめ

この記事ではマイクロチップ社が提供する MPLAB X IDE を使って、PIC マイコンへプログラムを書き込む手順を紹介しました。
今回は秋月電子で販売されている PIC16F1827 を使用しましたが、他の PIC マイコンでも同じ手順で書き込みができます。
PIC を使って電子工作する際、この記事が参考になれば幸いです。
オススメの参考書
PIC マイコンの基本的な使い方を知りたい方にオススメの参考書です。
簡単な LED ボードの製作から、液晶表示器や温湿度センサの使い方、パソコンとの通信、Wi-Fiを使ってクラウドにデータを送信しグラフ表示させるところまで、具体的な製作方法が紹介されています。
参考書には専門用語の説明やアドバイスや回路のポイントなどが豊富に記載されているので、内容を理解しながら読み進めることができる1冊となっています。
以上、最後まで読んでいただきありがとうございました。