Memoria Microcontrolerului PIC 16F84

Proiect
7.3/10 (3 voturi)
Conține 1 fișier: doc
Pagini : 13 în total
Cuvinte : 1946
Mărime: 30.21KB (arhivat)
Publicat de: Robert Sîrbu
Puncte necesare: 7

Cuprins

  1. 1. Organizarea memoriei
  2. 1.1 Memoria program
  3. 1.2 Memoria de date
  4. 1.3 Registri SFR
  5. 1.4 Bancuri de memorie
  6. 1.5 Stiva
  7. 1.6 Contorul de program
  8. 1.7 Moduri de adresare
  9. 1.7.1 Adresare directa
  10. 1.7.2 Adresare indirecta
  11. 2. Memoria de date EEPROM
  12. 2.1 Registrul EECON1
  13. 2.2 Citirea din memoria EEPROM
  14. 2.3 Scrierea in memoria EEPROM

Extras din proiect

Organizarea memoriei

PIC16F84 are doua blocuri separate de memorie, unul pentru date si celalalt pentru programe. Memoria EEPROM si registrii GPR în memoria RAM constituie un bloc, si memoria FLASH constituie un bloc de programe.

Memoria program

Memoria program a fost realizata în tehnologia FLASH ceea ce face posibil de a programa un microcontroler de mai multe ori înainte de a fi instalat într-un montaj, si chiar dupa instalarea sa daca se întâmpla unele schimbari în program sau parametri de proces. Marimea memoriei program este de 1024 locatii cu latime de 14 biti unde locatiile zero si patru sunt rezervate pentru reset si pentru vectorul întrerupere.

Memoria de date

Memoria de date consta din memoriile EEPROM si RAM. Memoria EEPROM consta din 64 de locatii de opt biti a caror continut nu este pierdut în timpul opririi sursei de alimentare. EEPROM-ul nu este direct adresabil, dar este accesat indirect prin registrii EEADR si EEDATA. Pentru ca memoria EEPROM este folosita curent la memorarea unor parametri importanti (de exemplu, o temperatura data în regulatoarele de temperatura), exista o procedura stricta de scriere în EEPROM ce trebuie urmata pentru a preveni scrierea accidentala. Memoria RAM pentru date ocupa un spatiu într-o harta a memoriei de la locatia 0x0C la 0x4F ceea ce înseamna 68 de locatii. Locatiile memoriei RAM sunt de asemenea denumite registri GPR care este o abreviere General Purpose Registers-Registri cu Scop General. Registrii GPR pot fi accesati indiferent de ce banc este selectat la un moment.

Registri SFR

Registri ce ocupa primele 12 locatii în bancurile 0 si 1 si sunt registri ai functiei specializate asignata cu unele blocuri ale microcontrolerului. Acestia sunt numiti Special Function Registers-Registri ai Functiei Speciale.

Bancuri de Memorie

În afara de aceasta diviziune în 'lungime' a registrilor SFR si GPR, harta memoriei este de asemenea împartita în 'latime' în doua zone numite 'bancuri'. Selectarea unuia din bancuri se face de bitii RPO si RP1 în registrul STATUS-stare.

Exemplu:

bcf STATUS, RP0

Instructiunea BCF sterge bitul RPO (RP0=0) în registrul STATUS si astfel seteaza bancul 0.

bsf STATUS, RP0

Instructiunea BSF seteaza bitul RPO (RP0=1) în registrul STATUS si astfel seteaza bancul 1.

Uzual, grupurile de instructiuni care sunt adesea în uz, sunt conectate într-o singura unitate ce poate fi usor apelata într-un program, si a carei nume are o semnificatie clara, asa-numitul Macros-macrocomanda. Cu ajutorul lor, selectia dintre doua bancuri devine mai clara si programul mult mai elegibil.

BANK0 macro

Bcf STATUS, RP0 ;Select memory bank 0

Endm

BANK1 macro

Bsf STATUS, RP0 ;Select memory bank 1

Endm

Contorul de Program

