2025.7.14
前へ

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


超ローコストPICWRITERの製作

〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
「PICBASICコンパイラ」からスピンオフ!!
過去記事を参照することなどを考えて該当する過去記事は「PICBASICコンパイラ」のまま連載回もそのままとします。
以後は前回記事からの流れで[第236回]からとします。
「PICBASICコンパイラ」はなるべく早く連載を再開したいと考えています。
PICはローコスト、高機能で種類も豊富なお手軽マイコンですがプログラムを書き込むためのWRITERが必要です。
それをできるだけ安価に作ってしまおうというプロジェクトです。
最終的には製品化を考えています(組立キット、完成品)。
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜

[第313回]



●PIC12F1612(6)テストプログラムを実行

約一週間ぶりの更新になってしまいました。
ちょっと数のある完成品のご注文をいただいてしまってその納期が迫っていて時間に追われる毎日が続いています。
一番大変なのをやっと仕上げてほっと一息ついたところです。

照明が不足気味の部屋の中で撮ったため画質が荒れてしまいました。
MYCPU80B完成品です。
ついさきほど仕上げたばかりです。
今まで何枚も仕上げていますがいつ作業してもなかなかにしんどいです。
まだ複数のお客様からほかにもご注文をいただいていますので時間に追われる日々はもう少し続きそうです。

さて本題です。
前回作成したテストプログラムをPIC12F1612に書き込んで動作テストをするところまで何日も前に済ませていたのですが上のような事情でホームページを書く時間がありませんでした。
今回もざっと走り書きです。
下は前回作成したテストプログラムをPIC12F1612に書き込んだときのログファイルです。
途中を一部省略しました。
>/picidck
400C[58][30]
>/pictype=3
pictype=33
[03][01][00][00]
>/erase
400E[03][01][00][00]
>/hload pic12f1612testb.hex
loading pic12f1612testb.hex ...
i=245,binbfend=102
>/picwr
400E[03][01][00][00]
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)(03)(01)(00)(00)(0E)(01)(00)(00)(46)(03)(FF)(3F)(FF)(3F)(FF)(3F)
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]
(10)(01)(00)(02)(00)(00)(00)(00)(00)(02)(03)(FF)(3F)(FF)(3F)(FF)(3F)
i=22,b=6,[00]000a
[05][00][06][00][0A][03][30][88][00][8C][01][FF][FF][FF][FF][FF][FF][FF][FF][FF][FF]
(10)(01)(00)(06)(00)(0A)(00)(00)(00)(10)(03)(FF)(3F)(FF)(3F)(FF)(3F)
i=42,b=16,[00]0010
[05][00][10][00][10][01][30][88][00][68][30][99][00][58][30][9A][00][8C][01][88][01]
(10)(01)(00)(10)(00)(10)(00)(00)(00)(20)(03)(FF)(3F)(FF)(3F)(FF)(3F)
i=62,b=16,[00]0020
[05][00][10][00][20][8C][01][1C][20][FF][30][8C][00][1C][20][10][28][FA][30][A0][00]
(10)(01)(00)(10)(00)(20)(00)(00)(00)(30)(03)(FF)(3F)(FF)(3F)(FF)(3F)
i=82,b=16,[00]0030
[05][00][10][00][30][00][00][A0][0B][18][28][08][00][FA][30][A1][00][16][20][16][20]
(10)(01)(00)(10)(00)(30)(00)(00)(00)(40)(03)(FF)(3F)(FF)(3F)(FF)(3F)
i=92,b=6,[00]0040
[05][00][06][00][40][A1][0B][1E][28][08][00][FF][FF][FF][FF][FF][FF][FF][FF][FF][FF]
(10)(01)(00)(06)(00)(40)(00)(00)(00)(46)(03)(FF)(3F)(FF)(3F)(FF)(3F)
i=98,b=2,[00]400e
[05][00][02][40][0E][FC][31][FF][FF][FF][FF][FF][FF][FF][FF][FF][FF][FF][FF][FF][FF]
(10)(03)(00)(02)(40)(0E)(00)(00)(00)(46)(03)(FF)(3F)(FF)(3F)(FF)(3F)
picwr end

