PIC(ピック、Peripheral Interface Controller)とは、マイクロチップ・テクノロジー社 (Microchip Technology Inc.) が製造しているマイクロコントローラ(制御用IC)製品群の総称である。

概要

編集

1975 (General Instrument Corporation) 1985PIC

PICCPU (RAM, ROM)I/O1ROMPIC
 
PIC32MZ2048ECM100-I/PT
 
PIC24FJ64GB002-I/SP

特徴

編集

RISC112128

118PIC (PIC10/12/16/18) 41PIC24/dsPIC21MIPSPIC3211

使

ROMEPROMROM EEPROM

PIC18100

DIP6PICGPIOA/D (USART, IIC) USB

GPIO125mALED11

PICMicrochip 使

MicrochipMPLAB XC (XC) MPLAB X  NetBeans IDE

PICDIPPICMicrochipPICKitPICKit使5ICSP (In-Cirtuit-Serial-Programming) PIC使PIC使PICKitICD (In-Circuit-Debug) 使ICDPIC

PIC1995 PlayStationCD-ROMMODPIC12C508使MODPIC

PICDIPPIC使LSIICPIC

Atmel AVRArduinoARM32Atmel20161Microchip

PIC1214C

機能

編集

すべてのPICに搭載されている機能(*の付いた副機能のみ非搭載機種もある)

  • 発振回路
    • 外部発振回路
    • 内部発振回路*(RC発振回路・4-16MHz程度)
    • 高精度(誤差±1-5%程度)内部発振回路* (品種によっては工場出荷時に校正値がプログラムフラッシュの特定アドレスに書き込まれているため、これを消去してしまわないよう注意が必要)
    • PLL回路(クロックソースを3逓倍あるいは4逓倍できる)*
  • リセット(プログラムの先頭に戻る)
  • 割り込み
    • 外部割込み
      • ピン変化*
      • INTピン
    • 内部割込み
      • AD変換完了*
      • EEPROMにライト完了*
      • タイマのオーバーフロー(桁あふれ)
  • スリープ(動作を停止し低消費電力となる)

一部品種に搭載されている機能

PICの種類

編集

8bit PICシリーズ(データメモリが8ビット幅)

編集

1214


CPUWSFR (Special Function Register) GPRGeneral Purpose RegisterRAMSFRPICCPUSFR

0x00-0x7F120x00-0x1F

GOTOCALL

ROMW (RETLW) 

CPUBTFSC, BTFSSGOTO

1214

CPU使RETURN122148

GPIOPORTn使PORTnGPIOLATn

Enhanced(14)


161416

16


12, 14







32

CPU40-64MHz1412, 14

1214()16832KB16384

12


PIC10

6DIPNC28
10F200

10F202 

PIC12

PIC1281214Enhanced14
12C508,509

PROM1使(CE)

12F508,509

12C508,509

14


PIC12


12F629

 (4MHz) 8PinPIC

12F675

12F629A/D

12F683

CCP8MHz

PIC16


16F84A

PICGPIO

16F648A

16F84A(4MHz)CCPUSART

16F88

18PinPICA/D8MHz16F84A

16F877A

40pinI/O16F888K

16F887

16F877AA/D

16F876A

16F877A28pin

16F886

16F88728pin

16F1827

16F88


Enhanced14


PIC12


12F1571 

PIC16


16F19xx 

16F1455

14USB

16

20166PIC18
PIC18, PIC18 K, PIC18 J


PIC18 K

PIC18 J100

18F4520

40Pin32KB(16K)RAM1.5KB

18F2550

28PinUSB

18F4550

18F255040Pin

18F2620

28Pin8722RAM

18F4620

18F262040Pin

18F8722

80Pin TQFP128KBRAM4KB

18F14K50

20PinUSBUSB

18F2480

28PinECU使CANECAN

ELM ElectronicsELM327OBD2-18F2480ELM327L18F25K80使ELM327Bluetooth (SPP) OBD2-BluetoothELM327ELM Electronics

PIC24とdsPIC

編集

2001dsPIC[1]2004

16 PIC24dsPICDSP

(一)PIC24   256KBRAM32KB
PIC24F   16MIPS

PIC24H   40MIPS

PIC24E   70MIPS

(二)dsPIC   2416CPUDSP
dsPIC30F   30MIPS

dsPIC33F   40MIPS

dsPIC33E   70MIPS

PIC:[2]

16

