10M+ Elektroniske komponenter på lager
ISO Certificeret
Garanti inkluderet
Hurtig levering
Svære at finde dele?
Vi henter dem
Anmod om et tilbud

PIC-mikrocontrollere: Familier, funktioner og hvordan man vælger

Feb 14 2026
Kilde: DiGi-Electronics
Gennemse: 448

PIC-mikrokontrollere er små chips, der styrer mange kredsløb i simple og avancerede produkter. Denne artikel forklarer deres historie, Harvard-arkitektur, porte og pinout, 8-, 16- og 32-bit familier, hukommelsestyper, timere, afbrydelser, strømtilstande og kommunikationsforbindelser. Den dækker også værktøjer, PCB-design, valg af enhed og fejl i detaljer.

Figure 1. PIC Microcontrollers

PIC-mikrocontrollere Grundlæggende

PIC-mikrocontrollere er små computerchips, der kan styre mange typer elektroniske kredsløb. De startede som simple hjælpechips lavet af General Instrument. Senere overtog Microchip Technology designet og omdannede PIC til en fuld familie af mikrokontrollere. PIC betyder Microchips 8-bit, 16-bit og 32-bit mikrocontrollere, der bruges i mange elektroniske produkter.

De første PIC-enheder dukkede op i 1970'erne som programmerbare perifere chips. I begyndelsen af 1990'erne blev de relanceret som selvstændige mikrocontrollere, der kunne lagre programmer og styre hele systemer på egen hånd. Moderne PIC-mikrocontrollere fokuserer på nem programmering, nyttige indbyggede tilbehør og lave omkostninger, hvilket gør dem til et valg for mange indlejrede designs

Harvard-arkitektur inde i PIC-mikrokontrollere

Figure 2. Harvard Architecture Inside PIC Microcontrollers

PIC-mikrocontrollere bruger en Harvard-arkitektur, hvilket betyder, at programinstruktioner og data lagres i separate hukommelsesområder og bevæger sig ad forskellige interne stier. På grund af dette kan CPU'en hente den næste instruktion, mens den læser eller skriver data. Denne parallelle handling hjælper PIC med at køre mere jævnt og holder timingen lettere at kontrollere end i mange single-bus designs.

I mange PIC-familier er instruktionshukommelsen bredere end datahukommelsen, såsom 14-bit instruktionsord med 8-bit data. Denne ekstra bredde gør det muligt for hver instruktion at indeholde nyttige oplysninger som tal og adresser direkte. Som resultat kan programmer være kortere, køre hurtigere og stadig køre på hardware, der forbliver enkel indvendigt.

PIC-mikrocontrollerporte og pin-out 

Figure 3. PIC Microcontrollers Ports and Pinout 

PIC-mikrocontrollerbenene er arrangeret rundt i pakken for at gruppere relaterede funktioner, hvilket gør det lettere at tilslutte ekstern hardware. Strømbenene leverer driftsspænding, mens oscillatorbenene håndterer clockinput for timing. Flere porte (RA, RB, RC, RD og RE) tilbyder digital I/O og understøtter alternative roller såsom afbrydelser, analoge indgange, capture/complignance-funktioner og kommunikationsgrænseflader. Mange ben er multiplexede, hvilket gør det muligt for funktioner som UART, SPI og I²C at dele de samme fysiske linjer afhængigt af konfiguration. Dedikerede analoge kanaler understøtter ADC-operationer, og specifikke ben styrer nulstilling, referencesignaler og særlige kontrolfunktioner. Hver pins fleksibilitet hjælper enheden med at passe til en bred vifte af applikationer, fra simple kontrolopgaver til avancerede indlejrede designs.

PIC-mikrocontrollerfamilier fra 8-bit til 32-bit

Figure 4. PIC Microcontroller Families from 8-Bit to 32-Bit

PIC-mikrocontrollere er grupperet i flere familier, så det er lettere at matche chippen til den nødvendige hastighed, hukommelse og funktioner. Den største forskel mellem disse familier er, hvor mange bits de håndterer ad gangen, og hvor meget indbygget hardware de inkluderer til forskellige kontrolopgaver.

• 8-bit familier (PIC10, PIC12, PIC16, PIC18)

Disse PIC-mikrokontrollere arbejder med 8-bit data. De passer i meget små pakker og vælges ofte til simple kontrolopgaver og lavprisprojekter.

• 16-bit familier (PIC24 og dsPIC33)

Disse enheder håndterer 16-bit data, har mere hukommelse og bruger bredere registre. De kan håndtere mere komplekse operationer og inkluderer digitale signalstyringsfunktioner for hurtigere matematik og timing.

• 32-bit familie (PIC32)

