鳥なき里のマイコン屋(170) デモボード搭載マイコン、PIC16F1829に交換

Joseph Halfmoon

前回、長らく眠っていたPICkit2がWindows11で復活。いざ活用と思った矢先、PICkit2のターゲットボード搭載のマイコンPIC16F690はMCC非対応という事実が突き付けられました。MCC無はメンドイ。なんとかならんものか?一瞬で光明が見えました。マイコンを交換したらいいんじゃね、PIC16F1xxxに。

※「鳥なき里のマイコン屋」投稿順Indexはこちら

PIC16F690とPIC16F1829

古い Low Pin Count Demo Board に搭載されていたマイコンは以下のものでした。

PIC16F690

PIC16シリーズではありますが、MPLAB X IDE上でMCC(MPLAB Code Configurator)の使える PIC16F1xxx ではなかったです。まあ地道にコードを積み上げていけば問題なくプログラムを作れそうですが、一端MCCの自動生成のお楽さを見てしまうとMCC無は辛いっす。

しかし、MicroChip社のPICマイコン、特に小ピンの奴らは

端子互換性が非常に高い

という特徴をもっています。マイコンの中身は異なるのでその特有な機能はデバイス毎に異なりますが、電源、グランド、Flashプログラミング等の共通端子はほぼほぼ完全互換。差し替えればそのままいける筈。そういうことなのかどうなのか、半分無意識的にPIC16F690と同様な20ピンDIPパッケージの以下のマイコンも仕入れてあったのです。

PIC16F1829

2つのデータシートからピン配部分を引用させていただきます。こんな感じ。PIC16F690_PIC16F1829

一緒じゃん。

さっそくデモボードからPIC16F690を外し、PIC16F1829に差し替えました。

PICkit2に接続したところが以下に。なお、先達のお教えに従い、PK2DeviceFile.datは「最新(といってもかなり古いケド)」に更新済であります。ちゃんとPIC16F1829と認識されております。PIC16F1829Detected

MPLAB X IDEでMCC使ってLチカ作成

さてPIC16F1829はMCCでの自動コード生成対象のマイコンです。デモボードではRC0/1/2/3にLEDが取り付けられているので、とりあえずRC0をGPIO出力に設定したところが以下に。GPIOだけ設定してコードを生成してみました。MCC_RC0_GPIO

そして、main.cの中にRC0を使ったLチカのコードを書き入れました。こんな感じ。MPLAB_BLINK

ビルドしてみると、SUCCESSFULLとな。BuildSuccessful

PICkit2経由でPIC16F1829に書き込み

上記で生成されたHEXファイルをPICkit 2 Programmerで読み込み、PIC16F1829に書き込んでみました。PIC16F1829_writeSuccessful

書き込み成功。

VDD PICkit 2 の Onにチェック入れれば、書き込んだプログラムが走ってLチカします。こんな感じ。PIC16F1829runs

あれあれ、Lチカの周期が妙に速いんでないかい。そういえば、GPIOの設定だけで、クロックとかの設定一切してなかった。それでもMCC生成ソースで動作はすると。

鳥なき里のマイコン屋(169) 復活!PICkit2 で読み書き出来たものの へ戻る

鳥なき里のマイコン屋(171) MCC MelodyとMCC Classicどっち? へ進む