Kendskab til PIC-mikrocontrollere og dens arkitektur med forklaring

Prøv Vores Instrument Til At Fjerne Problemer





PIC er en Perifert interface mikrokontroller som blev udviklet i året 1993 af General Instruments Microcontrollers. Det styres af software og programmeres på en sådan måde, at det udfører forskellige opgaver og styrer en generation. PIC-mikrocontrollere bruges i forskellige nye applikationer såsom smartphones, lydtilbehør og avanceret medicinsk udstyr.

PIC Microcontrollers

PIC Microcontrollers



Der er mange PIC'er tilgængelige på markedet lige fra PIC16F84 til PIC16C84. Disse typer PIC'er er overkommelige flash-PIC'er. Microchip har for nylig introduceret flashchips med forskellige typer, såsom 16F628, 16F877 og 18F452. 16F877 koster dobbelt så meget som den gamle 16F84, men den er otte gange mere end kodestørrelsen med mere RAM og meget mere I / O-pins, en UART, A / D-konverter og mange flere funktioner.


PIC Microcontrollers Architecture

Det PIC-mikrocontroller er baseret på RISC-arkitektur. Dens hukommelsesarkitektur følger Harvard-mønsteret med separate minder for program og data med separate busser.



PIC-mikrocontroller-arkitektur

PIC-mikrocontroller-arkitektur

1. Hukommelsesstruktur

PIC-arkitekturen består af to minder: Programhukommelse og Datahukommelse.

Programhukommelse: Dette er et 4K * 14 hukommelsesrum. Det bruges til at gemme 13-bit instruktioner eller programkoden. Programhukommelsesdata tilgås af programtælleregistret, der indeholder adressen på programhukommelsen. Adressen 0000H bruges som nulstillet hukommelsesplads og 0004H bruges som afbryd hukommelsesplads.

Datahukommelse: Datahukommelsen består af 368 bytes RAM og 256 bytes EEPROM. De 368 bytes RAM består af flere banker. Hver bank består af generelle formålsregistre og specielle funktionsregistre.


De specielle funktionsregistre består af kontrolregistre til styring af forskellige operationer af chipressourcerne som timer, Analog til digitale konvertere , Serielle porte, I / O-porte osv. F.eks. TRISA-registret, hvis bits kan ændres for at ændre input- eller outputfunktionerne i port A.

De generelle formålsregistre består af registre, der bruges til at gemme midlertidige data og behandle resultater af dataene. Disse generelle formålsregistre er hver 8-bit-registre.

Arbejdsregister: Den består af et hukommelsesrum, der gemmer operanderne til hver instruktion. Den gemmer også resultaterne af hver udførelse.

Statusregister: Statusregistrets bits angiver status for ALU (aritmetisk logisk enhed) efter hver udførelse af instruktionen. Det bruges også til at vælge en af ​​de 4 banker i RAM.

Register til filvalg: Det fungerer som en markør til ethvert andet register til generelle formål. Den består af en registerfiladresse, og den bruges til indirekte adressering.

Et andet register til generelle formål er programtælleregistret, som er et 13-bit register. De 5 øverste bits bruges som PCLATH (Program Counter Latch) til uafhængigt at fungere som ethvert andet register, og de nederste 8-bits bruges som programtællerbits. Programtælleren fungerer som en markør til de instruktioner, der er gemt i programhukommelsen.

EEPROM: Den består af 256 byte hukommelsesplads. Det er en permanent hukommelse som ROM, men dens indhold kan slettes og ændres under betjeningen af ​​mikrocontrolleren. Indholdet i EEPROM kan læses fra eller skrives til ved hjælp af specielle funktionsregistre som EECON1, EECON osv.

2. I / O-porte

PIC16-serien består af fem porte, såsom Port A, Port B, Port C, Port D og Port E.

Port A: Det er en 16-bit-port, som kan bruges som en input- eller output-port baseret på status for TRISA-registret.

Port B: Det er en 8-bit-port, som kan bruges som både input- og outputport. 4 af dens bits kan, når de bruges som input, ændres ved afbrydelsessignaler.