Disse PIC-mikrocontrollere bruger en 32-bit MIPS-kerne, hvilket muliggør højere ydeevne. De understøtter mere avancerede perifere enheder og kommunikationsfunktioner til krævende indlejret arbejde.

Hukommelse inde i PIC-mikrocontrollere

Figure 5. Memory Inside PIC Microcontrollers

Programhukommelse (Flash)

Programhukommelsen er der, hvor hovedkoden til PIC gemmes. Ældre PIC-enheder brugte EPROM eller engangsprogrammerbar hukommelse, men de fleste nyere PIC-mikrocontrollere bruger flashhukommelse. Flash kan slettes og omskrives mange gange, så programmet kan opdateres uden at udskifte chippen.

Datahukommelse (RAM)

Datahukommelse er RAM, og den indeholder kun information, mens PIC'en er strømført. Den gemmer variabler, midlertidige værdier og stakken under programeksekveringen. Mange 8-bit PIC-mikrocontrollere opdeler RAM i banker eller sider, mens 16-bit og 32-bit PIC-enheder ofte giver et større, mere sammenhængende RAM-område.

Ikke-flygtig datahukommelse (EEPROM eller dataflash)

Denne type hukommelse gemmer data, selv når strømmen er slukket. PIC-mikrocontrollere bruger EEPROM eller dataflash til at gemme kalibreringsværdier, konfigurationsinformation og andre indstillinger, som skal forblive de samme efter nulstillinger og tændingscyklusser.

Timere, afbrydelser og strømstyring i PIC-mikrocontrollere

Figure 6. Timers, Interrupts, and Power Control in PIC Microcontrollers

PIC-mikrocontrollere bruger timere til at spore begivenheder, og når en timer løber over, sættes et interruptflag til at anmode CPU-opmærksomhed. CPU'en sætter sit nuværende arbejde på pause, kører Interrupt Service Routine og genoptager derefter normal eksekvering. Strømstyringsfunktioner tillader enheden at gå i lavstrøms dvaletilstand, mens timere eller vagthundens timer fortsætter i baggrunden. En opvågningsbegivenhed, såsom en watchdog-nulstilling eller afbrydelse, bringer CPU'en tilbage til aktiv tilstand. Denne interaktion mellem timere, afbrydelser og strømtilstande hjælper med at reducere energiforbruget, samtidig med at præcis timing og pålidelige systemresponser opretholdes.

Kommunikationsgrænseflader i PIC-mikrokontrollere

Figure 7. Communication Interfaces in PIC Microcontrollers

PIC-mikrocontrollere forbinder til en bred vifte af eksterne enheder via flere kommunikationsgrænseflader. Analoge sensorer, såsom temperatur eller lysinput, sender deres signaler gennem ADC'en, mens digitale sensorer deler data over I²C-bussen. Aktuatorer som motorer, LED'er og relæer modtager styresignaler via GPIO- eller PWM-udgange. Kommunikation med en PC foregår via USB eller UART, hvilket muliggør dataudveksling eller fejlfinding. Andre mikrocontrollere og perifere enheder interagerer via SPI, UART eller I²C, hvilket muliggør koordineret drift i større indlejrede systemer. Disse forbindelser understøtter fleksibelt systemdesign og gør det muligt for mikrocontrolleren effektivt at interagere med sensorer, styreelementer og eksterne processorer.

Udviklingsværktøjer til PIC-mikrocontrollere

MPLAB X IDE

MPLAB X er et gratis program, der bruges til at skabe og teste kode til PIC-mikrokontrollere. Det kører på Windows, macOS og Linux. I ét vindue lader det dig lave projekter, skrive kode, bygge programmet og fejlfinde, hvordan det kører på PIC.

MPLAB XC-kompilatorer

MPLAB XC-kompilatorer omdanner C- eller C++-kode til maskinkode til PIC-mikrocontrollere. De er lavet til at matche PIC-enheder godt, så koden kører korrekt og effektivt. Der findes gratis versioner og betalte versioner med ekstra funktioner.

Debug og programmeringshardware

Værktøjer som PICkit, MPLAB ICD og MPLAB REAL ICE bruges til at indlæse programmer i PIC-mikrocontrollere og fejlfinde dem på printkortet. De lader dig programmere chippen, pause koden, gennemgå den linje for linje og se, hvordan værdierne ændrer sig, mens PIC'en kører.

Anvendelser af PIC-mikrocontrollere

Forbrugerelektronik med PIC-mikrocontrollere

PIC-mikrocontrollere er ofte indbygget i daglige elektroniske produkter. De kan styre små apparater, fjernbetjeninger, LED-belysning, batteriopladere og legetøj ved at håndtere simpel logik, timing og tænd/sluk-kontrol inde i enheden.

Bil- og industriel styring med PIC

