PIC Contoroller とは | |
---|---|
PICは 米国 Microchip 社が販売しているマイコンチップで、Peripheral
Interface Controller の頭文字をとったものです。 一つのチップの中に CPUと ROM、RAM それに外部とのI/Oポートを備えており、これだけでコンピュータとして動作させることができます。 CPU自体は Z80や H8シリーズに比べて命令数は少ないし機能は小さいのですが逆に簡単に取り扱えることや、何といってもピン数が少なくて、ソケットにそのまま挿せる DIP形状が多いこと。 ROMとRAMを内蔵していますから、外部メモリー用のデータバスやアドレスバスも必要なく、I/Oポートの配線だけで使えます。 回路を作るにも簡単に配線できるし、プログラムの書き込み・デバッグも手軽に行うことができるのが嬉しいところです。 |
|
これから Picを使うには | |
---|---|
PICを使うには、ある程度 アセンブラの知識が必要です。 PIC のアセンブラ命令は数が少ないので組み合わせて使うことになりますが、プログラムの書き方を理解できれば試行錯誤で要領は判るでしょう。 使える数値は8ビットが基本で 0〜255までの数値です。 16進数の扱い方にも知識が必要となります。 使うチップを決めたら、マイクロチップからデータシートを入手すれば使用できる命令語も詳細に解説されています。 チップの特性を決めるレジスタの使い方を良く読んでプログラムに反映させれば簡単に動作させることができます。 プログラムを書き込む ROMは、12C xxx とか 16C xxx とか型番に 「C」の付いたワンタイム型と 12Fxxxなど 「F」の付いたフラッシュROM型があります。 ワンタイム型は価格が安いのですが一度しか書き込めませんから初心者のプログラム開発には不向きです。 動作を確認しながらプログラムの手直しをするためには 12Fxxx とか 16Fxxx とかのフラッシュROMタイプがお奨めです。 |
|
|
|
先ずPICをプログラムするためのツールが必要です。 米マイクロチップのページからダウンロードして 開発用のPCにインストールします。 これによってアセンブラ言語を機械語に翻訳(アセンブル)できます。 C言語も使えますが、CSSやHITECH社のコンパイラが必要で高価ななことと(SDCC というフリーのコンパイラもあります)、通常のC言語に比べて入出力が限定されるので関数の使用には注意が必要です。 簡単に使用できるアセンブラからスタートする方が解りやすいと思います。 出来上がったマシン語も小さくて、デバッガも内蔵していますから書き込む前にプログラムの動作確認も行えます。 |
|
マシン語作成ツールである Microchip 社の MPLAB はコメント部分に日本語を使えるようになっていますが、PCの動作環境には注意が必要です。
ユーザー名に2バイト文字である日本語が入っていると、動作が不安定になります。(特に
Version 8以降) 起動時にスプラッシュ画面だけで 立ち上げ不能になるような場合は、PCの環境変数をチェックして、パス名に2バイト文字が入っていないか確認し、入っていた場合には 新たに半角文字だけのテンポラリー・ディレクトリを作り 環境変数を設定し直す必要があります。 |
|
|
|
回路上で動作させるには作られたマシン語(HEXファイル)をチップに書き込む必要があります。 各種解説書には書き込み機の製作記事が載っていますから、これらを参考に作っても勉強になるでしょう。 部品集めは面倒で手っ取り早く作りたい場合は、秋月電子通商で販売されている PICプログラマーキットを入手するのが簡単で確実です。 チップの脱着が簡単な 28pinと40pin のZIFソケットが付いており、拡張ボードを使えば主要なPICに対応していますから簡単に書き込みができます。 開発PCとの接続は基本がCOM(RS-232C)ですが アダプタを用いれば USBポートも利用できます。 |
|
どんな PICを使えば良いか | |
使用目的によって使う I/Oポート数が決まります。 ポート数が決まったら 使う PIC の足の数も予測がつきます。 動作速度によっては内蔵のクロック発振も使えますが、高速で動作させたい場合はセラミックやクリスタルの発振子が必要で 接続用2ポートが必要となります。 周波数は豊富ですから使用目的によって選択してください。 下記 PICでは使える最高周波数は 20MHz です。 |
|
|
|
DIP8ピンの小さなPICです。 電源に2ピン必要ですから外部とのI/Oは6本だけで、発振子を使うと4本だけになってしまいますが簡単な制御には気軽に使えるタイプです。 PIC12F675
などには小さいながらもA/D変換機能が付いています。 値段が安価なのも嬉しい1チップマイコンです。
|
|
|
|
DIP18ピンのノーマルなチップです。 I/OポートはAポート、Bポートと分かれていて、16F84A
とかが代表的なチップで、入門書には必ず出てきますので このあたりから始められる方が多いようです。
|
|
|
|
DIP28ピンになると I/Oポートは Aポート、Bポート、Cポートまで使えます。 入出力が多い時などには必要なチップです。
|
|
|
|
製作に慣れてきたら I/Oポートがもっと多いものにチャレンジしましょう。 DIP40ピンのチップで、紹介した書き込み機でも書き込めます。 ポートは Aポート、Bポート、Cポート、Dポート、Eポートまであって目的に合わせて利用できます。
|
|
|
|
Pin Asign | ←主要なチップのピン配置はこちらに載せてみました。 |
←いくつかのチップについては日本語マニュアルなどもあります。 | |
←全商品のマニュアル、開発ツールはこちらから入手できます。 | |