PICはマイクロチップ社のMCU製品です。 PICはPeripheral Interface Controllerという名前が示すとおり、 周辺回路のインターフェースを制御するために設計されたマイコンという位置づけです。 初期にはタイマーとGPIOぐらいしか装備されていませんでしたが、 今ではUART (EUSART), MSSP, PWM, ADC, DAC, CLC, PSPと多彩な周辺回路が搭載されています。
Z80が当たり前に使われていた黎明期の過去にはGPIOというものすらなく、 8bit単位で取り扱うパラレルポートとしてのみ存在していました。 Programmable Peripheral InterfaceであるIntel i8255Aも8bit単位でI/Oを設定するものであり、 パラレルポートという概念で括られ、I/Oをビット単位で設定することは基本的には考慮されていませんでした。 PIC等のワンチップマイコンの登場は、I/Oの世界に1ビット単位で制御できるGPIOをもたらしました。 その意味ではGPIOも立派な周辺回路です。
フラッシュメモリ搭載型マイコンであるPIC16Fシリーズの前には ワンタイムプログラマブルなPIC16Cシリーズが存在しましたが、 過去のことなので忘れましょう。 太古の昔にはワンタイムプログラマブルなEPROMと量産用マスクロムが当たり前だったのでしょうけども、 今はファームウェア更新をする運用が前提になりましたので、 今どきの製品であれば、 白物家電でもない限り大量生産品でもフラッシュメモリが採用されていることと思います。
PIC16FではCPUコアにはレジスタが1本しか無いという割り切った構造が採用されています。 PIC16Fのプログラミングエクスペリエンスではレジスタ(アキュムレータ)がALUに張り付いており、 汎用レジスタとメモリという階層構造がありません。 代わりにレジスタファイルがメモリと同等のものとして提供されます。 メモリがなくレジスタファイルとして割り切られているため、いわゆるメモリにアクセスするためのアドレス範囲が狭く、 バンク切り替えを多用するという構造を持っています。 RAMを装備せずレジスタが256本(たとえば)あるCPUである、みたいなイメージを持ってもらえればだいたい合っています。
AVRと簡単に比較してみましょう。
PIC16F系統にはUSB専用マイコンとしてPIC16F1454, PIC16F1455, PIC16F1459が存在します。 これらはDIP版が秋月で取り扱われており、比較的に入手性が良い、という特徴があります。 PIC16F145xはUSB専用なのでUSBを使わない用途には適しません。 USBを使わない用途には他の品種を選びましょう。
マイクロチップ社の社是からくる理由で、PICは原則としてEOLになりません。 供給が断たれにくいかわりにデバイスの値段が青天井に釣り上がります。 PICにおいては「これはもう買えない」と思ったときがそのデバイスのEOLです。 2025年の傾向としては、PICの中から選ぶにはコスパのよいPIC16F1シリーズの採用がお勧めです。 PICとAVRでこだわりがないならAVRを優先して選択すると良い結果が得られます。 AVRを開発していたアトメル社はマイクロチップ社に買収されましたので、 AVRもマイクロチップ社のポリシーに従って供給されるだろうと期待しています。 もっとも、消費者側の都合から言えばメーカがいくら生産を続けていても(宣言しても)、 販売店が取り扱いを打ち切ればそれはもうEOLと同じことです。 ですので、販売店の動向にも注意しなければなりません。