PICマイコンにプログラムを書き込んでみよう②~PICkit3での書き込み回路・書き込み方~【PIC16F1938】

PICとPCを繋ぐ

これから書き込み用の回路を作っていきます。

初心者向けのPICのチュートリアル一覧はこちら


PIC周りの回路組み

用意するもの

  • PIC16F1938
  • PICkit3
  • ブレッドボード
  • ジャンパコード
  • ACアダプタ
  • DCジャックDIP化キット(はんだ付け済み)
  • 抵抗(200Ω)
  • 青色LED

回路を組む前に、PICのピンについて少し学びましょう。PICには型番に合ったデータシートと呼ばれるものがあります。いわゆる取扱説明書です。PIC16F1938データシート

データシートの5ページに、今回使うPICのピン配置が書いてあります。かなりごちゃごちゃしていて、パニックになりそうですが大丈夫です。私もそうでした。

図上に半円のくぼみがあります。これは、実際のPICにもついていて、向きが分かるようになっています。また、PICのピンには番号が付けられていて、今回は1~28まで振られています。

実際にPICを見てみると、1ピンのところに小さなくぼみがあります。これは「ここがピン番号1ですよ」ということを表しています。

  1. では、PICの頭を左にして、画像のようにブレッドボードに刺しこみます。この時、PICの足が若干外へ向いているので、指で少し内側に曲げて入るようにしましょう。
  2. (ブレッドボードの使い方が分からない方は、こちらのサイトが分かりやすいのでぜひ。ブレッドボードの使い方/謎解き.com)

    完全に入るとこんな感じ(横から見た図)

  3. 次に、DCジャックDIP化キットを差し込みます。ジャックが外へ向くように刺しましょう。ジャックの+と書かれてた側2ピンが+5Vで、ーと書かれた側2ピンがGNDとなります。GNDとは、電気回路の電流が最後に行くところで、電池でいえば負極です。
  4. 今回はプログラム上で3pinを使ってLEDを光らせます。3pinから200Ωの抵抗を伸ばし、picのピンが刺さっていない列に刺します。(私は100Ωしか持っていなかったので、下記画像では直列にして200Ωにしています。)
  5. 次に、電源の+とーからジャンパワイヤを伸ばし、ブレッドボードの「ー」「+」へ繋ぎます。このー、+の列は全て繋がっています。例えば+5Vを取りたいときは赤のラインがある側の穴にジャンパワイヤを刺し、伸ばせばいいわけです。便利ですね。
  6. いよいよLEDを繋ぎます。LEDには極性があり、足が長い方を+側へ繋ぎます。(画像左が+、右がー)
  7. PICのピンは基本「オンオフをするゲート」として働き、オンになった時は+が出力されます(電源が5Vの場合5V)。よって、LEDの長い脚は先程配置した抵抗と同じ列に差し込みます。短いGND側のピンは隣の列に刺してください。
  8. 刺す前(極性確認)


    刺した状態

  9. 次に、PICに電源を供給します。データシートのピン配置でVDDと書かれているところには+5V、VSSと書かれているところにはGNDを繋ぎます。
  10. それぞれの電源は先程伸ばしたジャンパワイヤによって横一列に供給されています。そのため、そこからジャンパワイヤを伸ばすだけで+5V,GNDを繋いだことになります。繋ぐと下図のようになります。


    8,19番ピンにGND、20番ピンに+5Vを繋ぐ

  11. 最後にLEDの脚の短い方をジャンパワイヤでGNDへ繋ぎます(下図の青いジャンパワイヤ)。また、電源安定化のためにセラミックコンデンサをGNDー+5V間に刺しましょう。これは極性がないので、向きは気にしなくて大丈夫です。
  12. 現在の状態を回路図で表すと、こんな感じです。上にあるのがDCジャック、下にあるのがPIC16F1938です。(LEDがただのダイオード表記になっています。すみません。)青で囲んだところが電源の-(GND),赤で囲んだところが電源の+5V(VDD)です。

    ただし、一般の回路図ではこの電源の回路記号は省略され、VDDとGNDのみ表示されます。上と下は同じ回路です。VDD、GNDを繋ぐ機会が多いため、このような表記が一般的です。覚えましょう。

PICkit3のつなぎ方

これで点滅させる回路は完成ですが、これではプログラムの書き込みができません。次はPICkit3のピンをどこへ繋ぐかを説明します。

  1. まず、PICkit3のピンをこのpdfで確認します。ピンの備考欄にピンの名前が付いています。これと合致するピンの機能がPICのデータシートにもあり、同じ名前同士のピンを繋げればいいわけです。(下図参照)

  2. では実際に繋いでみます。ジャンパワイヤ5本の片方をPICkit3の1~5ピンへ差し込みます。ピンの数字は下三角形が1ピンで、左に行くと2,3…と続きます。
  3. 次に、先程示したピンを相互に繋ぎます(下図参照、見やすくするためにLED等は抜きましたが、刺したままで構いません)。PICkit3の2ピン(VDDターゲット)は、その名の通りVDD(+5V)へ、VSSグランドはGNDへ繋ぎます。
  4. 何とこれだけで書き込み準備完了です。お疲れさまでした!

PICへプログラムを書き込む

書き込む前に、回路をもう一度確認してACアダプタをDCジャックに差し込みましょう。

ではいよいよ書き込みです。前回書いたコードの画面の左上に再生ボタンのようなものがあります。これをクリックします。

(補足:接続が悪いとこのように「PICkit3が見つからないよ」と出てきます。キャンセル後USB接続などを確認し、もう一度再生ボタンを押してみましょう。)

上手くいくと、途中でこの画面が出てきます。3.3Vで動くPICもあり、「5Vかけようとしてるけど大丈夫?」と聞いているわけです。16f1938は5Vで動作可能なのでそのままOK

その後数秒後に、下のOutputウィンドウにProgramming/Verify completeと出てくれば成功です!

書き込みが上手くいけば、下の動画のようにLEDが点滅するはずです。もし失敗した場合は、もう一度ACアダプタを入れ直し、書き込みを試してください。

一度書き込みが終了してしまえばPICkit3を外しても動作します。

他のPICに関しても全く同様の書き込み手順です。始めのプロジェクト作成のところで使用するPICを指定すればいいわけです。

いかがでしょうか。初めての場合書き込みまで苦戦しますが、「思ったより簡単に動作した!」と思っていただければ嬉しいです。

次回

次回は、今回コピペしてもらったコードの解説をします!main関数の前に何やら難しそうな部分がありますが、殆ど自動で出力してくれるので大したことはありません。

次→ PICのプログラムの基本構成(C言語)

3件のコメント

  1. 1つ前の記事を読んで,やっとMPLABでコピペしたもの(貴殿作成)をコンパイルすることができました!.
    なんせ,まったくの初心者なので,IDEは本当に複雑で,なにをやってもまともに動いてくれませんでしたが,
    ようやくです.
    ありがとうございます.

    こんどは書き込みに挑戦です.

返信を残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です