前回MPLABを使ってプログラムを作成する方法を確認したので、今回は作成したプログラムを実際にPICへ焼いてみました。
今回の書き込みを行ったのはPIC16F84Aです。
PICへの書き込みにはライタが必要なので、まずは以下のハードを用意します。
用意する道具一覧
PICkit3
今回、ROMの書き込みにはPICkit3を使用しました(PICkit2でも書き込み可能です)。
楽天だと2021年7月現在、Debug Express付きのものが1万円ほどで販売されているようです。
プログラムの書き込みだけならDebug Expressは不要です。PICkit3単体だと4000円程度で入手できます。
![]() マイクロチップ PICkit3 Debug Express DV164131 |
ブレッドボード
PICの書き込みをするだけなら、以下のように小型で安価なものでも十分です。
小型のものだと400円程度から購入できます。
![]() ブレッドボード(小型) |
PICにセンサーなどを追加して色々遊んでみたい人は、以下のようにもう少し大き目のものがお勧めです。
![]() サンハヤト SRH-53 ブレッドボード 部品やリード線を差すだけで回路が組み立てられる。ポイン… |
大きいほうも持っているのですが、今回は小型のもので動作確認しました。
ブレッドボード用のジャンプワイヤ
ブレッドボードで使用する配線用のワイヤです。
大きめのブレッドボードを購入した場合は、ワイヤも同梱されていることも多いです。
![B005AYV154](http://ec2.images-amazon.com/images/I/51oPGNcTQvL._SL160_.jpg)
ブレッドボード用ジャンプワイヤセット
PICへの書き込み方法
まずはPCへPICkit3を差し込みます。接続には必ず付属の赤いUSBケーブルを使用してください。WindowsXPで確認しましたが、特にドライバのインストールは要求されずに認識されました。デバイスマネージャのUSBヒューマンインターフェースとして、以下のようにPICkit3が認識されていればOKです。
![20120630_07](http://nanoappli.com/blog/wp-content/uploads/2012/07/20120630_07-338x300.jpg)
次にMPLABを起動し、書き込みを行いたいプログラムのプロジェクトファイルを開きます。
メニューバーよりProgramer->Select Programmer->PICkit3を選択し、チェックを入れます。
![20120630_08](http://nanoappli.com/blog/wp-content/uploads/2012/07/20120630_08.jpg)
すると、右下にConnectingというメッセージがしばらく表示されます。
![20120630_12](http://nanoappli.com/blog/wp-content/uploads/2012/07/20120630_12.jpg)
この時、PMLABでデバッグを行っていた場合は以下のメッセージが出ます。
![20120630_09](http://nanoappli.com/blog/wp-content/uploads/2012/07/20120630_09.jpg)
Debugger In Use ---------------- A programmer and a debugger cannot be loaded at the same time. Do you want to unload the debugger and continue loading the programmer? |
これは、プログラム(デバッグ)機能とPICへの書き込み機能が同時に使用できないという警告です。デバッグを終了して書き込みを行いたい為、OKをクリックします。
その後、OutputウィンドウにPICkit3タブが表示され、デバイスが検出されたというメッセージが表示されます
![20120630_10](http://nanoappli.com/blog/wp-content/uploads/2012/07/20120630_10.jpg)
PICkit3 detected Connecting to PICkit3... Running self test... Self test completed RS Version..... 01.08.22 AP Version..... 01.08.22 |
初回の使用時には、PICkit3とMPLABのバージョンによっては、ファームウェアをアップグレードを促すダイアログが表示されます。通常はファームをアップしないとしないと使用できないので、OKをクリックします。
![20120630_11](http://nanoappli.com/blog/wp-content/uploads/2012/07/20120630_11.jpg)
ファームのダウンロードとアップデートが行われます。
しばらく時間が掛かるので待ちます。
![20120630_14](http://nanoappli.com/blog/wp-content/uploads/2012/07/20120630_14.jpg)
ファームのアップデート後、再度PICkit3を刺しなおすと以下のようになります。
(今回のファームバージョンは01.27.15でした)
![20120630_15](http://nanoappli.com/blog/wp-content/uploads/2012/07/20120630_15.jpg)
PICkit3 detected Connecting to PICkit3... Running self test... Self test completed Firmware Suite Version .... 01.27.15 Firmware type ............. Midrange |
次に、電圧設定に関する警告が表示されます。
![20120630_16](http://nanoappli.com/blog/wp-content/uploads/2012/07/20120630_16.jpg)
Voltage Caution CAUTION: Check that the device selected in MPLAB IDE (PIC14F84A) is the same one that is physically attached to the debug tool. Selecting a 5V device when a 3.3V device is connected can result in damage to the device when the debugger checks the device ID. |
MPLABで選択されたデバイスと同じものが取り付けられているか確認してください。
3.3V駆動のデバイスに対してプロジェクト作成時に5V駆動のデバイスを選択しているとデバイスにダメージを与える原因となります。
メッセージを確認後、問題なければOKをクリックします。
次に接続される側であるPIC側の回路をブレッドボードで組み,PICkitと接続します。
ドキュメントによると以下の接続を行う必要があります。
![20120701_01](http://nanoappli.com/blog/wp-content/uploads/2012/07/20120701_01-500x247.jpg)
上記仕様を元に実際にブレッドボードで組んだ回路です。
使用するPICは、前述の通りPIC16F84Aです。
左下の外部に出ている線がPICkit3との接続線で、左側がpin1になります。
![20120701_07](http://nanoappli.com/blog/wp-content/uploads/2012/07/20120701_07-447x300.jpg)
こちらはPICkit側です。▲のある側がpin1で、pin6は使用しません。
![20120701_08](http://nanoappli.com/blog/wp-content/uploads/2012/07/20120701_08-500x252.jpg)
また、PICkit3は+5V電源の供給も行えるのですが、最初の動作確認は外部から電源を貰ったほうが確実です。
配線を行いPICが認識されると、Target Detectedのメッセージが表示されます。
![20120701_02](http://nanoappli.com/blog/wp-content/uploads/2012/07/20120701_02.jpg)
Target Detected Device ID Revision = 00000000 |
ここまで出来たら、次はいよいよプログラムの書き込みです。
メニューバーにPICkit3の操作用アイコンが追加されています。
![20120701_03](http://nanoappli.com/blog/wp-content/uploads/2012/07/20120701_03.jpg)
アイコンは、左から順に以下の操作を行う事ができます。
Program PICにプログラムを書き込みます Read PICからプログラムを読み出します Verify PICに正しくプログラムを書き込めたかチェックします Erase Flash Device PICからプログラムを消去します Blank Check All PICのプログラムが空であるかチェックします Release From Reset Hold In Reset Power On |
今回は一番左のProgramをクリックします。
![20120701_04](http://nanoappli.com/blog/wp-content/uploads/2012/07/20120701_04.jpg)
下記のメッセージが表示されれば書き込みは成功です。
![20120701_05](http://nanoappli.com/blog/wp-content/uploads/2012/07/20120701_05.jpg)
Programming... Programming/Verify complete |
今回は、動作確認として以下のプログラムを書き込みました。
LIST P=16F84 INCLUDE P16F84A.INC __CONFIG _HS_OSC & _WDT_OFF & _PWRTE_ON & _CP_OFF ORG 0 BSF STATUS, RP0 MOVLW 0xFF ; PORTAを入力にする MOVWF TRISA MOVLW 0x00 ; PORTBを出力にする MOVWF TRISB BCF STATUS, RP0 MAIN_LOOP ; RA2に入力が無ければPORTBを1,有れば0にする MOVLW B'11111111' BTFSS PORTA, 2 MOVLW B'00000000' MOVWF PORTB GOTO MAIN_LOOP |
動作確認用のスイッチ、LED、オシレータを追加した回路はこちら。
![20120701_06](http://nanoappli.com/blog/wp-content/uploads/2012/07/20120701_06-455x300.jpg)
スイッチを操作して、LEDのON/OFFがコントロールできれば動作確認は成功です。
![4777516482](http://ec2.images-amazon.com/images/I/51vaw72v1RL._SL160_.jpg)
ブレッドボードによる電子回路実験 (I・O BOOKS)
関連記事
コメントを残す