第28回 ピンの有効活用方法

次回は最終回としてチャレンジ課題を書きますが、その前にちょっとだけ補足をしておきます。

本シリーズ記事の内容を改訂して、基礎編、応用編、実践編として以下のリンクに公開しています。以下のシリーズはさらにいろいろなPICマイコンの機能をご紹介しています!

PICマイコン電子工作入門 〜基礎編〜
PICマイコン電子工作入門 〜応用編〜
PICマイコン電子工作入門 〜実践編〜

ピンが少ない…

PIC12F638はピン数が全部で8ピンで、電源用に2ピン取られてしまい、さらにプログラム書き込むために3ピンをとれらてしまいます。今回作った回路も、以下のように一通りピンは使ってしまいました。

Final diagram

これから自分のアイデアでこの回路を拡張したり、チャレンジ課題をやっていく上で、もうひとつスイッチを追加したり、もうひとつ発光ダイオードをつけたりしたいことがあります。今回はチャレンジ課題の前に、この回路にもっと部品を追加する方法を説明します。

 

ピンの有効活用

ピンが足りない、という場合、ピンの使い方を工夫する必要があります。ピンが足りなければ、ピン数が多いマイコンを買えばいい、という策もありますが、それでも足りない場合は、、、ということもありえますので、まずは今回のPIC12F683でピンの活用方法を検討してみます。

上の回路ですが、よく考えてみると、以下の赤い部分はPICマイコンにプログラムを書き込むときにだけ使用していて、PICマイコンが動作しているときは何にも使用されていません。

Redundant pins

プログラム書き込み時にしか使っていないピンは、

  • 4番ピン: MCLRピン
  • 6番ピン: ICSPCLKピン
  • 7番ピン: ICSPDATピン

の3本です。これからそれぞれのピンの有効活用方法について説明します。

 

MCLRピン(4番ピン)の有効活用

4番ピンはちょっと特殊で、以前説明しましたが、PICマイコンのリセットピンか入力ピンにしか使えません。ただ、リセットピンに使用しない場合は、スイッチ状態を読み取るための入力ピンに使用することができます。

このピンにスイッチをつなげるのは非常に簡単です。以前、スイッチをつなげるときは必ずプルダウン抵抗かプルアップ抵抗をつなげる必要がある、と説明しました。ここはうまくできていて、4番ピンにはすでに抵抗が接続されています。

Pull up resistor

これをプルアップ抵抗とみると、

Second switch

このようにスイッチをつければOKです。なお、プログラム書き込みの際はスイッチをOFFにしておく必要がありますので注意してください。逆にスイッチをOFFにしておけば、最初の回路と変わらないですよね。

これでスイッチをもうひとつ追加することができます。ただし注意点としては、プルアップ抵抗となっていますので、GP4は、スイッチをONにしているときは0、スイッチをOFFにしているときは1となります。

 

ICSPCLK/ICPSDATピン(6, 7番ピン)の有効活用

ICSPCLK/ICPSDATピンは入力と出力両方設定できます。ただ、これらのピンを入出力ピンとして使用する場合は注意が必要です。

このピンを出力ピンにして発光ダイオードを付ける場合、発光ダイオードは以下のように接続すればよさそうですが、

Icsp led

このように接続すると、プログラム書き込み時に発光ダイオード側に電流がとれらてしまい、うまくプログラムが書き込めない場合があります。

Icsp led programming

この場合、ちょっと面倒ですが、スイッチをつけてプログラム書き込み時は以下のように発光ダイオードに電流が流れないようにします。

Icsp led switch

このスイッチですが、タクトスイッチなどのように、スイッチを押している間だけONになる、というスイッチは使いづらいので、以下のようなスイッチを使います。

トグルスイッチ

ただ、このようなスイッチは値段が高いので(といっても100円程度ですが)、配線などで切り替えた方がよいかもしれません。あるいは、ブレッドボードを2つ用意して、ひとつはプログラム書き込み専用、もうひとつは回路作成専用にして、プログラムを書き込むときは書き込みようのブレッドポードにPICマイコンをセットして使用、プログラムが書き込みできたら、回路用に差し替える、という方法もあります。

なお、他にも回路的に分離する方法があります。具体的には、PICマイコンから直接発光ダイオードに接続するのではなく、一度トランジスタを介して接続する方法です。この場合、トランジスタの知識が必要になりますのでここでは説明を省きます。この説明もいずれ時間があればこのブログで説明したいと思います。

また、入力ピンとして使用する場合も、PICkit3のユーザガイドを見ると、プルアップ抵抗などはつけないように、と書かれていますので、出力ピン時と同様にスイッチなどで分離した方がよいと思います。

ということで、MCLRピン(入力専用)、ICSPCLK/ICSPDATピン(入出力ピン)の3ピンも使うことができますので、自分で工夫していろいろと回路を考えてみましょう!

 

更新履歴

日付 内容
2015.9.22 新規投稿
2018.12.3 新シリーズ記事紹介追加

« »