A PIC a Perifériás interfész mikrovezérlő amelyet 1993-ban fejlesztettek ki a General Instruments mikrokontrollerek. Szoftver vezérli és úgy programozza, hogy különböző feladatokat hajtson végre és vezéreljen egy generációs vonalat. A PIC mikrovezérlőket különböző új alkalmazásokban használják, például okostelefonokban, audio kiegészítőkben és fejlett orvosi eszközökben.

PIC mikrokontrollerek
Számos PIC áll rendelkezésre a piacon, a PIC16F84 és a PIC16C84 között. Az ilyen típusú PIC-ek megfizethető flash PIC-ek. A Microchip nemrég bemutatott különféle típusú flash chipeket, például 16F628, 16F877 és 18F452. A 16F877 kétszer annyiba kerül, mint a régi 16F84, de nyolcszorosa a kódméretnek, több RAM-mal és sokkal több I / O tűvel, UART, A / D átalakítóval és még sok más funkcióval rendelkezik.
PIC mikrokontrollerek architektúrája
A PIC mikrokontroller a RISC architektúrán alapul. Memóriaarchitektúrája a külön program- és adatmemóriák Harvard-mintáját követi, külön buszokkal.

PIC mikrokontroller architektúra
1. A memória felépítése
A PIC architektúra két memóriából áll: Programmemóriából és Adattárból.
Program memória: Ez egy 4K * 14 memóriaterület. 13 bites utasítások vagy a programkód tárolására szolgál. A program memória adatait a program számláló regisztrációja éri el, amely a program memóriájának címét tárolja. A 0000H címet nullázott memóriahelyként, a 0004H címet pedig megszakítási memóriahelyként használja.
Adatmemória: Az adatmemória 368 bájt RAM-ból és 256 bájt EEPROM-ból áll. A 368 bájt RAM több bankból áll. Minden bank általános célú nyilvántartásokból és speciális funkció-nyilvántartásokból áll.
A speciális funkció regiszterek vezérlő regiszterekből állnak, amelyek vezérlik a chip erőforrások különböző műveleteit, például az Időzítők, Analóg-digitális átalakítók , Soros portok, I / O portok, stb. Például a TRISA regiszter, amelynek bitjei megváltoztathatók az A port bemeneti vagy kimeneti műveleteinek megváltoztatásához.
Az általános célú nyilvántartások olyan nyilvántartásokból állnak, amelyeket ideiglenes adatok tárolására és az adatok eredményeinek feldolgozására használnak. Ezek az általános célú regiszterek egyenként 8 bites regiszterek.
Munkaügyi nyilvántartás: Ez egy memóriaterületből áll, amely az egyes operációk operandusait tárolja. Ez tárolja az egyes végrehajtások eredményeit is.
Állapotnyilvántartás: Az állapotregiszter bitjei jelzik az ALU (aritmetikai logikai egység) állapotát az utasítás minden végrehajtása után. A RAM 4 bankjának bármelyikének kiválasztására is szolgál.
Fájlkiválasztási regisztráció: Mutatóként szolgál bármely más általános célú nyilvántartáshoz. Ez egy nyilvántartási fájl címéből áll, és közvetett címzésnél használják.
Egy másik általános célú regiszter a programszámláló regiszter, amely egy 13 bites regiszter. Az 5 felső bitet PCLATH-ként (Program Counter Latch) használják, hogy önállóan működjenek, mint bármely más regiszter, és az alsó 8 bitet használják program-számláló bitként. A programszámláló mutatóként szolgál a program memóriájában tárolt utasításokra.
EEPROM: 256 bájt memóriaterületből áll. Ez egy állandó memória, mint a ROM, de a mikrovezérlő működése során annak tartalma törölhető és megváltoztatható. Az EEPROM tartalma olvasható vagy oda írható speciális funkció regiszterek segítségével, mint például az EECON1, az EECON stb.
2. I / O portok
A PIC16 sorozat öt portból áll, például A, B, C, C, D és E port.
A kikötő: Ez egy 16 bites port, amelyet bemenetként vagy kimenetként lehet használni a TRISA regiszter állapota alapján.
B kikötő: Ez egy 8 bites port, amely beviteli és kimeneti portként egyaránt használható. 4 bitje, bemenetként használva, megszakítási jelek esetén megváltoztatható.
C port: Ez egy 8 bites port, amelynek működését (bemenet vagy kimenet) a TRISC regiszter állapota határozza meg.
D kikötő: Ez egy 8 bites port, amely az I / O porton kívül slave portként is működik a mikroprocesszor busz.
E kikötő: Ez egy 3 bites port, amely a vezérlőjelek kiegészítő funkcióját szolgálja az A / D átalakító felé.
3. Időzítők
A PIC mikrokontrollerek 3-ból állnak időzítők , amelyek közül a Timer 0 és a Timer 2 8 bites időzítő, a Time-1 pedig egy 16 bites időzítő, amely szintén használható számláló .
4. A / D átalakító
A PIC mikrokontroller 8 csatornás, 10 bites analóg-digitális átalakítóból áll. A A / D átalakító ezeket a speciális funkcióregiszterek vezérlik: ADCON0 és ADCON1. Az átalakító alsó bitjeit az ADRESL (8 bit), a felső biteket pedig az ADRESH regiszter tárolja. Működéséhez 5 V-os analóg referenciafeszültségre van szükség.
5. Oszcillátorok
Oszcillátorok az időzítés előállításához használják. A PIC mikrokontrollerek külső oszcillátorokból állnak, például kristályokból vagy RC oszcillátorokból. A kristályoszcillátorok esetében a kristály két oszcillátor csap között van összekötve, és az egyes csapokhoz kapcsolt kondenzátor értéke meghatározza az oszcillátor működési módját. A különféle üzemmódok az alacsony fogyasztású, a kristályos és a nagy sebességű. RC oszcillátorok esetén az ellenállás és a kondenzátor értéke határozza meg az óra frekvenciáját. Az órajel frekvenciája 30 kHz és 4 MHz között van.
6. CCP modul:
A CCP modul a következő három módban működik:
Rögzítési mód: Ez az üzemmód rögzíti a jel érkezési idejét, vagy más szavakkal, rögzíti az időzítő1 értékét, amikor a CCP tű magasra kerül.
Mód összehasonlítása: Analóg komparátorként működik, amely kimenetet generál, amikor az időzítő1 értéke elér egy bizonyos referenciaértéket.
PWM mód: Ez biztosítja impulzusszélesség modulált kimenet 10 bites felbontással és programozható munkaciklussal.
További speciális perifériák közé tartozik a Watchdog időzítő, amely alaphelyzetbe állítja a mikrovezérlőt bármilyen szoftverhiba esetén, és egy Brownout reset, amely alaphelyzetbe állítja a mikrovezérlőt bármilyen áramingadozás esetén, és egyéb. A PIC mikrovezérlő jobb megértése érdekében adunk egy gyakorlati projektet, amely ezt a vezérlőt használja a működéséhez.
Világító utcai fény a jármű mozgásának érzékelésénél
Ez LED utcai fényvezérlés projekt úgy tervezték, hogy észlelje a jármű mozgását az autópályán, hogy bekapcsolja az előtte lévő utcai lámpák blokkját, és hogy a takarólámpákat kikapcsolja energiatakarékosság érdekében. Ebben a projektben a PIC mikrokontroller programozása a használatával történik beágyazott C vagy szerelési nyelv.

Világító utcai fény a jármű mozgásának érzékelésénél
A tápfeszültség áramköre az áramkör teljes áramellátását adja az AC hálózatról való lemondással, egyenirányítással, szűréssel és szabályozással. Ha az autópályán nincs jármű, az összes lámpa kialszik, így az áramot meg lehet takarítani. Az infravörös érzékelőket az út két oldalán helyezik el, miközben érzékelik a járművek mozgását, és viszont elküldik a parancsokat a mikrovezérlő a LED-ek be- vagy kikapcsolásához. A LED-ek blokkja akkor világít, amikor a jármű közeledik hozzá, és ha a jármű elmegy erről az útvonalról, az intenzitás alacsony lesz vagy teljesen kikapcsol.
A PIC mikrokontroller projektek felhasználható különböző alkalmazásokban, például videojátékok perifériáiban, audiotartozékaiban stb. Ettől eltekintve bármilyen projekttel kapcsolatos bármilyen segítségért kapcsolatba léphet velünk a megjegyzés rovatban.