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


超ローコストPICWRITERの製作

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

[第296回]



●PIC16F1455(2)テストプログラム

まずは定番の作業として簡単なテストプログラムを作成しました。
適当なタイマールーチンを作ってそのルーチンをコールするたびにカウントアップするカウンタの値をポートに出力するというだけの簡単なプログラムですからどのPICに対するものもみんな似たり寄ったりになります。
ですので手っ取り早く以前作成した別のPIC用のものをもとにして必要なところだけを変えて作ってしまいます。
今回はPIC16F1503用に作ったプログラムをもとにして作成しました。
PIC16F1503用のテストプログラムはちょっと表現にまずいところがあったので一部を手直ししました([第294回])。
今回はその手直し後のプログラムをもとに作成しました。
;;;PIC 16F1455  testprogram from 1503testb
;25.6.5
;clock=16MHz
        #include <p16f1455.inc>
;
        __CONFIG _CONFIG1, _WDTE_OFF & _FOSC_INTOSC & _BOREN_OFF & _IESO_OFF & _FCMEN_OFF
;
cntr0=20
cntr1=21
;
     org 00
     goto start
;
     org 05
start
    banksel OSCCON;bank 1
        movlw 34;=4MHz;68 in 16f1503
        movwf OSCCON
    clrf TRISC
        banksel ANSELC;bank3
        clrf ANSELC
        banksel PORTC;bank0
;
t16ms:
        call t4ms
        call t4ms
        call t4ms
        call t4ms
        movf cntr1,w
        movwf PORTC
        incf cntr1
        goto t16ms
;
t4ms
        call t1ms
        call t1ms
        call t1ms
        call t1ms
        return
;
t1ms
        nop;1
        decfsz cntr0;1
        goto t1ms;2
        return   
;
    end
;

作成したPICアセンブラソースプログラムはいつものようにMPLABでアセンブルしてHEXファイルを作成したのですが。
ここで問題が発生しました。
とりあえずは秋月のPICプログラマPICKIT2でPIC16F1455に書き込もうとしましたらPIC16F1455を認識してくれません。
薄々は予想していたことなのですが。
とうとうそれが現実となってしまいました。
なにしろ私が使っておりますPICプログラマは年代物なのですよね。
過去記事を確認してみますと「PICでUSBを」[第4回]で書いています。
2011年の記事ですが元の記事は2009年暮れに書いています。
つうことはかれこれ15年前に購入したものです。
PICKIT2は遠の昔に販売終了になっています。
PICKIT2はハードだけでは動きません。
現在Windows7上で使っておりますソフトウェアのPICKIT2はV2.61です。


ひょっとしてこれをバージョンアップすればPIC16F1455を認識してくれるかも。
と思ったのですが。
駄目でした。
MICROCHIP社のサイトに行ってみましたら。

V2.61は最終バージョンでした。
2009年に終っています。

まあねえ。
15年も前のツールを使っているほうがなんなのでしょうけれど。
これが使いやすいのですよ。
最近のはどうも使いにくい感じで、おまけに円安のせいでしょうかずいぶん高くなってしまいました。
それもあって安価なPICWRITERを作ろうと思い立ったということでもあります。
とにかく。
PICKIT2ではPIC16F1455を認識してくれないということになると、もうPICKIT2に頼ることはできません。
リバースエンジニアリングは使えませぬ。
ついに自立するときがきてしまいました。
ならば自前のPICWRITERで書いてやろうではありませぬか。

ところが。
あろうことかなかろうことか。
わがPICWRITERでもPIC16F1455を認識してくれません。
えっ。
デバイスIDも読み出せない?
あらためてPIC16F1455のMEMORY PROGRAMMING SPECIFICATIONを確認してみたのですが。
ざっと見たところPIC16F1503などと特に変わっているところはありません。
いえ。
実は変わっているところはあったのです。
それには気がついていたのですがその時点ではそこのところは特に問題とは思っていませんでした。
ただあれこれいじくってみるなかでどうもそこしかないという感じが強くなってきました。
かくてお決まりの泥沼です。

しかし。
ひとこと言いたい。
ウソが書いてあるじゃないのさ。
ま。
今にはじまったことじゃありませんけれど。
おかげでしっかり迷走してしまいました。

超ローコストPICWRITERの製作[第296回]
2025.6.7 upload

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