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」でパソコンとの通信ソフトを作成しています。 |