PIC マイコンライターを入手したので….

30年ほど遅れたがPICマイコンのことを調べてみようと思った。

入門用に使ってみようと思うPICマイコン、資料を見ると16F84というのが盛んに議論されているが、Microchipのホームページをみてもこのマイコンはリストアップされていない。型番が古いためのようで、Gooligum Electronicsのサイトによれば、最近のPICマイコンのラインアップでさらに性能が向上し、かつ安価で入手性が良いのは以下のようなものになるらしい。

性能によって 4つのファミリーに分けられる。
BaseLine :12ビット命令系 割り込みがないなど制限があるが単純で使いやすいとのこと。 10F200(6端子)12F509(8端子)、16F506(14端子) など
Mid-Range: 14ビット命令系 BaseLineの拡張版で割り込み制御、メモリーの増設PWM、モーターコントロール、I2C,SPI I/F やLCDコントロールなどの周辺回路の追加、、 12F629(8端子) 16F690(20端子) 16F887(40端子)など. このシリーズが16F84の系統らしい。
Enhanced Mid-range:14ビット命令系 Mid-rangeの拡張版でさらなるメモリーの追加、命令群の増設、Cコンパイラ用に最適化したメモリーアクセス手順、改善された実行速度など 12F1501(8端子)、 16F8124(14端子)、16F1946(64端子)など
High End : 16ビット命令系 いわゆる18Fシリーズ 周辺回路にUSB,Ethernet、CANとの接続性が追加され、メモリーもプログラムは128Kまで、データも4Kまで対応 18F1220(18端子)、18F2455(28端子)、18F8520(80端子) など
ややこしいのは、これらのマイコン、インストラクションは12~16ビットの幅があるが扱うデータが8ビットなのですべて8ビットマイコンだということ。

Mouser.comで値段をみると 12F509-I/P $0.85、12F629-I/P $1.10 、12F1501-I/P $0.92 (すべて8端子)ということで、 BaselineとEnhanced Mid-rangeとでは値段に差がない。 それならよりパワフルらしい12F1501をベースに勉強してみようかと思ったのだが、 データシートの最初の数ページを読んで挫折した、というか 勉強するのをやめた。
何故か。
PICマイコンはプログラム領域とデータ領域が別に取ってある。 プログラム領域は連続しているのだが、データ領域は128本の8ビットデータレジスタ(ファイルレジスタ)を一つのバンクとして、最大32のバンクを切り替えて使うようになっているらしい。 ただし同じデータをどのバンクでもアクセスできるようにいくつかのレジスタは同一レジスタへのアクセスなのだ。(たとえばバンク切り替え指定のレジスタなど) AVRに比べると煩雑な感じである。 それなりの理由があってこうなっているのだろうが、 これはもういけません。 自分の頭脳がこの先を読むのを拒否しております。

というわけでPICマイコンの勉強はしばらくおあずけ。

Leave a Reply

Your email address will not be published. Required fields are marked *

Time limit is exhausted. Please reload the CAPTCHA.