Aflați mai multe despre microcontrolerele PIC și arhitectura sa cu explicații

Încercați Instrumentul Nostru Pentru Eliminarea Problemelor





PIC este un Microcontroler de interfață periferică care a fost dezvoltat în anul 1993 de către Microcontrolerele General Instruments. Este controlat de software și programat în așa fel încât să îndeplinească sarcini diferite și să controleze o linie de generație. Microcontrolerele PIC sunt utilizate în diferite aplicații noi, cum ar fi smartphone-uri, accesorii audio și dispozitive medicale avansate.

Microcontrolere PIC

Microcontrolere PIC



Există multe PIC-uri disponibile pe piață, de la PIC16F84 la PIC16C84. Aceste tipuri de PIC sunt PIC-uri flash accesibile. Microchip a introdus recent cipuri flash cu diferite tipuri, cum ar fi 16F628, 16F877 și 18F452. 16F877 costă de două ori prețul vechiului 16F84, dar este de opt ori mai mare decât dimensiunea codului, cu mai multă memorie RAM și mult mai mulți pini I / O, un convertor UART, A / D și multe mai multe caracteristici.


Arhitectura microcontrolerelor PIC

Microcontroler PIC se bazează pe arhitectura RISC. Arhitectura sa de memorie urmează modelul Harvard al amintirilor separate pentru program și date, cu autobuze separate.



Arhitectura microcontrolerului PIC

Arhitectura microcontrolerului PIC

1. Structura memoriei

Arhitectura PIC este formată din două amintiri: memoria programului și memoria de date.

Memorie de program: Acesta este un spațiu de memorie 4K * 14. Este folosit pentru a stoca instrucțiuni de 13 biți sau codul programului. Datele de memorie ale programului sunt accesate de registrul contorului de programe care deține adresa memoriei de program. Adresa 0000H este utilizată ca resetare a spațiului de memorie și 0004H este utilizată ca spațiu de memorie de întrerupere.

Memorie de date: Memoria de date este formată din 368 de octeți de RAM și 256 de octeți de EEPROM. Cei 368 de octeți de RAM sunt compuși din mai multe bănci. Fiecare bancă constă din registre de uz general și registre de funcții speciale.


Registrele de funcții speciale constau din registre de control pentru a controla diferite operațiuni ale resurselor cipului, cum ar fi Timers, Convertoare analogice la digitale , Porturi seriale, porturi I / O etc. De exemplu, registrul TRISA ale cărui biți pot fi modificați pentru a modifica operațiunile de intrare sau ieșire ale portului A.

Registrele de uz general constau din registre care sunt utilizate pentru a stoca date temporare și a prelucra rezultatele datelor. Aceste registre de uz general sunt fiecare registre pe 8 biți.

Registrul de lucru: Acesta constă dintr-un spațiu de memorie care stochează operanzii pentru fiecare instrucțiune. De asemenea, stochează rezultatele fiecărei execuții.

Registrul de stare: Biții din registrul de stare denotă starea ALU (unitate logică aritmetică) după fiecare execuție a instrucțiunii. De asemenea, este utilizat pentru a selecta oricare dintre cele 4 bănci ale RAM.

Înregistrare selecție fișier: Acționează ca un indicator către orice alt registru de uz general. Se compune dintr-o adresă de fișier de registru și este utilizată în adresarea indirectă.

Un alt registru de uz general este registrul contorului de programe, care este un registru de 13 biți. Cei 5 biți superiori sunt folosiți ca PCLATH (Program Counter Latch) pentru a funcționa independent ca orice alt registru, iar cei 8 biți inferiori sunt folosiți ca biți contor de program. Contorul programului acționează ca un indicator către instrucțiunile stocate în memoria programului.

EEPROM: Este format din 256 de octeți de spațiu de memorie. Este o memorie permanentă precum ROM, dar conținutul său poate fi șters și schimbat în timpul funcționării microcontrolerului. Conținutul în EEPROM poate fi citit sau scris în, utilizând registre de funcții speciale precum EECON1, EECON etc.

2. Porturi I / O

Seria PIC16 este formată din cinci porturi, cum ar fi Portul A, Portul B, Portul C, Portul D și Portul E.

Portul A: Este un port pe 16 biți, care poate fi folosit ca port de intrare sau ieșire pe baza stării registrului TRISA.

