Tietää PIC-mikrokontrollereista ja niiden arkkitehtuurista selityksellä

Kokeile Instrumenttia Ongelmien Poistamiseksi





PIC on a Oheisliitännän mikrokontrolleri jonka kehitti vuonna 1993 General Instruments Microcontrollers. Sitä ohjataan ohjelmistolla ja ohjelmoidaan siten, että se suorittaa erilaisia ​​tehtäviä ja ohjaa sukupolven linjaa. PIC-mikrokontrollereita käytetään erilaisissa uusissa sovelluksissa, kuten älypuhelimissa, äänilisälaitteissa ja kehittyneissä lääketieteellisissä laitteissa.

PIC-mikrokontrollerit

PIC-mikrokontrollerit



Markkinoilla on monia PIC-kuvia, jotka vaihtelevat PIC16F84: stä PIC16C84: ään. Tämäntyyppiset PIC-kuvat ovat edullisia flash-PIC-kuvia. Microchip on äskettäin tuonut markkinoille erityyppisiä flash-siruja, kuten 16F628, 16F877 ja 18F452. 16F877 maksaa kaksi kertaa vanhan 16F84 hinnan, mutta se on kahdeksan kertaa suurempi kuin koodikoko, enemmän RAM-muistia ja paljon enemmän I / O-nastoja, UART-, A / D-muunnin ja paljon enemmän ominaisuuksia.


PIC-mikrokontrollerien arkkitehtuuri

PIC-mikrokontrolleri perustuu RISC-arkkitehtuuriin. Sen muistiarkkitehtuuri noudattaa Harvardin mallia erillisistä muistista ohjelmille ja tiedoille erillisillä väylillä.



PIC-mikrokontrolleriarkkitehtuuri

PIC-mikrokontrolleriarkkitehtuuri

1. Muistin rakenne

PIC-arkkitehtuuri koostuu kahdesta muistista: ohjelmamuistista ja datamuistista.

Ohjelmamuisti: Tämä on 4K * 14-muistitila. Sitä käytetään 13-bittisten ohjeiden tai ohjelmakoodin tallentamiseen. Ohjelmamuistitietoihin pääsee ohjelmalaskurekisteristä, joka sisältää ohjelmamuistin osoitteen. Osoitetta 0000H käytetään palautusmuistitilana ja 0004H käytetään keskeytysmuistitilana.

Datamuisti: Datamuisti koostuu 368 tavusta RAM-muistia ja 256 tavua EEPROM-muistia. 368 tavua RAM-muistia koostuu useista pankeista. Jokainen pankki koostuu yleiskäyttöisistä rekistereistä ja erityistoimintorekistereistä.


Erikoistoimintorekisterit koostuvat ohjausrekistereistä, jotka ohjaavat siruresurssien, kuten Ajastimet, Analogisista digitaalimuuntimiin , Sarjaportit, I / O-portit jne. Esimerkiksi TRISA-rekisteri, jonka bittejä voidaan muuttaa portin A tulo- tai lähtötoimintojen muuttamiseksi.

Yleiskäyttöiset rekisterit koostuvat rekistereistä, joita käytetään väliaikaisten tietojen tallentamiseen ja tietojen tulosten käsittelyyn. Nämä yleiskäyttöiset rekisterit ovat kukin 8-bittisiä rekistereitä.

Työrekisteri: Se koostuu muistitilasta, joka tallentaa kunkin käskyn operandit. Se tallentaa myös kunkin suorituksen tulokset.

Tilarekisteri: Tilarekisterin bitit tarkoittavat ALU: n (aritmeettisen logiikkayksikön) tilaa käskyn jokaisen suorituksen jälkeen. Sitä käytetään myös jonkin RAM-muistin 4 pankin valitsemiseen.

Tiedostonvalintarekisteri: Se toimii osoittimena mihin tahansa muuhun yleiskäyttöiseen rekisteriin. Se koostuu rekisteritiedoston osoitteesta, ja sitä käytetään epäsuorassa osoituksessa.

Toinen yleiskäyttöinen rekisteri on ohjelmalaskurekisteri, joka on 13-bittinen rekisteri. Viittä ylempää bittiä käytetään PCLATH: na (Program Counter Latch) toimiakseen itsenäisesti minkä tahansa muun rekisterinä, ja alempia 8-bittiä käytetään ohjelman laskuribitteinä. Ohjelmalaskuri toimii osoittimena ohjelmamuistiin tallennettuihin ohjeisiin.

EEPROM: Se koostuu 256 tavusta muistitilaa. Se on pysyvä muisti, kuten ROM, mutta sen sisältö voidaan poistaa ja muuttaa mikro-ohjaimen käytön aikana. Sisältö EEPROMiin voidaan lukea tai kirjoittaa sinne käyttämällä erityisiä toimintorekistereitä, kuten EECON1, EECON jne.

2. I / O-portit

PIC16-sarja koostuu viidestä portista, kuten portti A, portti B, portti C, portti D ja portti E.

