PIC18F14K50 : マイコンボード作り

最近, アセンブリを書くことに疲れてきたので, しばらくはC言語で開発していきたいと思う. しかし, PIC16F84AのC言語を使うくらいだったらアセンブリの方が使いやすいし(本末転倒), せっかくなので他のPICをはじめたいと思った.

なぜPIC18F14K50か?

PIC18F14K50

まぁ, 理由なんて「USBを使えるようになったい」の一言に尽くが, 無理して他の理由も絞り出してみる.

理由 1 : PIC18シリーズだから

憧れたん. PIC12でもなく, PIC16でもなく, PIC18であるところに憧れたん. それだけ.

※PIC18シリーズは「ハイエンドシリーズ」であり, 特にPIC18 Kシリーズは低消費電力・高パフォーマンスアプリケーションに対応したシリーズと位置づけられている, そう. (PIC (コントローラ) - Wikipediaより)

理由 2 : 高性能, 高機能だから

以下に性能, 機能の比較の表を載せておく. が, 16F84Aだけだと比較にならないので, 16F1827も参考までに載せておく. 尚, 16F1827は16F84Aと基本的なピンの配置が同じため, 以前作った16F84Aボードに差し替えるだけで使える. 気が向いたら使う.

16F84A16F182718F14K50
パッケージ18ピンDIP18ピンDIP20ピンDIP
プログラムメモリ1kワード4kワード8kワード
データRAM(バイト)68384768
EEPROM(バイト)64256256
最大クロック20MHz32MHz48MHz
内蔵クロック-32MHz32MHz
I/O(本)131617
8bitタイマー(個)141
16bitタイマー(個)-13
USART-
SPI-
I2C-
USB--
秋月での値段(円)300150220

※2018年4月3日現在の情報.

見ての通り, PIC16F84Aと比べて圧倒的に高性能, 高機能. 特にSPIとかI2Cとかはあるだけで助かる.

以上の2つ(+USB機能)が18F14K50を選んだ理由. 他の理由も思いついたら書き足していく.

PIC18F14K50ボードを作る

いちいちブレッドボードで回路を組むのは嫌いなので, 例の如くまたマイコンボードを作った. この文章, 何回目?

マイコンボード

前回のマトリクスLEDボードの時はUEWを使いたが, 今回はそれほどでもなかったので, 普通に配線した. 写真左上のICソケットはI2C EEPROM用で, 近くのピンソケットはAQM0802Aを直接挿せるようにしてみた(※). 近くのジャンパピンはプルアップ用, USB近くのジャンパピンはD+, D-をPICから切り離すためにある. もしもの時用…?

AQM0802Aは電源が3.3Vなので, 絶対に絶対に使用しないでください. コントローラICのデータシートには「2.7 to 5.5 V」と書いてあるため大丈夫? 私は使えた. 壊れたとしても, 使えたとしても, 当方は責任を負いません.

回路図