PIC42

64KB

2KB

RAM62KB

f13 (8KB)

16W fW0

2222:1bit00

24

 (B=1) 16 (B=0) 

RAMW15; 

W14

ROM



:







16x161DSP

16/3219

()



dsPICXC16C30使CGCC

ROM2416ROM162116288023022

2 PICW0f8KBRAMWfW

PIC32MX

編集

20071132PIC32MX MIPS[3] Microchip MPLAB C Compiler for PIC32 MCUsGNU 18PIC32MX3xxPIC32MX4xx16PIC24FxxGA0xx使 28QFNCANUSB On-The-Go32

PIC32:
  • 最大512KBのフラッシュメモリ
  • 1つのインストラクションは1クロックで実行される
  • キャッシュメモリのある初めてのプロセッサ
  • RAMから実行可能になった
  • フルスピード対応のUSBデバイスまたはOTGホストとなれる二役のサポート
  • JTAGにフル対応および2ワイヤーによるROM書き換えおよびデバッグ
  • リアルタイムトレース

PIC32MZ

編集

2013年11月、マイクロチップ社はMIPS M14KコアをベースとしたPIC32MZシリーズのマイクロプロセッサを発表した。

PIC32MZシリーズの特長:[4]

  • 200 MHz動作、および330 DMIPS、3.28 CoreMark/MHzのパフォーマンス
  • 2MBのフラッシュメモリおよび512KBのRAM
  • 新しい周辺サポート。ハイスピードUSBおよび暗号化エンジン、SQI

PIC互換

編集

(一)SCENIX SX - SCENIXUbicomCPUPIC450MHz75MHzPIC12PIC16

クローン製品

編集

ELAN Microelectronics

編集

ELAN Microelectronics Corp. ELAN社は13ビット命令長のPICライクなマイクロコントローラーを発表している。[5] この命令セットは14ビット命令セットのミッドレンジにもっとも互換性があるが、レジスターアドレスが6ビットであり(16個の専用目的のレジスタおよび48バイトのRAM)10ビット(1024ワード)のプログラム空間である。10ビットのプログラムカウンターはR2としてアクセスできる。

下位のビットのみが読み込み可能であり、上位のビットが書き込みやクリアができる。 TBL命令の例外によって、あらかじめ保存された下位バイト8-9が書き換えられる。(原文:which modifies the low byte while preserving bits 8 and 9.) 7つの即時積算命令が14ビットのPICの同等命令に対応する。オペコードを示すビットが3ではなく4ビットあるが、それらはそこだけではなく、追加されるソフトウェア割り込みに割り当てられている。

いくつかの雑多な命令が追加されており、述語の変更であるが、(PICオプションレジスタはコントロールレジスタと呼ばれる; PIC 1-3はTRISレジスター、5-7はI/Oコントロールレジスタ)明らかに同等である。

いくつかのモデルはほかのPICにあるような複数のROMやRAMバンクを持つ。

Holtek

編集

HoltekPIC[6]HT37HT4xHT56HT6xHT82HT9514PIC 2使

3:

1411ROM(2Kx14)7RAM

1512ROM(4Kx15)8RAM

1613ROM(8Kx16)8RAMROMRAM

14-bit PIC:





0()

1(CLR0)

ROM

CLRWDT1CLRWDT2使

PIC:
  • 引き算はアキュムレータから引かれる
  • TRIS/OPTION命令がない。全てのレジスタはアドレスを持つ
  • ソフトウェアはすべてのサブルーチンスタックを利用できる。スタックがいっぱいのときに割り込みはマスクされ、その関数が抜けるときに初めて実行される

使用可能なC言語コンパイラ

編集

MPLAB XC Compiler

Windows (x86/x64)Linux 32-Bit and Linux 64-Bit (Requires 32-Bit Compatibility Libraries)Mac (10.X) MPLAB XC8 CompilerMPLAB XC16 CompilerMPLAB XC32 Compiler3PICMPLAB X使PROFreeStandard使FreeFreePRO使使使

CCS PIC C Compiler

PICIDEMPLAB使

HI-TECH PIC C Compiler

MPLABEclipseIDE使 PICC Lite 使

mikroElektronika mikroC for PIC

SDLCDIDE12, 16, 18PIC24dsPIC2KBasicPascalHI-TECHinclude

SDCC (Small Device C Compiler)

CPIC

脚注

編集

関連項目

編集

外部リンク

編集