2025.3.13
前へ
次へ
ホームページトップへ戻る


PICBASICコンパイラ

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

[第233回]



●PIC16F628A

PIC16F628Aを入手しました。
PIC16F628Aは今まで結構たくさん使ってきたのですが最近は同様の機能でもっと安価なPICを使うようになりました。
しばらく使っていなかったのであらためて確認してみましたら手持ちは全部使い切ってしまったようで1個も残っていませんでした。
たまたまPIC16F627が1個残っていましたのでそれを使って今までテストをしてきました。
PIC16F627とPIC16F628Aはユーザープログラムレベルでは殆ど同じ扱いができるPICなのですがDataSheetで確認してみるとWRITERプログラムはかなり異なっているようです。
そういうことになるとやっぱりせめて1個は入手して実際に試してみないことにはいけませんでしょう。
そこで特に使う予定はないのですけれどPIC WRITERプログラムをテストするために秋月からPIC16F628Aを1個購入しました。
ついでにこれからテストするつもりのPICをまとめて購入してしまいました。

写真の左側が今回購入したPICで右側は少し前にやはり同じ目的で購入したものです。
下は今まで試したものや現在テスト中のものです。

こんな感じで毎日苦闘しているのです。
今回入手したものや以前に入手してまだ試していないものをこれからひとつずつPIC WRITERプログラムで書き込み読み出しテストしていかねばなりません。
今までの経験からしておそらくそれぞれに異なるプログラムを用意することになるのではないかと思っています。
なかなかにしんどいことです。
最初はここまで大変なことになるとは予想していなかったのですけれど、乗りかかった船です。
今更降りるわけにはいきません。
いつまでかかるかわかりませんけれど、初志貫徹であります。
戦闘モードであります。

PIC16F628Aに戻ります。
まずは現行のWRITERプログラムでテストしてみることにしました。
PIC16F84や16F84Aや16F627は現行のWRITERプログラムで書き込み読み出しができました。
最初は/PICRDです。
logfile piciolog\0311081230.txt open
*** pic i/o ***
picio-30 connected
>/picrd
400C[FF][3F][FF][3F]
type=04,uadrs=00
[08]
0000[10][05][28][FF][3F][FF][3F][FF][3F][FF][3F][07][30][9F][00][83][16]
0010[10][85][01][86][01][83][12][21][08][85][00][12][20][A2][0B][0D][28]
0020[10][A1][03][0B][28][FA][30][A0][00][86][06][A0][0B][14][28][08][00]
0030[10][FF][3F][FF][3F][FF][3F][FF][3F][FF][3F][FF][3F][FF][3F][FF][3F]
0040[10][FF][3F][FF][3F][FF][3F][FF][3F][FF][3F][FF][3F][FF][3F][FF][3F]


07D0[10][FF][3F][FF][3F][FF][3F][FF][3F][FF][3F][FF][3F][FF][3F][FF][3F]
07E0[10][FF][3F][FF][3F][FF][3F][FF][3F][FF][3F][FF][3F][FF][3F][FF][3F]
07F0[10][FF][3F][FF][3F][FF][3F][FF][3F][FF][3F][FF][3F][FF][3F][FF][3F]
[01]
type=04,uadrs=01
[08]
400E[F9][3F]
[10]
>

うまく読み出しはできたようです。
続いて/ERASEを試してみました。
/ERASEを実行したあと/PICRDを実行しました。
>/erase
400C[FF][3F][FF][3F]
>/picrd
400C[FF][3F][FF][3F]
type=04,uadrs=00
[08]
0000[10][05][28][FF][3F][FF][3F][FF][3F][FF][3F][07][30][9F][00][83][16]
0010[10][85][01][86][01][83][12][21][08][85][00][12][20][A2][0B][0D][28]
0020[10][A1][03][0B][28][FA][30][A0][00][86][06][A0][0B][14][28][08][00]
0030[10][FF][3F][FF][3F][FF][3F][FF][3F][FF][3F][FF][3F][FF][3F][FF][3F]
0040[10][FF][3F][FF][3F][FF][3F][FF][3F][FF][3F][FF][3F][FF][3F][FF][3F]
0050[10][FF][3F][FF][3F][FF][3F][FF][3F][FF][3F][FF][3F][FF][3F][FF][3F]


