ワンチップマイコンは CPU と周辺回路を一体化し,単体で小規模な
コンピュータとして機能するように設計された半導体素子です.パソ
コンやワークステーションで使われるような CPU 比べると性能は極め
て低いものですが,小形であること消費電力が少ないことなどの利点
があるため主に組み込み用として利用されます.
PIC にはメモリや ROM も内蔵されているので外部にメモリを持たず
に,単体でプログラムを実行可能です.このため,外部には最低限の
インターフェースをつくるだけで簡単な処理は行えてしまいます.
・I/O ポート
外部とのデータのやりとりを行うポートです.PIC の I/O ポートは非
常に汎用性が高くなっています.
・プログラム用メモリ
プログラムを記憶するメモリ(ROM)です.マスクロム,UV-EPROM,
Flash メモリなど用途ごとにさまざまな製品が販売されています.
・データメモリ
プログラムの実行に用いるメモリです.PIC の場合,メモリとレジス
タが同一になるというアーキテクチャになっています.
・AD コンバータ
アナログのデータ(電圧)を読み取ってデジタルに変換する回路です.
・パラレルポート
・シリアルポート
PC やその他の周辺機器と通信するためのポートです.
・タイマ
時間にしたがって動作するような必要がある場合に使うタイマです.
具体的にどの型番の製品にどの回路が組み込まれているかは,トラン
ジスタ技術 99 年 5 月号などを参照してください.
PIC の開発は基本的に以下の手順で行います.
1. 目的に合わせ周辺回路を設計・制作する.
2. PIC 用のアセンブラやコンパイラでプログラムを作る.
3. 作成したプログラムをライタを使って PIC へ書き込む.
4. 書き込みの終わった PIC を 1 で作った回路へ装着し,動作確認を
する.
5. 問題があれば,1 から見直し
また,プログラムのテストを行うための PIC シミュレータや,開発
を効率的に行えるコンパイラやインタプリタなども公開されていま
す.
おすすめの開発環境は以下の通りです.コンパイラもあるのですが,
どれもいまいちうまく動かない上,PIC ならではの厳密なタイミング
による制御が行えなくなってしまうのでおすすめしません.
gpasm-0.0.7 バージョンは低いですが,後述のシミュレータと同時に開発 されているので,デバッグのしやすさは一番でしょう.対応 している型番も比較的多く,SX にも対応しています.マクロ 機能とかもあって高機能です.ドキュメントも丁寧に書いて あるようです. picasm106 UNIX 界隈では標準的なアセンブラのようです.ドキュメント がそっけないですが,対応している PIC の型番は豊富です.
picsim X ベースのきれいなシミュレータですが,ドキュメントがほ とんどないのでどうすればよいかよく分かりません.たぶ ん,picasm と対になるのでしょう.まだまだ開発途中といっ た感じです.16C84 のみの対応です. gpsim-0.0.13 質実剛健なシミュレータです.みためはきれいではありませ んが,gpasm と協調して動作するように考えられているので, シンボリックデバッグとかもできてかなり便利そうです.幅 広い型番に対応しています.
・ http://www.bekkoame.or.jp/~gokan/index.html
PIC に限らず電子工作全般の情報があります.初心者にも分かりやす
く買いてあるので最初にここの内容を一通り読んでみることをおすす
めします.
・http://reality.sgi.com/jamesb/gnupic/
GPL ベースの PIC 開発環境を集めているページです.アセンブラ・
逆アセンブラ・コンパイラ・シミュレータ・ライタなど開発に必要な
ものはほぼすべてそろっています.
・http://www.kumagaya.or.jp/~t-kato/index.html
電子工学全般の情報がそろっています.半導体情報もかなりの量あ
ります.エンジニアの「どこでもドア」を目指しているそうです.
データが主で親切な説明などはあまりありません.
・http://www.xs4all.nl/~ganswijk/chipdir/chipdir.html
各種半導体素子を検索できるサイトです.有名なチップはほとんど
網羅されているので知らないチップをみかけたらここで調べてみる
とよいでしょう.
・http://csgrad.cs.vt.edu/~tjohnson/pinouts/
PC などでよく用いられているコネクタの形状やピン配列にかんする
情報が乗っています.ピン配列は意外と忘れていたり,あやふやだっ
たりするものなのでここをみて確認しておくとよいでしょう.
・http://www.maxim-ic.com/ja/StartPagej.htm
マキシム・ジャパンのホームページです.RS232C などの +12V, -12V
で動作するインターフェースを使う場合はこの会社の販売している
ドライバ・レシーバを使うとお手軽です.MAX232 は RS232C ドライ
バの定番中の定番と言えます.