この応用編の最後のテーマとして、MPLABXのプラグイン機能である「MCC」について説明します。
MCCとは
MCC(Microchip Code Configurator)とは、一言でいうとプログラムの基本部分のコードを自動生成してくれる機能です。
って説明されても「基本部分」とは具体的にどの部分なのか、「自動生成してくれる」とはどこまで自動生成してくるのか、いろいろ疑問があると思います。
そこで応用編の最後として、このMCCを使ったプグラミングについて、実際に手を動かしながら確認してみます。
ブレッドボードの回路は、今まで使用してきたものをそのまま使います。
最初にMCCのイメージをつかんでおきたいと思います。
比較のため、今まで作成してきたプログラムを振り返ると、例えばマイコンの動作周波数設定やピンの入出力設定は、自分でコードを書いてきました。(OSCCON = 0b01011010;
など)
また、ADコンバータやPWMの機能を使う場合も、マイコンのいろいろなレジスタを操作するコードを書いてきました。(ADCON = 0b00001001;
など)
MCCを使用すると、メニューから設定項目を選択するだけで、動作周波数の設定やピンの入出力設定などのコードを自動生成してくれます。
また、ADコンバータなどの機能を使用する場合、関数を呼び出すことによりADコンバータの結果を得ることができるようになります。(今までのプログラムでは、ADコンバータを読み取る場合GO = 1;
などと謎の?コードを書いていましたが、MCCではADC_ConversionStart();
という、名前から動作が想像つく関数を呼び出します)
このようなコードを自動生成してくれるのはとても助かりますが、自動生成したコードでどのような機能が提供されているのか、何をしてくれるのかについては、ある程度自動生成されたコードを理解する必要があります。
なんて、もっともらしい説明をしましたが、こんな説明では結局どのようなコードを自動生成してくれるのか、さっぱりわかりませんよね。
そこで、MCCを使ってこれから簡単なプログラムを作成しながら使い方を確認していきたい思います。
作成するプログラムの動作は、ブレッドボードの回路をそのまま使用して、RA2ピン(5番ピン)に接続している2つのスイッチ状態をADコンバータで読み取り、片方のスイッチが押されたらLEDを点灯、もう片方のスイッチが押されたらLEDを消灯、というプログラムを作成してみます。
MCCの種類
以前のバージョンのMPLAB X IDEでは「MCC」という機能だけがありました。
その後、MCCは拡張されて今は複数種類のMCCがあります。(ややこしいので一つにまとめてくれればいいですが、進化の過程でこのようになっているようです…)
2025年6月時点では、「MCC Classic」「MCC Melody」「MPLAB Harmony」の3種類のコード生成ツールがあります。
MPLAB X IDE上では「MCC」という名前ですが、作業途中に上の3つの用語が出てくることもありますので、それぞれの特徴について把握しておきたいと思います。
MCCは拡張されて進化しましたが、当初は「MCC」という機能のみでした。現在、この「MCC」は「MCC Classic」という呼び名で他のMCCと区別されています。
3種類の特徴は次のようになっています。
項目 | MCC Classic | MCC Melody | MPLAB Harmony |
---|---|---|---|
位置付け | 従来バージョン | 新世代バージョン | 新世代高機能 バージョン |
ターゲットマイコン | 8ビットPICメイン (PIC32M/CやSAMは非対応) | 8ビット、16ビット、32ビット PIC | 主に32ビット (PIC32やSAM) |
機能 | マイコンが持つ機能 中心 | マイコンが持つ機能 中心 | ミドルウェアやアプリケーションフレームワークもカバー |
クラウド対応 | 非対応 | MPLAB Xpress対応 | MPLAB Xpress対応 |
生成コード | デバイス依存性が 比較的高い | 移植性が意識 されている | 移植性が意識 されている |
この比較は主観も入っているのでイメージとして理解していただければと思います。
ただ、Microchip社の公式見解としは、MCC ClassicからMCC Melodyへの移行を勧めています。
この記事では、MCC Melodyを使用してMCCによるプログラムを作成します。
MPLAB X IDEバージョン確認
古いバージョンのMPLAB X IDEでは「MCC Melody」が利用できないことがあります。
そこで、最初にMPLAB X IDEのバージョンを確認をお願いいたします。
Vesion 6.10以降であれば利用できますが、できればVersion 6.20以降を利用するようにしていただければと思います。
ただし、次の注意点があります。
MPLAB X IDE Version 6.25以降では、「PICkit3」が非サポートになりました。
書き込みツールとして「PICkit3」を利用されている場合、Version 6.20を利用していただければと思います。
MCC新規プロジェクトの作成
MCCを利用したプログラムは次回以降の記事で作成します。
今回はMCCの新規プロジェクトを作成しておきます。
作成手順は通常のプロジェクト作成(MCCを使用しないプロジェクト作成)とほぼ同じになります。
MPLAB X IDEの「File」メニューから「New Projects…」を選択します。
プロジェクトウイザードが表示されますので、最初の画面で「Microchip Embedded」の「Application Project」を選択します。

次に使用するマイコンの種類と書き込みツールを選択します。
Device欄に「pic12f1822」と入力して「PIC12F1822」を選択し、Tool欄の「Show All」をONにして、お使いの書き込みツールを選択します。

次の画面はそのままにして「Next>」ボタンで進めます。

次の画面で、コンパイラとして「XC8」を選択します。

最後にプロジェクト名などを設定します。次のように設定してください。
設定項目 | 設定内容 |
---|---|
Project Name | 「MCCTest」としましたが、他の名前でも構いません。 |
Set as main project | ONにします。(メインプロジェクトにする設定です) |
Open MCC on Finish | ONにします。(プロジェクト作成後、自動的にMCC画面を開く設定です) |
Encoding | 「ISO-8559-1」を選択します。 「UTF-8」の場合、警告メッセージが出ることがあるので、今回は「ISO-8559-1」を選択します。 |

設定後、「Finish」ボタンをクリックすると、MCCの種類を選択する画面になります。
デフォルトでは「MCC Melody」を使用するようになっていますので、このまま右下の「Next」ボタンをクリックします。(もし「MCC Classic」を使用する場合は下の方にある「For MCC Classic Content:Click Here」の「Click Here」をクリックします)

プロジェクトの新規作成時は必要なファイルなどが読み込まれますので、少し時間がかかります。

1分ぐらいでしょうかね、待っていると新規プロジェクトが作成され、MCCの設定画面が表示されます。

これで準備ができました。
今回の作業はここまでになります。この状態でMPLAB X IDEを終了しても問題ありません。
通常のプログラム作成では、このあとmain.cファイルを新規作成し、そのファイルにプログラムを作成します。
一方、MCCを使用する場合は、このMCC設定画面で必要な設定を行い、main.cを含むプログラムファイルを自動生成することになります。
なお、MCCにより自動生成したプログラムと比較するために、次回は手書きプログラムを作成します。
更新履歴
日付 | 内容 |
---|---|
2017.12.5 | 新規投稿 |
2018.12.2 | スクリーンショットをMPLABX IDE v5.10に変更 |
2025.6.2 | MCC Melodyの内容に更新 |