07D0[10][FF][3F][FF][3F][FF][3F][FF][3F][FF][3F][FF][3F][FF][3F][FF][3F]
07E0[10][FF][3F][FF][3F][FF][3F][FF][3F][FF][3F][FF][3F][FF][3F][FF][3F]
07F0[10][FF][3F][FF][3F][FF][3F][FF][3F][FF][3F][FF][3F][FF][3F][FF][3F]
[01]
type=04,uadrs=01
[08]
400E[F9][3F]
[10]
>

あれ?
全然消えていませんね。
バルクイレーズプログラムは変えなければいけないようです。
ことのついでにこのまま/PICWRも試してみました。
>/hload 16f628atest.hex
loading 16f628atest.hex ...
i=175,binbfend=72
>/picwr
400C[FF][3F][FF][3F]
i=6,b=2,[04]0000
[05][04][02][00][00][00][00][FF][FF][FF][FF][FF][FF][FF][FF][FF][FF][FF][FF][FF][FF]
[01]
i=12,b=2,[00]0000
[05][00][02][00][00][05][28][FF][FF][FF][FF][FF][FF][FF][FF][FF][FF][FF][FF][FF][FF]
[01]
i=22,b=6,[00]000a
[05][00][06][00][0A][07][30][9F][00][83][16][FF][FF][FF][FF][FF][FF][FF][FF][FF][FF]
[01]
i=42,b=16,[00]0010
[05][00][10][00][10][85][01][86][01][83][12][21][08][85][00][12][20][A2][0B][0D][28]
[01]
i=62,b=16,[00]0020
[05][00][10][00][20][A1][03][0B][28][FA][30][A0][00][86][06][A0][0B][14][28][08][00]
[01]
i=68,b=2,[00]400e
[05][00][02][40][0E][F9][3F][FF][FF][FF][FF][FF][FF][FF][FF][FF][FF][FF][FF][FF][FF]
[03]
picwrend

>

続いてベリファイを実行しました。
>/verify
inbfend=0
400C[FF][3F][FF][3F]
i=6,b=2,[04]0000
[06][04][02][00][00][00][00][FF][FF][FF][FF][FF][FF][FF][FF][FF][FF][FF][FF][FF][FF]
(01)(FF)(3F)(FF)(3F)(FF)(3F)(FF)(3F)(FF)(3F)(FF)(3F)(FF)(3F)(FF)(3F)
i=12,b=2,[00]0000
[06][00][02][00][00][05][28][FF][FF][FF][FF][FF][FF][FF][FF][FF][FF][FF][FF][FF][FF]
(02)(00)(00)(FF)(3F)(FF)(3F)(FF)(3F)(FF)(3F)(FF)(3F)(FF)(3F)(FF)(3F)
[x][x]error!
i=22,b=6,[00]000a
[06][00][06][00][0A][07][30][9F][00][83][16][FF][FF][FF][FF][FF][FF][FF][FF][FF][FF]
(06)(00)(00)(00)(00)(00)(00)(FF)(3F)(FF)(3F)(FF)(3F)(FF)(3F)(FF)(3F)
[x][x][x][o][x][x]error!
i=42,b=16,[00]0010
[06][00][10][00][10][85][01][86][01][83][12][21][08][85][00][12][20][A2][0B][0D][28]
(10)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)
[x][x][x][x][x][x][x][x][x][o][x][x][x][x][x][x]error!
i=62,b=16,[00]0020
[06][00][10][00][20][A1][03][0B][28][FA][30][A0][00][86][06][A0][0B][14][28][08][00]
(10)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)
[x][x][x][x][x][x][x][o][x][x][x][x][x][x][x][o]error!
i=68,b=2,[00]400e
[06][00][02][40][0E][F9][3F][FF][FF][FF][FF][FF][FF][FF][FF][FF][FF][FF][FF][FF][FF]
(10)(BD)(1E)(50)(28)(FF)(3F)(FF)(3F)(FF)(3F)(FF)(3F)(FF)(3F)(FF)(3F)
[x][x]error!
vfend
error=38
>

全部エラーです。
書き込みプログラムも変更しなければならないようです。

念のため/PICRDを実行しました。
>/picrd
400C[FF][3F][FF][3F]
type=04,uadrs=00
[08]
0000[10][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00]
0010[10][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00]
0020[10][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00]
0030[10][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00]
0040[10][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00]
0050[10][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00]


07D0[10][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00]
07E0[10][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00]
07F0[10][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00]
[01]
type=04,uadrs=01
[08]
400E[BD][1E]
[10]
>/exit

えっ。
全部00になってしまいました。
えらいこっちゃあ。

次回に続きます。

PICBASICコンパイラ[第233回]
2025.3.13 upload

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