LED回路工作部屋 (トップ) > PICマイコンの種類選択と活用手順 【初回 : 2017/1/21】【最終更新日 : 2019/8/22】
PICマイコンの種類選択と活用手順

 ■■■ PICマイコンについて ■■■
 PICマイコンは、個人で小規模な回路を作り、その回路をコントロールするのにすごく役立ちます。
 PICマイコン は プログラムを動かすための クロック が無いと動作しないわけですが、 コンフグレーションビット外部クロック または 内部クロック の選択ができ、 よほど正確なクロックを必要とするプログラムじゃなければ 内部クロック を使用し、 水晶発振素子などクロックを構成する部品を省き I/Oポート をフルに活用することができます。
 私がよく使う PIC16F688 は 1個 200円未満で、LED点灯やA/D変換、パソコンとの通信をまとめて動作させることができるので、 こんな便利なものはありません。
 マイコンというと 「Arduino Uno」 が人気ありますが、 私の用途では PICマイコン 一択です。

 ■■■ PICマイコンの種類選択 ■■■
 「LED回路工作部屋」で紹介している回路は、PICマイコン で制御しているわけですが、 PICマイコンを使い始めたころは、参考図書が多い PIC16F84 を使っていました。 いろいろと回路を作っているうちに、 自分で作る回路の用途にあった PICマイコンの種類 というものが分かってきて、 現在は主に 3種類 の PICマイコン に絞って使用しています。

 3種類のPICマイコンとは?
 制御したい内容に応じ、制御する I/O の数や A/D変換の有無、シリアル通信の有無などで下図の3種のPICを使用しています。
 パソコンと連携する場合、シリアル通信は必須となるので、16F883 や 16F688 になります。
 単純にボタンを押すとLEDが点灯するような回路は 12F629 で十分です。


 ■■■ PICマイコンの活用手順 ■■■

@ 回路を製作する
 PICマイコンを使って制御したい回路を作ります。



A プログラムを作成する
 マイクロチップの無料ソフト「MPLAB」で プログラム を作成します。プログラムはアセンブリ言語 (マイクロチップ指定の命令セット) で記述します。
 主に使用する命令の数は少ないので、簡単です。
 例えば、PORTA(ポートA)の0bitに接続したLEDをON-OFFさせたい場合は下記になります。

 bsf PORTA,0 ; LEDを点灯
 bcf PORTA,0 ; LEDを消灯

 PORTA(ポートA)の0bitに接続したLEDを1秒間隔で点滅させたい場合は下記になります。

Main
 bsf PORTA,0 ; LEDを点灯
 call Wait_1s ; 1秒待つ
 bcf PORTA,0 ; LEDを消灯
 call Wait_1s ; 1秒待つ
 goto Main ; Main に戻って繰り返し

Wait_1s
 ※1秒を作るプログラムを記述
 return ; return で call で呼び出された位置に戻る

 ここ(写真)で使用しているのは「MPLAB IDE 8.90」です。
 作成したブログラムはASMファイル(拡張子が .asm)と言い、ASMファイルを変換(ビルド)し、記述に間違いが無ければ HEXファイル(拡張子 .hex)が生成されます。 そのHEXファイルをプログラムライターでPICマイコンにプログラムを書き込みます。



B プログラムをPICマイコンに書き込む
 PICライターはマイクロチップ社 純正の「PICkit」などありますが、自分の用途に合うものを使えばよいと思います。

 ここでは  秋月電子通商の AKI-PIC プログラマー に PIC16F688用の14pinソケットを追加改造して使用しています。使い勝手がよいからです。
 専用のライターソフトで使用するPIC型番を選択し、PICマイコンに書き込むHEXファイルを指定してPICマイコンに書き込みます。





C 動作を確認する
 作った回路にPICマイコンを装着して動作に問題なければ完了です。





パソコンとPICを連携させたい場合
 ここではマイクロソフトの「Visual Studio」に収録されている「Visual Basic」(通称"VB")を使用しています。無料版もあります。
 この「Visual Basic」でパソコンとの通信ソフトを作成しています。