Portti A: Se on 16-bittinen portti, jota voidaan käyttää tulo- tai lähtöporttina TRISA-rekisterin tilan perusteella.

Portti B: Se on 8-bittinen portti, jota voidaan käyttää sekä tulo- että lähtöporttina. 4 sen bitistä, kun sitä käytetään tulona, ​​voidaan vaihtaa keskeytyssignaaleina.

Portti C: Se on 8-bittinen portti, jonka toiminnan (tulo tai lähtö) määrää TRISC-rekisterin tila.

Portti D: Se on 8-bittinen portti, joka I / O-portin lisäksi toimii orjaporttina yhteyden muodostamiseen mikroprosessori bussi.

Portti E: Se on 3-bittinen portti, joka palvelee ohjaussignaalien lisätoimintoa A / D-muuntimeen.

3. Ajastimet

PIC-mikrokontrollerit koostuvat 3: sta ajastimet , joista Ajastin 0 ja Ajastin 2 ovat 8-bittisiä ajastimia ja Aika-1 on 16-bittinen ajastin, jota voidaan käyttää myös laskuri .

4. A / D-muunnin

PIC-mikrokontrolleri koostuu 8-kanavaisesta, 10-bittisestä analogisesta digitaalimuunnimeen. Laitteen käyttö A / D-muunnin ohjataan näillä erityisillä toimintorekistereillä: ADCON0 ja ADCON1. Muuntimen alemmat bitit tallennetaan ADRESL-tiedostoon (8 bittiä) ja ylemmät bitit ADRESH-rekisteriin. Se vaatii toimintaansa analogisen 5 V: n vertailujännitteen.

5. Oskillaattorit

Oskillaattorit käytetään ajoituksen muodostamiseen. PIC-mikrokontrollerit koostuvat ulkoisista oskillaattoreista, kuten kiteistä tai RC-oskillaattoreista. Kideoskillaattoreiden tapauksessa kide on kytketty kahden oskillaattorinastan väliin, ja kuhunkin napaan kytketyn kondensaattorin arvo määrää oskillaattorin toimintatavan. Eri tilat ovat pienitehoinen tila, kristallitila ja nopea tila. RC-oskillaattoreiden tapauksessa vastuksen ja kondensaattorin arvo määrää kellotaajuuden. Kellotaajuus vaihtelee välillä 30 kHz - 4 MHz.

6. CCP-moduuli:

CCP-moduuli toimii seuraavissa kolmessa tilassa:

Sieppaustila: Tämä tila tallentaa signaalin saapumisajan tai toisin sanoen tallentaa ajastimen1 arvon, kun CCP-tappi nousee korkealle.

Vertaa tilaa: Se toimii analogisena vertailijana, joka tuottaa lähdön, kun ajastin1-arvo saavuttaa tietyn viitearvon.

PWM-tila: Se tarjoaa pulssin leveys moduloitu lähtö 10-bittisellä tarkkuudella ja ohjelmoitavalla käyttöjaksolla.

Muita erityisiä oheislaitteita ovat Watchdog-ajastin, joka nollaa mikro-ohjaimen mahdollisten ohjelmistohäiriöiden varalta, ja Brownout-nollaus, joka nollaa mikro-ohjaimen virranvaihteluiden yhteydessä ja muut. Tämän PIC-mikrokontrollerin ymmärtämiseksi paremmin annamme yhden käytännön projektin, joka käyttää tätä ohjainta toiminnassaan.

Katuvalo, joka palaa ajoneuvon liikkeen havaitsemisessa

Tämä LED-katuvalojen ohjausprojekti on suunniteltu havaitsemaan ajoneuvon liikkuminen valtatiellä sytyttämään katuvaloryhmä sen edessä ja sammuttamaan takavalot energian säästämiseksi. Tässä projektissa PIC-mikrokontrolleriohjelmointi tehdään käyttämällä upotettu C tai kokoonpanokieli.

Katuvalo, joka palaa ajoneuvon liikkeen havaitsemisessa

Katuvalo, joka palaa ajoneuvon liikkeen havaitsemisessa

Virransyöttöpiiri antaa virran koko piirille poistumalla, korjaamalla, suodattamalla ja säätämällä vaihtovirtalähdettä. Kun moottoritiellä ei ole ajoneuvoja, kaikki valot sammuvat, jotta virtaa voidaan säästää. IR-anturit sijoitetaan tien molemmille puolille, kun ne havaitsevat ajoneuvojen liikkeen ja lähettävät vuorollaan komennot mikro-ohjain kytkeäksesi ledit päälle tai pois päältä. LED-lohko palaa, kun ajoneuvo lähestyy sen lähellä ja kun ajoneuvo kulkee pois tältä reitiltä, ​​voimakkuus muuttuu matalaksi tai sammuu kokonaan.

PIC-mikrokontrolleriprojektit Sitä voidaan käyttää erilaisissa sovelluksissa, kuten videopelien oheislaitteissa, äänilisälaitteissa jne. Tämän lisäksi voit ottaa yhteyttä meihin kommentoimalla kommenttiosassa, jos tarvitset apua projekteihin liittyen.