Contorul de program (PC) este un registru de 13 biti ce contine adresa instructiunii ce se executa. Prin incrementarea sau schimbarea sa (ex. în caz de salturi) microcontrolerul executa instructiunile de program pas-cu-pas.

Stiva

PIC16F84 are o stiva de 13 biti cu 8 nivele, sau cu alte cuvinte, un grup de 8 locatii de memorie de 13 biti latime cu functii speciale. Rolul sau de baza este de a pastra valoarea contorului de program dupa un salt din programul principal la o adresa a unui subprogram. Pentru ca un program sa stie cum sa se întoarca la punctul de unde a pornit, trebuie sa înapoieze valoarea contorului programului din stiva. Când se muta dintr-un program într-un subprogram, contorul programului este împins în stiva (un exemplu de acesta este instructiunea CALL). Când se executa instructiuni ca RETURN, RETLW sau RETFIE ce au fost executate la sfârsitul unui subprogram, contorul programului a fost luat dintr-o stiva, asa ca programul sa poata continua de unde a fost oprit înainte de a fi întrerupt. Aceste operatii de plasare într-o si luare dintr-o stiva de contor de program sunt numite PUSH si POP, si sunt numite conform cu instructiunile similare ale unor microcontrolere mai mari.

Preview document

Memoria Microcontrolerului PIC 16F84 - Pagina 1
Memoria Microcontrolerului PIC 16F84 - Pagina 2
Memoria Microcontrolerului PIC 16F84 - Pagina 3
Memoria Microcontrolerului PIC 16F84 - Pagina 4
Memoria Microcontrolerului PIC 16F84 - Pagina 5
Memoria Microcontrolerului PIC 16F84 - Pagina 6
Memoria Microcontrolerului PIC 16F84 - Pagina 7
Memoria Microcontrolerului PIC 16F84 - Pagina 8
Memoria Microcontrolerului PIC 16F84 - Pagina 9
Memoria Microcontrolerului PIC 16F84 - Pagina 10
Memoria Microcontrolerului PIC 16F84 - Pagina 11
Memoria Microcontrolerului PIC 16F84 - Pagina 12
Memoria Microcontrolerului PIC 16F84 - Pagina 13

Conținut arhivă zip

  • Memoria Microcontrolerului PIC 16F84.doc

Alții au mai descărcat și

Prezentare Microsoft Excel

PREZENTARE EXCEL COMPONENTELE FERESTREI EXCEL FORMATAREA TEXTELOR SI CALCULE IN EXCEL CREAREA DIAGRAMELOR IN EXCEL Diagramele ofera o imagine...

Aplicatile Windows

Meniul Accesories din Start Menu, Programs este un meniu care se creeaza înca de la instalarea sistemului Windows, si contine scurtaturi pentru...

Sisteme de Operare

REFERAT SISTEME DE OPERARE CE ESTE UN SISTEM DE OPERARE În general, interactiunea dintre calculator si utilizator poate fi descrisa la nivel...

Subiecte Sisteme de Operare

Sistemul de operare. Definitii, rol, functii. Un sistem de calcul este organizat pe mai multe nivele. La baza se afla partea hardware formata din...

Sisteme Informatice

REFERAT În viata noastra de zi cu zi, calculatoarele sunt ceva obisnuit, ba chiar indinspensabil în unele cazuri. Se poate spune, pe drept cuvânt...

Fițuica multimedia

1)Conceptul de multimedia. Multimedia cuprinde ansamblu mijloacelor de comunicare, prin care informaţiile pot fi percepute vizual şi auditiv în...

Statistică aplicată

12 14,4 media arit 22 18 14,29656662 media geom 20 16 14,19172762 media armonica 19 11 14,5 mediana 13 13 15 modulul 17 14 11 Quartile 11 15...

Te-ar putea interesa și

Decodor Morse cu Pic

Introducere Din cele mai vechi timpuri omenirea a fost interesată în transmiterea ştirilor la distanţă . Dar, în diferitele epoci, acest lucru s-a...

Termometre Electronice

Următorul referat prezintă un exemplu de măsurarea temperaturii în timpul procesului.Acest proces poate fi temperatura de lucru a unei matriţe...

Ai nevoie de altceva?