Kjenn til PIC-mikrokontrollere og dens arkitektur med forklaring

Prøv Instrumentet Vårt For Å Eliminere Problemer





PIC er en Perifert grensesnitt mikrokontroller som ble utviklet i 1993 av General Instruments Microcontrollers. Den styres av programvare og programmeres på en slik måte at den utfører forskjellige oppgaver og styrer en generasjonslinje. PIC-mikrokontrollere brukes i forskjellige nye applikasjoner, for eksempel smarttelefoner, lydtilbehør og avansert medisinsk utstyr.

PIC Microcontrollers

PIC Microcontrollers



Det er mange PIC-er tilgjengelig i markedet, alt fra PIC16F84 til PIC16C84. Disse typer PIC-er er rimelige flash-PIC-er. Microchip har nylig introdusert flash-chips med forskjellige typer, for eksempel 16F628, 16F877 og 18F452. 16F877 koster dobbelt så mye som den gamle 16F84, men den er åtte ganger mer enn kodestørrelsen, med mer RAM og mye mer I / O-pinner, en UART, A / D-omformer og mange flere funksjoner.


PIC Microcontrollers Architecture

De PIC-mikrokontroller er basert på RISC-arkitektur. Minnearkitekturen følger Harvard-mønsteret med separate minner for program og data, med separate busser.



PIC-mikrokontrollarkitektur

PIC-mikrokontrollarkitektur

1. Minnestruktur

PIC-arkitekturen består av to minner: Programminne og Dataminne.

Programminne: Dette er et 4K * 14-minne. Den brukes til å lagre 13-biters instruksjoner eller programkoden. Programminnedataene får du tilgang til programtellerregisteret som inneholder adressen til programminnet. Adressen 0000H brukes som tilbakestillingsminne og 0004H brukes til å avbryte minneplass.

Dataminne: Dataminnet består av 368 byte RAM og 256 byte EEPROM. De 368 byte RAM består av flere banker. Hver bank består av generelle registre og spesielle funksjonsregistre.


De spesielle funksjonsregistrene består av kontrollregistre for å kontrollere forskjellige operasjoner av brikkressursene som timer, Analog til digitale omformere , Serielle porter, I / O-porter osv. For eksempel, TRISA-registeret hvis biter kan endres for å endre inngangs- eller utgangsoperasjonen til port A.

Generelle formålsregister består av registre som brukes til å lagre midlertidige data og behandle resultater av dataene. Disse generelle formålsregistrene er hver 8-bitersregister.

Arbeidsregister: Den består av et minneområde som lagrer operandene for hver instruksjon. Den lagrer også resultatene av hver utførelse.

Statusregister: Bittene i statusregisteret angir statusen til ALU (aritmetisk logisk enhet) etter hver utførelse av instruksjonen. Den brukes også til å velge en av de fire bankene til RAM.

Register for filvalg: Den fungerer som en pekepinn til ethvert annet register for generelle formål. Den består av en registerfiladresse, og den brukes i indirekte adressering.

Et annet universalregister er programtellerregisteret, som er et 13-bitersregister. De 5 øvre bitene brukes som PCLATH (Program Counter Latch) for å fungere uavhengig av hvilket som helst annet register, og de nedre 8-bitene brukes som programtellerbitene. Programtelleren fungerer som en pekepinn til instruksjonene som er lagret i programminnet.

EEPROM: Den består av 256 byte minne. Det er et permanent minne som ROM, men innholdet kan slettes og endres under drift av mikrokontrolleren. Innholdet i EEPROM kan leses fra eller skrives til, ved hjelp av spesielle funksjonsregistre som EECON1, EECON, etc.

2. I / U-porter

PIC16-serien består av fem porter, for eksempel Port A, Port B, Port C, Port D og Port E.

Port A: Det er en 16-biters port, som kan brukes som inngangs- eller utgangsport basert på statusen til TRISA-registeret.

Port B: Det er en 8-biters port, som kan brukes som både inngangs- og utgangsport. Fire av bitsene, når de brukes som inngang, kan endres ved avbruddssignaler.

