« PIC16F1938による、LCDパネルの駆動 | トップページ | 「LCD&タッチセンサ」の温湿度計・モノクロの製作 »

2011年2月 9日 (水)

新16F1827による16F88の置き換え

16f1827_16f88replace 新マイコン16F1827は、18ピンのマイコンであり、それまで使われていた16F88などのマイコンを置き換えることが出来るように、ピン配置が似通っています。

そのまま差し替えて使えるためには、ポートの割り当てや、内蔵周辺機器の端子が同じでなければなりません。写真の右の基板は、GPSのチェックサムをチェックして正しいときにだけ出力するものですが、16F88を20MHzセラロックで使用しています。これを、16F1827で置き換えることが出来れば、16F1827のほうが16F88より安価なので、安く作ることが出来ます。

16F1827のほうが高機能なので、それ以上の機能を追加することができるのですが、ここでは、そのままの機能で、差し替えて使うことが出来るかどうかを確認しました。16F88と16F1827は、ポートの端子は同じとなっていますが、シリアルインターフェースは、標準では異なったピンとなっています。しかし、ピンを変更することが出来、16F88と同じ割り当てにすることができます。

プログラムは、基本命令の拡張が行なわれているため、そのままコピーして使用することは出来ません。変更しなければならなかったのは、内蔵周辺機器(シリアル)のバンクが変更になっていること、FSRは、16ビットになり、2つ用意されているため、FSR0Lなどに書き換えなければならないことです。幸い、FSRをFSR0Lに、INDFをINDF0にマクロ定義し、バンク2,3に対する間接参照を、FSR0Hに設定するように変更することで対応できました。シリアルインターフェースについては、レジスタの参照ごとにバンクを変更しましたが、ドライバーとしてまとめられていたのでそれほど多くはありませんでした。

もうひとつ違いがあったのですが、それは、バンク2,3のRAMサイズが小さくなったことです。16F88では、バンク2,3では、0x10~0x6FをRAMとして使うことが出来ましたが、16F1827では、RAMは、どのバンクでも0x20~0x6Fとなっています。これは、バッファのサイズを小さくすることによって対応しました。バッファに使っているサイズが小さくなったのですが、余裕があったのでそのままにしました。

そのまま置き換えることも十分できるようですが、16F1827のほうが機能が大きいので、全体的に書き換えるつもりなら更に性能向上ができるでしょう。FSRが2つあるので、RAMデータの転送などが楽になり、ROMからRAMへの転送などを使うことで、大きなデータも容易に扱うことが出来ます。今後も、このような置き換えの例があれば試してみたいと思います。

« PIC16F1938による、LCDパネルの駆動 | トップページ | 「LCD&タッチセンサ」の温湿度計・モノクロの製作 »

製作」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

« PIC16F1938による、LCDパネルの駆動 | トップページ | 「LCD&タッチセンサ」の温湿度計・モノクロの製作 »

フォト
無料ブログはココログ
2016年6月
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30    

USBとマイコンの参考書購入