Microcontrolerul PIC16F84

Imagine preview
(8/10 din 3 voturi)

Acest curs prezinta Microcontrolerul PIC16F84.
Mai jos poate fi vizualizat un extras din document (aprox. 2 pagini).

Arhiva contine 1 fisier doc de 35 de pagini .

Iti recomandam sa te uiti bine pe extras si pe imaginile oferite iar daca este ceea ce-ti trebuie pentru documentarea ta, il poti descarca.

Fratele cel mare te iubeste, acest download este gratuit. Yupyy!

Domeniu: Electrotehnica

Extras din document

Introducere

PIC16F84 aparţine unei clase de microcontrolere de 8 biţi cu arhitectură RISC. Structura lui generală este arătată în schiţa următoare reprezentând blocurile de bază.

Memoria program (FLASH)-pentru memorarea unui program scris.

Pentru că memoria ce este făcută în tehnologia FLASH poate fi programată şi ştearsă mai mult decât odată, aceasta face microcontrolerul potrivit pentru dezvoltarea de componentă.

EEPROM-memorie de date ce trebuie să fie salvate când nu mai este alimentare.

Este în mod uzual folosită pentru memorarea de date importante ce nu trebuie pierdute dacă sursa de alimentare se întrerupe dintr-o dată. De exemplu, o astfel de dată este o temperatură prestabilită în regulatoarele de temperatură. Dacă în timpul întreruperii alimentării această dată se pierde, va trebui să facem ajustarea încă o dată la revenirea alimentării. Astfel componenta noastră pierde în privinţa auto-menţinerii.

RAM-memorie de date folosită de un program în timpul executării sale.

În RAM sunt memorate toate rezultatele intermediare sau datele temporare ce nu sunt cruciale la întreruperea sursei de alimentare.

PORTUL A şi PORTUL B sunt conexiuni fizice între microcontroler şi lumea de afară. Portul A are 5 pini, iar portul B are 8 pini.

TIMER-UL LIBER (FREE-RUN) este un registru de 8 biţi în interiorul microcontrolerului ce lucrează independent de program. La fiecare al patrulea impuls de ceas al oscilatorului îşi încrementează valoarea lui până ce atinge maximul (255), şi apoi începe să numere tot din nou de la zero. După cum ştim timpul exact dintre fiecare două incrementări ale conţinutului timer-ului, poate fi folosit pentru măsurarea timpului ce este foarte util la unele componente.

UNITATEA DE PROCESARE CENTRALĂ are rolul unui element de conectivitate între celelalte blocuri ale microcontrolerului. Coordonează lucrul altor blocuri şi execută programul utilizatorului.

CISC, RISC

S-a spus deja că PIC1684 are o arhitectură RISC. Acest termen este adeseori găsit în literatura despre calculatoare, şi are nevoie să fie explicat aici mai în detaliu. Arhitectura Harvard este un concept mai nou decât von-Neumann. S-a născut din nevoia de mărire a vitezei microcontrolerului. În arhitectura Harvard, bus-ul de date şi bus-ul de adrese sunt separate. Astfel este posibil un mare debit de date prin unitatea de procesare centrală, şi bineînţeles, o viteză mai mare de lucru. Separarea programului de memoria de date face posibil ca mai departe instrucţiunile să nu trebuiască să fie cuvinte de 8 biţi. PIC16F84 foloseşte 14 biţi pentru instrucţiuni ceea ce permite ca toate instrucţiunile să fie instrucţiuni dintr-un singur cuvânt. Este de asemenea tipic pentru arhitectura Harvard să aibă mai puţine instrucţiuni decât von-Newmann şi să aibă instrucţiuni executate uzual intr-un ciclu.

Microcontrolerele cu arhitectură Harvard sunt de asemenea numite "microcontrolere RISC". RISC înseamnă Reduced Instruction Set Computer. Microcontrolerele cu arhitectura von-Newmann sunt numite "microcontrolere CISC". Titlul CISC înseamnă Complex Instruction Set Computer.

Pentru că PIC16F84 este un microcontroler RISC, aceasta înseamnă că are un set redus de instrucţiuni, mai precis 35 de instrucţiuni (de ex. microcontrolerele INTEL şi Motorola au peste 100 de instrucţiuni). Toate aceste instrucţiuni sunt executate într-un ciclu cu excepţia instrucţiunilor jump şi branch. Conform cu ceea ce spune constructorul, PIC16F84 ajunge la rezultate de 2:1 în compresia cod şi 4:1 în viteză în comparaţie cu alte microcontrolere de 8 biţi din clasa sa.

Aplicaţii

PIC16F84 se potriveşte perfect în multe folosinţe, de la industriile auto şi aplicaţiile de control casnice la instrumentele industriale, senzori la distanţă, mânere electrice de uşi şi dispozitivele de securitate. Este de asemenea ideal pentru cardurile smart ca şi pentru aparatele alimentate de baterie din cauza consumului lui mic.

Memoria EEPROM face mai uşoară aplicarea microcontrolerelor la aparate unde se cere memorarea permanentă a diferitor parametri (coduri pentru transmiţătoare, viteza motorului, frecvenţele receptorului, etc.). Costul scăzut, consumul scăzut, mânuirea uşoară şi flexibilitatea fac PIC16F84 aplicabil chiar şi în domenii unde microcontrolerele nu au fost prevăzute înainte (exemple: funcţii de timer, înlocuirea interfeţei în sistemele mari, aplicaţiile coprocesor, etc.).

Programabilitatea sistemului acestui cip (împreună cu folosirea a doar doi pini în transferul de date) face posibilă flexibilitatea produsului, după ce asamblarea şi testarea au fost terminate. Această capabilitate poate fi folosită pentru a crea producţie pe linie de asamblare, de a înmagazina date de calibrare disponibile doar după testarea finală, sau poate fi folosit pentru a îmbunătăţi programele la produsele finite.

Clock-ul /ciclul instrucţiune

Clock-ul sau ceasul este starter-ul principal al microcontrolerului, şi este obţinut dintr-o componentă de memorie externă numită "oscilator". Dacă ar fi să comparăm un microcontroler cu un ceas de timp, "clock-ul" nostru ar fi un ticăit pe care l-am auzi de la ceasul de timp. În acest caz, oscilatorul ar putea fi comparat cu arcul ce este răsucit astfel ca ceasul de timp să meargă. De asemenea, forţa folosită pentru a întoarce ceasul poate fi comparată cu o sursă electrică.

Clock-ul de la oscilator intră într-un microcontroler prin pinul OSC1 unde circuitul intern al microcontrolerului divide clock-ul în 4 clock-uri egale Q1, Q2, Q3 şi Q4 ce nu se suprapun. Aceste 4 clock-uri constituie un ciclu de o singură instrucţiune (numit de asemenea ciclu maşină) în timpul căreia instrucţiunea este executată.

Fisiere in arhiva (1):

  • Microcontrolerul PIC16F84.doc