Port C: Det er en 8-biters port hvis drift (inngang eller utgang) bestemmes av statusen til TRISC-registeret.

Port D: Det er en 8-biters port, som bortsett fra å være en I / O-port, fungerer som en slaveport for tilkobling til mikroprosessor buss.

Port E: Det er en 3-biters port som tjener tilleggsfunksjonen til styresignalene til A / D-omformeren.

3. Tidtakere

PIC-mikrokontrollere består av 3 tidtakere , hvorav Timer 0 og Timer 2 er 8-biters timere og Time-1 er en 16-biters timer, som også kan brukes som en disk .

4. A / D-omformer

PIC Microcontroller består av 8-kanaler, 10-bit analog til digital omformer. Driften av A / D-omformer styres av disse spesielle funksjonsregistrene: ADCON0 og ADCON1. De nedre bitene i omformeren er lagret i ADRESL (8 bits), og de øvre bitene er lagret i ADRESH-registeret. Det krever en analog referansespenning på 5V for drift.

5. Oscillatorer

Oscillatorer brukes til timinggenerering. PIC-mikrokontrollere består av eksterne oscillatorer som krystaller eller RC-oscillatorer. Når det gjelder krystalloscillatorer, er krystallet koblet mellom to oscillatorpinner, og verdien av kondensatoren som er koblet til hver pinne, bestemmer oscillatorens driftsmåte. De forskjellige modusene er lavspenningsmodus, krystallmodus og høyhastighetsmodus. Når det gjelder RC-oscillatorer, bestemmer verdien på motstanden og kondensatoren klokkefrekvensen. Klokkefrekvensen varierer fra 30 kHz til 4 MHz.

6. KKP-modul:

En CCP-modul fungerer i følgende tre moduser:

Opptaksmodus: Denne modusen fanger ankomsttidspunktet for et signal, eller med andre ord, fanger verdien av Timer1 når CCP-pinnen blir høy.

Sammenlign modus: Den fungerer som en analog komparator som genererer en utgang når tidtaker1-verdien når en viss referanseverdi.

PWM-modus: Det gir pulsbredde modulert utgang med en 10-biters oppløsning og programmerbar driftssyklus.

Andre spesialutstyr inkluderer en Watchdog-tidtaker som tilbakestiller mikrokontrolleren i tilfelle programvarefeil og en tilbakestilling av Brownout som tilbakestiller mikrokontrolleren i tilfelle strømudsving og andre. For å få en bedre forståelse av denne PIC-mikrokontrolleren, gir vi ett praktisk prosjekt som bruker denne kontrolleren til drift.

Gatelys som lyser ved å oppdage kjøretøybevegelse

Dette LED gatelys kontroll prosjekt er designet for å oppdage kjøretøyets bevegelse på motorveien for å slå på en blokk med gatelys foran den, og for å slå av baklysene for å spare energi. I dette prosjektet gjøres en PIC mikrokontroller programmering ved hjelp av innebygd C eller monteringsspråk.

Gatelys som lyser ved å oppdage kjøretøybevegelse

Gatelys som lyser ved å oppdage kjøretøybevegelse

Strømforsyningskretsen gir strøm til en hel krets ved å trappe ned, rette, filtrere og regulere strømforsyningen. Når det ikke er kjøretøy på motorveien, forblir alle lysene av slik at strømmen kan spares. IR-sensorer er plassert på hver side av veien når de fornemmer kjøretøyets bevegelse og i sin tur sender kommandoene til mikrokontroller for å slå LED-lampene på eller av. En LED-lampe vil være på når et kjøretøy nærmer seg det, og når kjøretøyet har gått bort fra denne ruten, blir intensiteten lav eller helt slått av.

De PIC-mikrocontroller-prosjekter kan brukes i forskjellige applikasjoner, for eksempel periferiutstyr til videospill, lydtilbehør osv. Bortsett fra dette, kan du kontakte oss ved å kommentere i kommentarfeltet for hjelp med eventuelle prosjekter.