Port C: Det er en 8-bit port, hvis funktion (input eller output) bestemmes af status for TRISC-registeret.

Port D: Det er en 8-bit port, der bortset fra at være en I / O-port, fungerer som en slaveport til forbindelse til mikroprocessor bus.

Port E: Det er en 3-bit port, der tjener den ekstra funktion af styresignalerne til A / D-konverteren.

3. Timere

PIC-mikrocontrollere består af 3 timere , hvoraf Timer 0 og Timer 2 er 8-bit timere, og Time-1 er en 16-bit timer, som også kan bruges som en tæller .

4. A / D-konverter

PIC Microcontroller består af 8-kanaler, 10-bit analog til digital konverter. Driften af A / D-konverter styres af disse specielle funktionsregistre: ADCON0 og ADCON1. Konverterens nederste bits er lagret i ADRESL (8 bit), og de øvre bits er gemt i ADRESH-registeret. Det kræver en analog referencespænding på 5V til dens drift.

5. Oscillatorer

Oscillatorer bruges til timinggenerering. PIC-mikrocontrollere består af eksterne oscillatorer som krystaller eller RC-oscillatorer. I tilfælde af krystaloscillatorer er krystallen forbundet mellem to oscillatorstifter, og værdien af ​​kondensatoren, der er forbundet til hver stift, bestemmer oscillatorens funktionsmåde. De forskellige tilstande er lavt strømtilstand, krystaltilstand og højhastighedstilstand. I tilfælde af RC-oscillatorer bestemmer værdien af ​​modstanden og kondensatoren urfrekvensen. Urfrekvensen varierer fra 30 kHz til 4 MHz.

6. CCP-modul:

Et CCP-modul fungerer i følgende tre tilstande:

Optagelsestilstand: Denne tilstand fanger tidspunktet for ankomsten af ​​et signal eller fanger med andre ord værdien af ​​Timer1, når CCP-stiften bliver høj.

Sammenlign tilstand: Det fungerer som en analog komparator, der genererer et output, når timeren1-værdien når en bestemt referenceværdi.

PWM-tilstand: Det giver pulsbredde moduleret output med en 10-bit opløsning og programmerbar driftscyklus.

Andre specielle eksterne enheder inkluderer en Watchdog-timer, der nulstiller mikrocontrolleren i tilfælde af softwarefejl og en Brownout-nulstilling, der nulstiller mikrocontrolleren i tilfælde af strømudsving og andre. For en bedre forståelse af denne PIC-mikrocontroller giver vi et praktisk projekt, der bruger denne controller til dens drift.

Gadelys, der lyser ved registrering af køretøjsbevægelse

Det her LED gadelys kontrol projekt er designet til at registrere køretøjets bevægelse på motorvejen for at tænde en blok med gadebelysning foran den og for at slukke for baglygterne for at spare energi. I dette projekt udføres en PIC-mikrocontroller-programmering ved hjælp af indlejret C eller monteringssprog.

Gadelys, der lyser ved registrering af køretøjsbevægelse

Gadelys, der lyser ved registrering af køretøjsbevægelse

Strømforsyningskredsløbet giver strøm til et helt kredsløb ved at træde ned, rette op, filtrere og regulere vekselstrømsforsyningen. Når der ikke er nogen køretøjer på motorvejen, forbliver alle lysene slukkede, så strømmen kan spares. IR-sensorer er placeret på begge sider af vejen, da de fornemmer køretøjers bevægelse og derefter sender kommandoerne til mikrokontroller for at tænde eller slukke for lysdioderne. En blok med lysdioder vil være tændt, når et køretøj nærmer sig det, og når køretøjet går væk fra denne rute, bliver intensiteten lav eller helt slukket.

Det PIC-mikrocontroller-projekter kan bruges i forskellige applikationer, såsom videospil 'periferiudstyr, lydtilbehør osv. Bortset fra dette kan du kontakte os ved hjælp af kommentarer i kommentarsektionen for enhver hjælp til eventuelle projekter.