>/verify
inbfend=0
400E[03][00][02][40]
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)(03)(00)(02)(40)(0E)(00)(00)(00)(46)(03)(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)(05)(28)(02)(40)(0E)(00)(00)(00)(46)(03)(FF)(3F)(FF)(3F)(FF)(3F)
[o][o]
i=22,b=6,[00]000a
[06][00][06][00][0A][03][30][88][00][8C][01][FF][FF][FF][FF][FF][FF][FF][FF][FF][FF]
(06)(03)(30)(88)(00)(8C)(01)(00)(00)(46)(03)(FF)(3F)(FF)(3F)(FF)(3F)
[o][o][o][o][o][o]
i=42,b=16,[00]0010
[06][00][10][00][10][01][30][88][00][68][30][99][00][58][30][9A][00][8C][01][88][01]
(10)(01)(30)(88)(00)(68)(30)(99)(00)(58)(30)(9A)(00)(8C)(01)(88)(01)
[o][o][o][o][o][o][o][o][o][o][o][o][o][o][o][o]
i=62,b=16,[00]0020
[06][00][10][00][20][8C][01][1C][20][FF][30][8C][00][1C][20][10][28][FA][30][A0][00]
(10)(8C)(01)(1C)(20)(FF)(30)(8C)(00)(1C)(20)(10)(28)(FA)(30)(A0)(00)
[o][o][o][o][o][o][o][o][o][o][o][o][o][o][o][o]
i=82,b=16,[00]0030
[06][00][10][00][30][00][00][A0][0B][18][28][08][00][FA][30][A1][00][16][20][16][20]
(10)(00)(00)(A0)(0B)(18)(28)(08)(00)(FA)(30)(A1)(00)(16)(20)(16)(20)
[o][o][o][o][o][o][o][o][o][o][o][o][o][o][o][o]
i=92,b=6,[00]0040
[06][00][06][00][40][A1][0B][1E][28][08][00][FF][FF][FF][FF][FF][FF][FF][FF][FF][FF]
(06)(A1)(0B)(1E)(28)(08)(00)(08)(00)(FA)(30)(A1)(00)(16)(20)(16)(20)
[o][o][o][o][o][o]
i=98,b=2,[00]400e
[06][00][02][40][0E][FC][31][FF][FF][FF][FF][FF][FF][FF][FF][FF][FF][FF][FF][FF][FF]
(10)(FC)(31)(FF)(3F)(FF)(3F)(DC)(31)(E8)(1D)(FE)(3E)(FF)(3F)(FF)(3F)
[o][o]
vfend
error=0
>/picrdf 12f1612testb250704.hex
12f1612testb250704.hex already exists.overwrite ok? y or else
y
400E[FC][31][FF][3F]
type=04,uadrs=00
[08]
0000[10][05][28][FF][3F][FF][3F][FF][3F][FF][3F][03][30][88][00][8C][01]
0010[10][01][30][88][00][68][30][99][00][58][30][9A][00][8C][01][88][01]
0020[10][8C][01][1C][20][FF][30][8C][00][1C][20][10][28][FA][30][A0][00]
0030[10][00][00][A0][0B][18][28][08][00][FA][30][A1][00][16][20][16][20]
0040[10][A1][0B][1E][28][08][00][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]
0060[10][FF][3F][FF][3F][FF][3F][FF][3F][FF][3F][FF][3F][FF][3F][FF][3F]
0070[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[FC][31][FF][3F]
[10]
>/exit

PIC12F629のときと同じようにテストをしました。
単三乾電池2本(3V)での動作です。

CLOCKOUTの信号をオシロで観測しました。
1周期はちょうど1msecです。
システムクロック周波数の1/4の周波数が出力されていますから内蔵発振周波数は4MHzです。
プログラムは前回の通りでよいようです。

駆け足になってしまいましたがPIC12F1612についてはこれで終わりです。

超ローコストPICWRITERの製作[第313回]
2025.7.14 upload

前へ

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