2024.10.18
前へ

ホームページトップへ戻る


PICBASICコンパイラ

〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
まるでインタプリタ。でもコンパイラです。超カンタン超シンプルです。
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜

[第154回]



●これはPIC WRITERです

前回お見せした回路図(下側の回路図)でやろうとしていることはPIC WRITERそのものです。
汎用ではなくてとりあえずはテストとしてPIC18F13K50/PIC18K14K50専用ということですけれど。
PIC WRITERについては昨年8月[第60回]あたりで書いております。
その機能をPICBASICコンパイラボードに乗せてしまおうという試みです。
もちろん汎用のPIC WRITERではありません。
ここ何回かで書いておりますようにその目的はあくまでシステムソフトウェアのアップデートのためです。
しかし。
その過程では特定のPICのみを対象にするとはいえPIC WRIERそのものをとりあえずは作ってしまうことに違いはありません。

[第60回]あたりでとりあえず作ったPIC WRITERはもちろん汎用にすることを念頭に置いていましたからVpp=9Vで書き込みを行ないます。
それが普通です。
しかしPICにはVppに高い電圧を加えず通常の+5Vのままで書き込みを行なうことができるモードがあります。
この機能を利用することによってPICを回路基板に実装したままプログラムを書き込むことが可能になります。
それが前回書きましたICSP(In−Circuit Serial Programming)機能です。
ネーミングはまさに読んで字の如しなのですが、実はPIC WRITERとして普通に使う書き込み機能もこのICSPにほかなりません。
PIC WRITERに特化した回路ならばVpp=9Vでも全く問題はありませんが実際の回路基板に組み込んだまま書き込みを行なう場合にVpp=9Vを使わなければならないというのではちょっと恐くて使う気になりません。
そこでPIC WRITERを目的として作る書き込みプログラムはVpp=9Vを前提とするとしても前回の回路のようにONボードの状態でPICに書き込みを行なうプログラムはVpp=5Vを前提にすることにします。
ここで当然思う疑問はもしVpp=9Vの書き込みとVpp=5Vの書き込みが同じプロセスならばVpp=9Vである意味がないのではないかということです。
実際今までドキュメントを読んだ限りでは両者にはほとんど違いはないようです。
作業を進めていくと出てくるかもしれませんが。

なぜVppが高いモードが残っているのかちょいと謎なのですが、ひとつだけわかっていることを書いておきます。
Vpp=9Vで書き込みを行なうかどうかはPICのCONFIGで指定します。
工場出荷時はVpp=5Vで書き込みを行なうモードが指定されています。
PICを全消去すると工場出荷時に戻るのですがVppを指定するビットだけば実はVpp=9Vでなければクリアできません。
Vpp=5VモードのときはPIC18F13K50/PIC18F14K50の場合RC3がPGM専用端子になります。
Vpp=9Vモードの場合RC3は汎用I/Oとして使うことができます。
そこが違うだけなのですけれど。

これは理屈なのですがCONFIGでVpp=9Vを指定すると当然のことながらプログラムの書き込みも消去もVpp=5Vではできなくなります。
つまり一旦Vpp=9Vの書き込みモードを指定してしまうと、それをVpp=5Vに戻すためにはVpp=9Vで書き込み、消去をしなければならないということになります。
PICにそういうモードがある以上PIC WRITERとしてはVpp=9Vでの書き込み機能が必要になってきます。
書き込みプログラムも両者では異なってきます。
ここはまずはVpp=5Vでの書き込み回路、書き込みプログラムを作ることになります。
それができてからその応用としてPIC WRITERを作ることになります。

PICBASICコンパイラ[第154回]
2024.10.18 upload

前へ

ホームページトップへ戻る