[再掲]PICで電飾はじめの一歩 その4 PICへの書き込みに挑戦
PICにプログラムを書き込む
今回はいよいよPICへの書き込みを行います。MPLABを起動してください。下の図のように、4分割された画面が出て来ると思います。
4画面の中身自体は私の作業途中のものが写っていたりしますので、同じでなくても大丈夫です。
準備1:プロジェクトの作成
作業はプロジェクトという単位で管理されます。まずは新しいプロジェクトを作成しましょう。画面左上の「File」プルダウンメニューから「New Project」を選んでください。
New Projectというウィンドウが開くはずです。Srandalone Projectが選ばれていますのでここはそのままNextを押します。
次はデバイスを選ぶ画面です。今回はPIC12F683です。プルダウンメニューから探してもいいのですが、やたらメニューが長くて探すのが大変なので入力したほうが早いかも。選んだらNextです。
次の画面はデバッガのオプションのようですが初心者の我々がこうした機能が必要なほど大変なプログラムを組むのはまだ先でしょう。そのままNext。
書き込み機材の選択です。PICkit3を選んでNext。
コンパイラの選択です。XC8を選んでNext。
プロジェクト名をつけます(緑丸)ここではTest01とします。またEncoding(赤丸)のところでISO-2022-JPを選ぶと但し書きなどで日本語を使えるのでちょっと便利です。
これで左上のウィンドウに新しく自分が作ったプロジェクトのフォルダができているはずです。
準備2:ソースファイルの作成
フォルダの左の「+」をクリックしてサブフォルダを開きます。「Source File」を左クリックしてメニューを「New」→「main.c」とたどってクリックします。
ファイルネームをつけます。デフォルトのnewmain.cのままでも構いませんが、ここでは番号01を追加しました。
Finishを押すと画面右上のウィンドウに次のような書き込みが自動で現れるはずです。
書き込みの中身を一応説明しますと…
●コメント
上のグレーの数行はプログラムの実行に関係のないメモ書きで、「コメント」と呼ばれます。一番上の行が「/*」 、一番下が「*/」になっていますね。このように「/*」と「*/」に囲まれている部分は実行の際に無視されるので、プログラムの注意書きやメモ書きに使われます。ここでは作成日時や作成者の名前をMPLABが勝手に書いてくれています。
●#include
その次の緑色の#include<xc.h>は「xc.hという仕事手順書を取りに行きなさい」という意味です。コンピュータ上でよく行われる処理はすでに先人がコンピュータに分かる形で手順書を作っておいてくれていて、MPLABをインストールするとそれも同時にインストールされます。プログラムで使う命令にはこの手順書にしたがってやれという物が沢山ありますので、普通はこれがなくてはプログラムができません。
●main関数
そのまた次のvoid main(void){ } は、main関数と呼ばれるもので、C言語で作られるプログラムはこのmain関数から実行されます。
#include とmain() はC言語でプログラムする上で書かないプログラマはいません。プログラムを作るときに絶対プログラマが書くに決まっていることを、MPLABが先に書いてくれているわけです。
とはいえ今回はPICへの書き込みがうまくいくかのテストなので、MPLABの親切機能は使いません。今画面に写っているものは消して、プログラム自体は以下のものをコピーし、右上のウィンドウにペーストしてください。
↓↓↓↓↓↓↓↓↓↓↓ここから↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
#include <xc.h>
#define _XTAL_FREQ 1000000
// CONFIG
#pragma config FOSC = INTOSCIO
#pragma config WDTE = OFF
#pragma config PWRTE = ON
#pragma config MCLRE = OFF
#pragma config CP = OFF
#pragma config CPD = OFF
#pragma config BOREN = ON
#pragma config IESO = OFF
#pragma config FCMEN = OFF
void main(void) {
OSCCON=0b01000000;
ANSEL= 0b00000000;
CMCON0=0b00000111;
TRISIO=0b00000000;
GPIO= 0b00000000;
while(1)
{
GP0=1;
__delay_ms(500);
GP0=0;
__delay_ms(500);
}
}
↑↑↑↑↑↑↑↑↑↑ここまで↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑
ビルド
コピー&ペーストができたら、ソースファイルは出来上がった恰好なわけですので、これをPICに書き込むための作業に進みます。
金槌のアイコンをクリックしてください。
左下のウィンドウに文字が流れ、やがて緑の文字でBUILD SUCCESSFULと出るはずです。
これはコンパイラがプログラムをPICが理解できる形に無事直し終わったというメッセージです。この作業をビルドと言います。
何か大きな間違いがあるときは、赤字でBUILD FAILEDと出ます。出たらコピペのミスをしていないか確認してみてください。ビルドの途中で何か注意を促すウィンドウが出るかもしれませんが、そのままOKを押してください。
PICへの書き込み作業
次にこれをPICに書き込みます。まずはPICkit3から書き込みの電源をとる設定を作ります。Run→Set Project Configuration→Customizeとメニューを辿ってください。
*この記事は2016年当時のものです。最近のバージョンでのこの記事の検証を kjymkw さんがしてくださっています。最近のバージョン(X IDE V5.3x)では、以下のようにProduction->Set Project Configuration→Customize と変更されています。(2020年5月追記)
Project Propertiesというウィンドウが開きます。左の「Categories」の中のPICkit3をクリックしてください。
右の「Option categories」のプルダウンメニューの「Power」を選んでください。
「Power target circuit from PICkit3」の横のチェックボックスにチェックを入れます。
これでPC側の準備は完了です。この設定作業が必要なのは初めてMPLABとPICkitを使って書き込みするときだけで、それ以後はここから説明する作業だけでOKです。
ブレッドボードのヘッダピンにPICkit3を差し込みます。
そのままでは安定が悪いと思いますので手で支えておいてください。次にMPLABのツールバーにある緑の下向きの矢印のアイコンをクリックしてください。書き込みが開始されます。
書き込みの途中で「回路の電圧大丈夫?」みたいなことを聞いてくるウィンドウがでるかもしれませんがそのままOKを押してください。
また「電圧足らねーよ」というようなことを赤字で言ってきて書き込みに失敗する場合は電池ボックスのスイッチを入れた状態で書き込みをしてください。
書き込みが行われている間、右下のウィンドウに進捗が示され、最後にProgramming/Verify completeと表示されます。
書き込みがうまくいけば、その少し前からLEDが点滅を始めていると思います。
そっとPICkit3を引き抜いてください。PICkitからの電気がなくなるのでLED点滅は止まりますが、電池ボックスのスイッチを入れればまた点滅を始めるはずです。
ご自身の手で点滅回路を完成させたわけですがいかがでしょうか。次はこの回路にどんな振舞いをさせるかを指示する段階です。