PIC er en familie af RISC-mikrocontrollere lavet af firmaet Microchip Technology. PIC er en afledning af PIC1650, som oprindeligt blev udviklet af General Instruments Microelectronics Division.
Microchip Technology anvender ikke PIC som et akronym; faktisk er brand-navnet PICmicro.
PICs anvender et RISC-instruktionssæt, som varierer med omkring 35 instruktioner for de mindste PICs til omkring 70 instruktioner for de største PICs.
Microchip tilbyder en freeware-IDE-pakke kaldet MPLAB, som også inkuderer en software-simulator såvel som en assembler.
Andre laver C-compilers til PICs. microchip sælger også compilere til de største PICs ("C18" til 18F serien og "C30" til dsPICs). De tilbyder også en "studenter-udgave/demo" af C18 som afbryder nogle optimeringer efter et stykke tid.
Open source-compilere til Pascal, JAL og Forth, PicForth findes også.
GPUTILS er en open source-samling af værktøjer, distribueret under GNU General Public License. GPUTILS omfatter en assembler og en linker og virker på Linux, Mac OS X og Microsoft Windows. GPSIM er en open source-simulator til PIC-mikrocontrollere, som også kan simulere hardwaremoduler som f.eks. LCD-skærme.
Apparater kaldet "brændere" anvendes traditionelt til at lægge koden ind i en PIC. De fleste PICs som Microchip sælger, har mulighed for ICSP (In Circuit Serial Programming) og/eller LVP (Low Voltage Programming), hvilket gør det muligt at brænde PIC, mens den sidder i et anvendelseskredsløb. ICSP-brænding udføres ved at anvende benene RB6 og RB7 til clock og data, mens en høj spænding er tilstede på ben /MCLR. Der findes mange brændere til PIC-mikrocontrollere, lige fra de simpleste design, som kræver kommunikationssoftware til at håndtere alle kommunikationsdetaljer, til komplekse design, som kan teste brændingsresultatet ved forskellige spændinger. Mange af de komplekse brændere anvender en for-programmeret PIC som håndterer brændingskommandoer til PICen, som skal brændes.
PICens ordstørrelse er kilden til megen forvirring. Alle PICs (undtagen dsPICs) håndterer data i 8-bit bidder, så de burde kaldes 8-bit mikrocontrollere. Men til forskel fra de fleste CPUer anvender PICs en Harvard-arkitektur, så de enkelte instruktioners størrelser kan være indbyrdes forskellige. Faktisk anvender forskellige PIC familier forskellige instruktionsstørrelser, som gør det til en udfordring at sammenligne en PICs kodestørrelse med andre mikrocontrollere.
De gamle PROM og EPROM PICs bliver gradvist erstattet af chips med Flashhukommelse. Flash-hukommelse gør det muligt at reprogrammere PICen flere tusind gange elektrisk.
PICs tilbyder mange forskellige hardwareblokke afhængig af den aktuelle PIC model:
![]() |
Wikimedia Commons har medier relateret til: |