I biler og industrielle maskiner hjælper PIC-mikrocontrollere med at styre motorer, strømforsyninger, sensorer og HVAC-systemer. De læser signaler, træffer beslutninger og justerer output, så systemet kører sikkert og pålideligt.

PIC i IoT- og edge-enheder

PIC-mikrocontrollere bruges i mange IoT- og edge-noder, når der kræves lav strømforbrug. De kører batteridrevne sensorer, simple gateways og miljøovervågningssystemer, der indsamler grundlæggende data og sender dem til andre systemer.

Medicinske og måleværktøjer ved brug af PIC

Nogle medicinske og laboratorieinstrumenter er også afhængige af PIC-mikrocontrollere. De kan styre håndholdte diagnostiske værktøjer, pumper og små måleenheder ved at aflæse sensordata og håndtere simple kontrolrutiner.

Valg af PIC-mikrocontroller

• Vælg bitbredde og hastighed - Brug 8-bit PIC10/12/16/18 til simpel, billig kontrol. Vælg 16-bit PIC24/dsPIC33 for mere hukommelse og matematik. Skift til 32-bit PIC32 for større kode og tungere behandling.

• Tjek hukommelse og periferiudstyr - Estimerer nødvendig programstørrelse og RAM, og tilføj derefter margin. List de nødvendige ADC-kanaler, UARTs, SPI/I²C-porte, timere, PWM-udgange og eventuelle ekstra funktioner som CAN, USB eller krypto, og match dem med en PIC, der har dem.

• Bekræft strøm og pakke - Gennemgå aktiv og hvilestrøm for batteridrevne designs. Vælg en pakkestørrelse og antal pins, der passer til dit PCB. Sørg for, at PIC opfylder den rette temperatur- og pålidelighedsgrad.

Almindelige fejl med PIC-mikrocontrollere

TipHvad skal man gøre og hvorfor?
Initialiser indstillinger ved startSæt alle I/O-pins, sluk ubrugte perifere enheder, og sæt uret og watchdoggen i starten af main() for at undgå tilfældig adfærd.
Hold afbrydelser simpleGør interrupt-rutiner korte, undgå tungt arbejde i dem, og beskyt delte data, så værdierne ikke ændres på usikre måder.
Genanvend dokumenterede PIC-eksemplerBrug Microchip-biblioteker, kodeeksempler og appnoter til UART, SPI, ADC og andre blokke for at følge korrekte registeropsætninger.
Tillad opdateringer i systemetPlanlæg hardware og kode, så PIC kan omprogrammeres via en bootloader eller opdateringslink i stedet for at ændre chippen.
Tjek kraft og timing tidligtMål faktisk strøm og timing på kortet, især for lav-effekt eller stram-timing designs, i stedet for kun at stole på estimater.

Konklusion

PIC-mikrocontrollere samler simple hardwareblokke, separate program- og dataveje, fleksible porte, flere hukommelsestyper samt mange timere og grænseflader. Med de rette værktøjer og PCB-layout, og ved korrekt at indstille bits, strømtilstande og interrupts, kan et PIC-baseret design forblive klart, pålideligt og lettere at vedligeholde over tid.

Ofte stillede spørgsmål [FAQ]

Hvad er konfigurationsbits i en PIC-mikrocontroller?

Konfigurationsbits er ikke-flygtige indstillinger, der definerer, hvordan PIC'en starter og kører, såsom clock-kilde, watchdog-timer, brown-out reset og kodebeskyttelse.

Hvordan kan jeg opdatere PIC-firmwaren uden en hardwareprogrammør hver gang?

Brug en bootloader, der modtager den nye firmware over UART, USB, CAN eller et andet interface og skriver den ind i PIC'ens flashhukommelse.

Hvad skal jeg tjekke, hvis min PIC ikke kører efter programmering?

Tjek strøm og jord, nulstill/MCLR-niveau og clock-kilde, og verificér derefter konfigurationsbitsene og bekræft, at koden når frem.

Hvornår skal jeg bruge en dsPIC i stedet for en PIC16 eller PIC18?

Brug en dsPIC, når du har brug for hurtige matematik- og signalbehandlingsopgaver, såsom motorisk styring, digital effektkonvertering eller filtrering.

Hvordan kan jeg beskytte PIC-firmwaren mod at blive kopieret?

Aktivér kodebeskyttelse og hukommelsesbeskyttelsesbits, så eksterne værktøjer ikke kan læse eller klone programmet og lagrede data.

Hvordan reducerer jeg strømforbruget i et PIC-baseret design?

Sænk clockhastigheden, deaktiver ubrugte periferiudstyr, brug dvale- eller idle-tilstande, og minimer unødvendig pinaktivitet og belastningsstrømme.

Anmod om tilbud (Afsendes i morgen)