Portul B: Este un port de 8 biți, care poate fi folosit atât ca port de intrare, cât și de ieșire. 4 dintre biții săi, atunci când sunt folosiți ca intrare, pot fi modificați la semnale de întrerupere.

Portul C: Este un port pe 8 biți a cărui funcționare (intrare sau ieșire) este determinată de starea registrului TRISC.

Portul D: Este un port pe 8 biți, care, în afară de a fi un port I / O, acționează ca un port slave pentru conectarea la microprocesor autobuz.

Portul E: Este un port de 3 biți care servește funcției suplimentare a semnalelor de control către convertorul A / D.

3. Cronometre

Microcontrolerele PIC sunt formate din 3 cronometre , din care Temporizatorul 0 și Temporizatorul 2 sunt temporizatoare pe 8 biți, iar Timpul-1 este un temporizator pe 16 biți, care poate fi folosit și ca tejghea .

4. Convertor A / D

Microcontrolerul PIC este format din convertor analogic digital pe 8 biți, pe 10 biți. Funcționarea Convertor A / D este controlat de aceste registre de funcții speciale: ADCON0 și ADCON1. Biții inferiori ai convertorului sunt stocați în ADRESL (8 biți), iar biții superiori sunt stocați în registrul ADRESH. Pentru funcționarea sa necesită o tensiune de referință analogică de 5V.

5. Oscilatoare

Oscilatoare sunt folosite pentru generarea de sincronizare. Microcontrolerele PIC constau din oscilatoare externe precum cristale sau oscilatoare RC. În cazul oscilatoarelor de cristal, cristalul este conectat între doi pini ai oscilatorului, iar valoarea condensatorului conectat la fiecare pin determină modul de funcționare al oscilatorului. Diferitele moduri sunt modul de consum redus, modul cristal și modul de viteză mare. În cazul oscilatoarelor RC, valoarea rezistorului și a condensatorului determină frecvența ceasului. Frecvența ceasului variază de la 30 kHz la 4 MHz.

6. Modulul CCP:

Un modul CCP funcționează în următoarele trei moduri:

Modul de capturare: Acest mod surprinde ora sosirii unui semnal sau, cu alte cuvinte, captează valoarea Timer1 atunci când pinul CCP se ridică.

Mod de comparare: Acționează ca un comparator analogic care generează o ieșire atunci când valoarea timer1 atinge o anumită valoare de referință.

Mod PWM: Oferă lățimea impulsului modulată ieșire cu o rezoluție de 10 biți și ciclu de funcționare programabil.

Alte periferice speciale includ un cronometru Watchdog care resetează microcontrolerul în caz de defecțiune a software-ului și o resetare Brownout care resetează microcontrolerul în caz de fluctuații de energie și altele. Pentru o mai bună înțelegere a acestui microcontroler PIC, oferim un proiect practic care folosește acest controler pentru funcționarea sa.

Lumina de stradă care aprinde la detectarea mișcării vehiculului

Acest Proiect de control al luminii stradale cu LED este conceput pentru a detecta mișcarea vehiculului pe autostradă pentru a porni un bloc de lumini stradale în fața acestuia și pentru a opri luminile din spate pentru a economisi energie. În acest proiect, o programare a microcontrolerului PIC se face folosind încorporat C sau limbaj de asamblare.

Lumina de stradă care aprinde la detectarea mișcării vehiculului

Lumina de stradă care aprinde la detectarea mișcării vehiculului

Circuitul de alimentare oferă puterea unui întreg circuit prin coborâre, rectificare, filtrare și reglarea sursei de rețea de curent alternativ. Când nu există vehicule pe autostradă, toate luminile rămân stinse, astfel încât să se poată economisi energie. Senzorii IR sunt amplasați de ambele părți ale drumului, deoarece simt mișcarea vehiculelor și, la rândul lor, trimit comenzile către microcontroler pentru a porni sau opri LED-urile. Un bloc de LED-uri va fi aprins atunci când un vehicul se apropie lângă acesta și odată ce vehiculul trece de această rută, intensitatea devine scăzută sau este complet oprită.

Proiecte de microcontroler PIC poate fi utilizat în diferite aplicații, cum ar fi periferice de jocuri video, accesorii audio etc. În afară de aceasta, pentru orice ajutor cu privire la orice proiecte, ne puteți contacta comentând în secțiunea de comentarii.