2001/11/03 【電子回路編TOPに戻る】
今回は、PICの基本プログラミングを学習するための基板を、ユニバーサルで組んでみました。対応するPICは、18ピンのPIC16F84Aと28ピンのPIC16F873の2タイプです。回路は非常にシンプルで、リセット回路部とセラミック発振子を取り付けているだけで、あとはコネクタに立ち上げているだけです。入力用のスイッチも、表示用のLEDも持ちません。ここでは、前回製作した簡易型実験用I/Oボードを接続できるようにしておきます。
※このPIC実験用ボードは、2001/11/03に製作記事をご紹介してから現在(2003/11/24)まで、何度か回路を追加しています。ここらでもう一度整理して、ご紹介し直す事にしましょう。追加されている回路は以下の通りです。
1.PIC16F873用RS232C通信ポートの追加
2.PIC16F873用ICSP(インサーキットシリアルプログラミング)ポートの追加
3.PIC16F873用I2C通信ポートの追加
4.LCD液晶ディスプレイ用コネクタ変換の追加
9−1.実験用ボードの外観
以下に実験用ボードの外観写真を載せます。
![]() |
![]() |
写真で実装されている28ピンのICがPIC16F873です。その左隣に用意されている18ピンのソケットはPIC16F84A用です。PIC16F873の右隣に実装されている16ピンのICはRS232Cレベル変換用のIC MAX232CPEです。下に3個並んでいるコネクタは、それぞれPIOのRA , RB , RCを立ち上げています。基板右側に並んでいるコネクタ3個は、上からI2Cポートと、その下2個がLCD用コネクタ変換です。基板上部の5ピンの黄色いコネクタがICSP用のコネクタで、MAX232CPEの下にある黄色いコネクタはRS232Cの接続用ポートです。
この実験ボードでは、リセット回路、セラミック発振子、およびPIO立ち上げ用コネクタを、2種類のPICで共用する形としています。なので、2個のPICを同時に実装して実験することはできません。
9−2.実験用ボードの回路
以下に実験用ボードの回路図をご紹介します。
回路図を見て頂けるとわかりますが、2種類のPICを並列に接続しているだけです。なので、同時に実装して実験することはできません。PICデバイスのデータなどは、マイクロチップテクノロジージャパンや井上誠一氏の「趣味の電子工作」などを参照して下さい。


■1.リセット回路部
PICにはPOR(パワーオンリセット)という機能が付いており、通常であればMCLR端子は+5Vに接続しておくだけでも正常にリセットが掛かって、動作を開始できるはずです。ただし、使用している電源装置の立ち上がりが非常に遅い場合などは、正常にリセットが掛からない場合もあります。そこで、MCLR端子に対して回路図にあるようなリセット回路を接続し、電源装置の電圧が確実に立ち上がってからリセットが解除されるように、遅延を持たせています。
■2.セラミック発振子
![]() |
内部クロック用の発振子として、セラミック発振子を接続しています。この発振子はセラロックと呼ばれ、回路図にあるようにコンデンサが内蔵されたタイプのものです。
|
■3.RS232Cポート
PIC16F873のUSART機能を使ったRS232C通信を行うための機能を追加しています。PIC16F84AでもUSART機能は持っていませんがソフトウエアの力によってRS232C通信は可能です。ただし、今回は回路に反映させていません。今後の追加としましょう。
■4.ICSPポート
ICSP(インサーキットシリアルプログラミング)とは、PICをライターに載せ返ることなくターゲットの基板に載せたままプログラムを書き込む技術のことを言います。PICを表面実装タイプにして直接ハンダ付けしてしまうような場合に有効です。今回はPICライターの書き込み信号線をそのまま引出し、ターゲットの基板上まで延長する方式としています。書き込みにはPICライターからのDC+13Vが必要で、いわゆる低電圧ICSPではありません。
PICライターからの信号線取り出しには、以下のようなケーブルを利用します。これはICソケットに線を強引にハンダ付けしてみました。配線図は以下の通りで、PICライター側にはPIC16F873と同じ条件でICソケットを挿し、片側はテスト基板のICSPコネクタに接続します。これで普通に書き込みができます。
なお、PICの電源DC+5Vはターゲットの基板側から供給としますので、書き込み時にはターゲット基板の電源をONにする必要があります。また、下記のICSPケーブルを接続した場合、ターゲット基板のセラミック発振子がGNDに落ちるようにしてあるため、書き込みが終わったらICSPケーブルを抜かなければいけませんので、注意が必要です。
![]() |
![]() |
![]() |
同様にしてPIC16F84A側のICSPも可能ですが、今回はPIC16F873側のみの対応としています。
実際には周辺回路との兼ね合いによって注意点が幾つかありますので、詳細は後閑哲也さん「電子工作の実験室」に細かな解説がありますので、そちらを参照して下さい。
■5.I2C通信ポート
外部とI2C通信を行うためのポートで、MCLR、SDA、SCLの各信号を取り出すためのものです。関連記事として13.I2Cテストポード(PIC16F873)などもご参照下さい。
■6.LCD液晶ディスプレイ用コネクタ変換
PICでLCD液晶ディスプレイを制御する場合は、H8の場合とデータポートの割り付けが異なります。ここは、H8用に作っておいたLCDディスプレイコネクタを利用できるようにするためのコネクタ変換を行います。以下のような接続になっています。

右側四角で囲まれている部分が、H8用に作ってあったLCD液晶ディスプレイの接続部分です。これがそのままPIC環境で利用できるようにするために、左側FROM RB→TO LCD部分のコネクタ変換を行っています。
![]() |
左の写真は、PICライターとICSPコネクタを接続して、ついでに前回製作した簡易型実験用I/Oボードを接続している様子です。 LCD液晶ディスプレイへの接続も、PIC実験用ボードのRBからFROM RBコネクタに基板内で接続し、TO LCDコネクタから簡易実験用I/OボードのLCDコネクタに接続しています。分かりますか?
|
回路的には非常に簡単に済ませていますが、取り合えずプログラミングの学習用や、動作検証用として利用するには十分でしょう。所定の組込み用途として開発を行なう場合には、やはり専用の基板を製作する必要がありますので、その都度対応することになります。
更新履歴
追記/修正 2003/11/24 回路図,RS232C,ICSP,I2C,LCD変換部の追記他