![]() |
ここでは、マイクロチップ社のワンチップマイコン「PIC」を使った電子工作例について紹介します。 |
私も、若い頃はZ80や6809といったマイコンを使って、アセンブラでバリバリとプログラムを組んでいました。 初めてさわったマイコンはZ80を使ったCRC-80というワンボードマイコンキットで、その後はシャープX1というZ80を使ったパソコンにほれ込み、大学の研究室でももっぱらこれを使っていました。就職してすぐに同社のX1turboを買い、回路図が書籍に掲載されていたこともあって、拡張基板をいくつか作り、制御対象も数多く製作して、すっかりこのマシンにのめりこんでいました。 マイコンは便利ですが、システムを製作するとなると、CPU,周辺デバイス,メモリ(ROM,RAM)などを多数の電線(バスライン)で結線しなければならず、目がとても疲れ、かといって既製品のZ80ボードには大きさや機能面で目的にかなうものが少なく、プログラムの開発・デバッグもとても大変(パソコンやトレーニングキットならある程度デバッグの機能を持っていますが、組み込みシステムを1から作ろうとすると、機械語のプログラムをROMに焼いて基板に挿入し、不具合があればまた取り外して、時間をかけて紫外線でROMを消去しなければならない)で、年とともに気力が失せてしまいました。 その後、インテル社の8052−BasicというBasic言語が走り、プログラム開発もパソコンとシリアル通信でつなぐことで簡単にできるCPUがあることを知り、何年か使いましたが、バスラインを配線する手間はあまり変わらず、本当にワンチップで開発も楽なマイコンの登場を待っていました。そんな中、登場したのが「PIC」です。開発環境が無料で手に入り、書き込み器の製作も簡単で、何より値段が安い。 ’90年代、「トランジスタ技術」誌にPICが紹介され、アマチュアによる製作例が発表されるようになってから興味を持ちました。 なかでも「PIC16F84」はプログラムメモリがフラッシュ型で、簡単に何度でも書き換えができることから人気を集めました。 しかし、極限まで簡素化されたRISC構成のため、命令語が少なく、私も昔とった杵柄でアセンブラによるプログラム開発を何度か試みましたが非常に困難さを感じました。何しろアキュムレータが1個(Wレジスタ)しかなく、分岐命令がとても少ないのです。「ページ」や「バンク」といった概念にもなじめず困っていました。若いときならまだしも、頭が固くなった今では開発に時間ばかりが経過し効率が悪すぎました。 そんなあるとき、同僚から「こんな面白いのがありますよ」といわれたのが、「PIC Basic Pro Compiler](略称PBP)です。 パララックス社の「Basicスタンプ」とよく混同されますが、「スタンプ」が専用の基板モジュールでしか動作しないのに対して、こちらは単体のPICそれもミッドレンジシリーズのほとんどの機種を網羅しているのが特徴です。 さっそく入手し(日本ではマイクロテクニカで扱っています)、その使いやすさ、命令語の多さ、アセンブラと遜色ない実行速度(といっても1/5程度には落ちますが)など多くのメリットがあると感じ、現在はもっぱらこれを愛用しています。Basicで不足する機能についてはアセンブラと組み合わせて使うこともでき重宝しています。もともとメモリが少ないPICでは大ががりなプログラムには向きませんが、簡単な制御用途にはほとんどこれでいけると感じます。最近のPICはメモリ容量も増えてきており、バンクの概念も意識せずに使うことができ、、以前のように1kワード内に収めなければというプレッシャからも開放されました。 これ以上高い機能を求めるなら、AVRとかdsPICとかH8とかARMマイコンなどがありますのでそちらを使うほうがよいでしょう。でもその前にC言語を習得することが必修課題です。PICにもフリーのCコンパイラがいくつもあります。 |
<開発環境>
|
![]() |
![]() |
![]() |
Pic Basic Pro Compiler 一式 日本語と英語のマニュアル、CD-ROM 価格は2万4千円するががPICを気軽に使いこなすには決して高くない買い物だ。 |
秋月のPICプログラマー(Ver4) パソコンとはUSB−シリアル変換器で接続する。16F88,818,819等も書き込めるよう基板を改造してある。2台ある。 |
PICをターゲット基板から外すことなく書き込みできるインサーキットプログラミング用ケーブル。自分の作るほとんどのターゲットには対応のコネクタを装備するようにしている。 |
![]() |
![]() |
![]() |
デバッグ時はターゲット基板側にもゼロプレッシャソケットを使いPICの足が折れるのを防ぐ。 (JS1RSV吉田功OMのアイデア) 8ピンPICにも使える |
左のソケットが手狭な場合にはターゲット基板のPICにICクリップで直接接続して書き込むこともできる。 | 表示装置のないシステムのデバックは特製 のシリアル通信ケーブル(コネクタ内でTTLレベルに変換する回路を内蔵している)をPICのピンにクリップでかませて行う。 |
PIC作品集(アマチュア無線関係は「無線アクセサリ」のコーナーにあります。) |
青い文字の作品名はクリックすると詳しい説明ページにジャンプします。 |
作品名 | 使用PIC | 概要説明 |
---|---|---|
NHK電波時計 | 12F629 | NHK−AMの時報を自動的に受信し時刻を校正、毎時決まった分にパルスを出力するタイマー。消費電力がきわめて小さく、気象観測システムに組み込むためのもの。 |
NHK電波時計+時報装置 | 16F876 | 上記のシステムをNHK−FM放送に対応させ時報音を出力する。もともとはミニFM局でも正確な時報を流したくなって開発した。LCDディスプレイ付き。 |
電話着信検出センサ | 12F629 | NTTナンバーディスプレイとそれに対応した電話機の鳴り分け機能を利用し、あらかじめ登録された番号からの着信音にのみ反応する回路。超小型 |
電話の着信でPC電源を制御する装置 | 16F628A | 上記の検出器と組み合わせ、登録された番号から一定の時間パターンで着信したときだけPCの電源を入れたり、シャットダウンができる。切り忘れタイマー付き。 |
緊急警報放送受信機 | 16F84A | 地震や津波のおそれがある場合、自動的にラジオのスイッチが入って放送を聴くことができる受信機。よく知られている「緊急地震速報」とは異なる。「緊急警報放送」は昔から放送されていたが、メーカーは対応受信機をほとんど発売していない(テレビ受像機にいたっては皆無)ので、「JK4TQT」さんのホームページを参考に自作した。 |
特小トランシバー延長装置 | 12F629 12F675 |
レピータに対応していない安価な特定小電力トランシーバをタワーの上など高い所に上げ、マイク・スピーカを延長して合法的に飛距離を伸ばすシステム。2本の電線で電源の供給やチャンネル切替なども含めて制御します。 |
DTMFでPCを遠隔操作 | 16F84A | 無線機のDTMF信号を使って、離れたところにあるパソコンの電源の操作、アプリケーションの起動・終了までやってしまおうという試み。USBケーブルだけで接続。 |