PIC (mikrocontroller)
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.
PIC-kodningsværktøjer
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.
PIC-brændere
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.
Ordstørrelse
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.
Moderne PICs
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.
"Egenskaber"
PICs tilbyder mange forskellige hardwareblokke afhængig af den aktuelle PIC model:
- Timere
- Synkron/asynkron serial transmission UART
- AD-konvertere
- Spændingskomparatorer
- Capture/Compare/PWM-moduler
- LCD Drivere
- I2C og SPI periferi databus understøttelse
- Intern (software tilgængelig) EEPROM hukommelse
- Motorstyringskerner
- USB grænsefladeunderstøttelse
8-bit PIC-mikrocontroller-produktfamilier
- PIC10
- PIC12 Arkiveret 30. april 2005 hos Wayback Machine
- PIC14 Arkiveret 18. marts 2006 hos Wayback Machine
- PIC16 Arkiveret 11. maj 2005 hos Wayback Machine
- PIC18 Arkiveret 5. marts 2005 hos Wayback Machine
Almindelige PICs
- PIC10 familien (mini PIC)
- PIC12 familien (8 ben DIL. Nogle med intern oscillator)
- PIC12C508/509 (1k flash. Populær i mindre designs)
- PIC12F629/675 (1k flash)
- PIC16 familien
- PIC16F84 (18 ben DIL. 1k flash. Betragtes almindeligvis som en forældet chip, men umulig af "aflive" pga. populariteten)
- PIC16F84A (18 ben DIL. 1k flash. En lidt forbedret udgave af PIC16F84)
- PIC16F628A (18 ben DIL. 2k flash. Bedre og normalt billigere end PIC16F84 og PIC16F84A)
- PIC16F648A (fås i bl.a. 18 ben DIL. 4k flash. Mere flash-rom end PIC16F84A og PIC16F628A)
- PIC16F87X familien (fås bl.a. 28 ben smal DIL og 40 ben DIL. 2..8k flash. Anvendt i mange hobby projekter.)
- PIC18 familien (Forbedret instruktionssæt)
- PIC18F1320 (18 ben DIL. 8k flash)
- PIC18F2455 (28 ben DIL. 24k flash, USB)
- PIC18F4550 (fås i bl.a. 40 ben DIL. 32k flash, USB)
- (PIC18F452 ældre) (40 ben DIL. 16k flash. Anvendt i nogle hobby projekter.)
Se også
- Microbot
- Atmel AVR
- TI MSP430
- ARM mikrocontroller
- Internet-jargon
Wikimedia Commons har medier relateret til: |
|
Medier brugt på denne side
Forfatter/Opretter: No machine-readable author provided. Camillo assumed (based on copyright claims)., Licens: CC BY 2.5
Olympus digital camera C-150 with macro-lens.
Forfatter/Opretter: No machine-readable author provided. Camillo assumed (based on copyright claims)., Licens: CC BY 2.5
Olympus digital camera C-150 with macro-lens.