Sunteți pe pagina 1din 61

NOTIUNI INTRODUCTIVE DESPRE

MICROCONTROLERE
Familia de microcontrolere 8051 – arhitectura si caracteristici
de functionare
• Sisteme ‘embedded’

• Sistem cu microprocesor vs. sistem cu microcontroler

• Pasi de dezvoltare a unei aplicatii cu microcontroler

• Familia de microcontrolere pe 8 biti - INTEL 8051 -


arhitectura, caracteristici de functionare, limbaj de asamblare,
moduri de adresare
 Tehnologia microcontrolerelor reprezinta nucleul a miliarde
de dispozitive ‘inteligente’ care sustin activitatile de zi cu zi;
un consumator obisnuit interactioneaza zilnic cu sute de
microcontrolere inglobate (‘embedded’) in: telefoane,
automobile/transport, aparatura electrocasnica, sisteme de
siguranta, jucarii, elemente de control, terminale comerciale,
electronice etc.

 Proiectantii de sisteme ‘embedded’ creaza, in acest context,


aplicatii inovatoare si au sarcina de a imbunatati permanent
aplicatiile existente pe paliere ce tin de rapiditate in
functionare, consum energetic redus, interfete imbunatatite si
gestionarea de la distanta a unor dispozitive;
 Doua concepte noi pentru producatorii de microcontrolere, pentru
intrunirea cerintelor de performanta si actualizare a acestora:

◦ “cloud computing” - ansamblu distribuit de servicii de calcul, aplicații,


acces la informații și stocare de date, fără ca utilizatorul să aibă nevoie
să cunoască amplasarea și configurația fizică a sistemelor care
furnizează aceste servicii (sursa: wikipedia)
◦ Conectivitate universala (concept popular: “Internet-enabled
everything”)

 Expertii din industrie examineaza impactul acestor noi concepte in noua


generatie de tehnologii pentru microcontrolereconsum redus de
putere, dispozitive accesibile ca pret, protocoale de internet pentru
diferite strategii de implementare;
 Cerintele utilizatorului sunt legate de: interfete interactive, conectivitate
universala, securitate si siguranta in noile sisteme
embeddeddezvoltatorii de sisteme embedded se concentreaza pe
dezvoltarea de unelte complexe de vizualizare si depistare a problemelor
legate de programele software pentru acestea
- Caracteristica “multicore”- mai multe unitati de procesare,
programare paralela
- Elemente de marketing sau realitate inginereasca --
costurile tranzistoarelor au scazut, iar combinarea mai
multor procesoare pe 8 biti pe un singur cip este
considerata o alternativa la ‘upgrade’-ul la familii de circuite
pe 16- or 32-biti  astfel, programatorii isi folosesc
experienta in cunostintele despre cod si nivelul de
familiarizare cu sistemul.
‘Embedded systems’
 Sisteme cu destinatie speciala care sunt folosite de sine
statatoare sau ca parte a unui sistem mai complex;

 Un produs din categoria ‘embedded systems’ foloseste un


microcontroler care realizeaza doar o singura activitate de
control;

 Combinatie de elemente hardware si software care, impreuna


realizeaza o componenta a unui sistem mai complex.

 Un sistem ‘embedded’ este proiectat pentru a functiona fara


interventie umana majora si pentru a raspunde la eventuale
evenimente externe in timp real;
‘Embedded systems’

 Caracteristici:

Eficiente
Costuri imbunatatite
Eficiente din punct de vedere energetic
Aplicatii in timp-real
Predictatibilitate
Exemple
Sistem de inchidere automobil
‘Embedded systems’

Embedded system
Microcontroller LM3S or TM4C Electrical,
mechanical,
Processor chemical,
I/O Ports or
RAM optical
devices
ROM DAC Analog
Bus ADC signals
 Solutii de Sisteme Embedded :

Microcontrolere embedded
Procesoare embedded
Procesoare Digitale de Semnal (DSP)
Microcontroler
‘Not transformation of data but interaction with physical world’

PIC 12F508, PIC 16F84A, PIC 16C72,


Motorola 68HC05B16, PIC 16F877,
Motorola 68000
Elemente esentiale ale unui sistem cu
microprocesor/microcontroler
Elemente constructive pentru un
sistem cu
microprocesor/microcontroler
 CPU
 I/O: Input/Output
 Magistrala (Bus): de adrese si de date
 Memorii
 Timere
 Sistem de intreruperi
 Ceas (generator de tact)
Microprocesor

 - este un circuit integrat (‘chip’) de uz general folosit in dispozitive


multifunctionale:

 - nu contine porturi separate pentru memorii RAM si ROM, porturi de


I/O

 UCP este de sine statatoare; se adauga memorii, porturi pentru


interfatare si timer-e, pentru a deveni functional

 Proiectantul decide cantitatea de memorie si de porturi de I/O

Exemple: INTEL x86, MOTOROLA 680x0


Microcontroler
 Este un ‘computer pe chip” proiectat si optimizat pentru a realiza
functii de control pentru anumite dispozitive electronice

 UCP+memorii+I/O+Timer  incorporate pe un chip

 Limitari in ceea ce priveste memoriile si posibilitatile de interfatare;


se integreaza ideal in aplicatii in care spatiul ocupat, consumul de
putere si pretul pe unitate sunt aspecte critice, in raport cu puterea
de calcul

 Costuri reduse de implementare

 Sisteme de dezvoltare accesibile, la costuri rezonabile


Microcontroler

 Rolul principal: ‘achizitioneaza proprietati ale lumii


inconjuratoare’
 Este un procesor cu circuite suplimentare
 Are trei roluri principale:
Receptioneaza semnale de intrare, prin senzori, elemente
de interventie umana etc
Stocheaza si proceseaza intrarile printr-un set de
actiuni/instructiuni
Aplica datele procesate altor activitati - iesirile
Elementele esentiale ale unui sistem cu
microprocesor/microcontroler

UCP- Unitatea Centrala de Prelucrare


- realizează funcţiile esenţiale de extragere a instrucţiunilor din memoria de
program şi executarea lor.
-contine UAL - Unitatea Aritmetico Logică care realizează diferite
operaţii aritmetice şi logice;

MEMORII
- utilizate pentru pastrarea datelor si a instructiunilor de program
-unitatea de stocare – cuvant

POSIBILITATI DE INTRARE/IESIRE I/O


- introducere/extragere informatii in sistem
- becuri, intrerupatoare, periferice de calculator, convertoare digital-
analogice si analog digitale, placi de sunet, porturi seriale, paralele,
numaratoare, temporizatoare etc
MEMORII

Fiecare cuvant se caracterizeaza printr-o locatie de memorie sau


adresa;
Se impart in doua categorii:
Volatile – datele se pierd la intreruperea alimentarii
 DRAM (Dynamic Random Access Memory)
 SRAM (static Random Access Memory)
Nevolatile – utilizate pentru stocarea codurilor de program
sau informaţiilor care nu se schimbă niciodata
– ROM (Read Only Memory)
– EPROM (sau UV-EPROM - Ultra Violet Erasable
Programable ROM)
– EEPROM -- Electrically Erasable Programmable ROM
Erasable ROM
 ROM
 Programat de catre producator
 Programmable ROM (PROM)
 Se programeaza printr-un programator
 Erasable Programmable ROM (EPROM)
 Foloseste unda ultraviolet care se aplica pentru stergere printr-o “fereastra”
de pe cip
 OTP semnifica ‘one-time programmable’
 Electrically Erasable Programmable ROM (EEPROM)
 Fiecare locatie din program poate fi stearsa individual
 scumpa
 Se cere programator
 FLASH
 Se programeaza in circuit sau in sistem
 Usor de sters (nu e nevoie de programator)
 Doar o portiunea poate fi stearsa/scrisa o data (in general, 64 de bytes o
data)
I/O

 Modul in care computerul comunica cu mediul exterior


 Porturile I/O se conecteaza la periferice
 Perifericele sunt dinspozitive de I/O
 Exemple
multifunctionale, modemuri
Tastatura, mouse
Universal Serial Bus (USB)
Ce este un microcontroler?

 “computer pe cip”, de dimensiuni reduse, folosit in aplicatii de


control al unui obiect, eveniment, proces.

 Se regaseste in orice dispozitiv care masoara, stocheaza,


comanda, calculeaza, afiseaza, stocheaza informatii:

- aparatura electronica si electrocasnica


- periferice calculator
- industria automobilelor
- orice dispozitiv dintr-o aplicatie de control
Spre deosebire de sistemul cu microprocesor,
microcontrolerul contine toate componentele pe acelasi
cip: UCP, memorii, posibilitatile de interfatare.

 aplicatiile de control se refera la sisteme mici, cu cateva


elemente aditionale

 limbaj de asamblare cu un număr redus de instrucţiuni, fiind


foarte utilizate în aplicaţiile în care este nevoie de executarea
unor calcule şi a unor algoritmi nu foarte complicaţi, oferind
un cost de implementare redus

 Sunt structuri mai simple si mai economice, in comparatie, de


exemplu, de DSP-urile
Realizarea unei aplicatii cu microcontroler

1. Alegerea microcontrolerului – pe criterii de rapiditate, consum


de putere, set de instructiuni, optiuni de interfatare

2. Scrierea programului
- limbaj de asamblare – abreviatii sau mnemonici
- limbaj de nivel inalt
- interpretoare si compilatoare

3. Testare si depanare
-sistem de dezvoltare
- simulatoare
Cod masina

- instructiuni in binar
Toate programele sunt convertite in cod masina pentru UCP, care va
executa programul
Dificil de implementat, cauzeaza, unerori, erori la scriere

Limbaj de asamblare
Mnemonici sau abrevieri
Corespondenta unu la unu cu instructiunile in cod masina
Eficienta in executie si in utilizarea memoriei; specifica dispozitivului si greu de
depanat.
Limbaj de nivel inalt

De exemplu: BASIC, C, C++


Foloseste sintaxa standard, de obicei in engleza, este independent de
dispozitiv
Usor de scris si de depanat
Necesita mai multa memorie si este mai putin eficienta in executie
Caracteristici software

 Fara sistem de operare


 Executa un singur program
 Limbaj de asamblare(vs. limbaj de nivel inalt)
Nu e transportabil, specific dispozitivului
Programatorul trebuie sa cunoasca arhitectura CPU
Viteza de executie
Marimea programului
Exemple producatori
microcontrolere pe 8-biti
 Microchip
 Peste 2 miliarde de exemplare vandute pana in 2002
 Economice si cu multe periferice
 Motorola
 Are sute de instructiuni
 Exemple: 68HC05, 68HC08, 68HC11
 Intel
 Are sute de instructiuni
 Exemple: 8051, 8052
 Producatori diferiti: Philips, Dallas/MAXIM Semiconductor
 Atmel
 Economice si cu multe periferice
 AVR
Denumire
Caracteristici
categorie Destinaţie Aplicaţii
(specifice)
S.C.T.R.
• Operații numerice
discrete; • Interfațarea • Intermedierea
• Număr redus de fenomenelor fizice proceselor de tip „om
instrucțiuni; (hard) cu strategia – mașină” (eng. H.M.I.
Microcontroler • Întreruperi de logică / algoritmul de – Human Machine
procesare; control (soft) al unui Interaction) prin citire
• Operații simple proces oarecare de senzori / generare
rapide; (fizic); comandă;
• Arhitectura Harvard!

• Sintetizarea
semnalelor; • Achiziție, procesare și • Telecomunicații,
• Regiştrii dedicaţi („+”, generare de semnal; industria multimedia,
Digital Signal „*”); • Controlul proceselor sonorizare, procesare
Processor • Periferice dedicate rapide din grafică / video;
(D.A.C.); convertoarele • Electronică de
DSP • Operații complexe electronice de putere și semnal –
rapide; putere; control;
• Arhitectura Harvard!
• Interfațarea fizică /
• Sistem de operare; • Telecomunicații,
hard a protocoalelor
• Paralelism aparent al industria IT & C,
Micro- operațiilor

de comunicație;
Operații „Client –
dispecerate, centre
de date, evidență și
computer •
(multitasking);
Arhitectura Von
Server”;
stocare
• Preluare / centralizare
Neumann! • Computer central;
date;
Memorie:
• Date (variabile declarate în program),
informații pentru stocare, semnale de
stare;
• Cod program, instrucțiuni, adrese de
memorie;
pentru date și adrese
Magistrală comună

Date Adrese
AVANTAJUL MAJOR:
Unitate centrală de
Construcție compactă, simplă,
procesare (CPU)
fără prea multe magistrale de
adresare.
DEZAVANTAJUL MAJOR:
Date NU se pot executa operațiile de
adresare și preluare din
Dispozitive preriferice memorie în mod SIMULTAN este
pentru Intrare / Ieșire necesară o memorie
semnal intermediară de păstrare a
variabilelor temporar, numită
CACHE.

Arhitectura Von Neumann


Memorie program: Memorie de date:
Cod program, Date (variabile declarate în
instrucțiuni, adrese de program), informații pentru
memorie; stocare, semnale de stare;

Adrese Date
Unitate dentrală de
procesare (CPU)

Adrese pentru instrucțiuni Date Adrese pentru variabile


Dispozitive preriferice
Arhitectura Harvard are două pentru Intrare/Ieșire
magistrale independente: pentru AVANTAJUL MAJOR:
semnal
furnizarea adreselor (locațiilor Se pot executa operații de
de memorie) și pentru stocarea preluare din memorie și
datelor. adresare în mod SIMULTAN fără
memorie CACHE!
Arhitectura Harvard
Microcontrolerul Intel 8051
 standard în industria microcontrolerelor

 este implementat cu o structură pe 8 biţi, fiind produs în mai multe


variante, în funcţie de cantitatea şi tipul de memorie inclusă precum şi în
funcţie de capacităţile structurale.

 majoritatea firmelor producătoare de microcontrolere produc modele


compatibile cu standardul 8051, cu diverse îmbunătăţiri.

Există astăzi în producţie la diferite companii modele cu memorie care


poate fi mai usor reinscriptionată, cum ar fi cea EPROM (cu stergere prin
expunere la radiaţii ultraviolete) sau cea EEPROM (cu ştergere electrică).

O listă completă a modelelor familiei 8051 se găseşte pe site-ul firmei Intel,


www. intel.com
Caracteristicile principale ale
familiei 8051
 CPU pe 8 biţi
 128 octeţi de RAM intern
 4 kocteţi de ROM intern
 Posibilitate de adresare a 64 kocteţi de memorie program
 Posibilitate de adresare a 64 kocteţi de memorie de date
 32 de linii I/O bidirecţionale adresabile individual
 2 timere/countere pe 16 biţi
 5 surse de întrerupere cu două nivele de priorităţi
 Generator de tact intern
 Posibilitate de lucru full-duplex prin interfaţă serială
 Posibilitate de lucru pe biţi
 versiunea îmbunătăţită 8052, total compatibilă cu 8051 are
modificate caracteristicile prezentate mai jos.

8052:
 264 octeţi de RAM intern
 8 kocteţi de ROM intern
 3 timere/countere pe 16 biţi

 O altă versiune îmbunătăţită este 8752, care în plus faţă de


8052 are memoria internă de program de tipul EPROM
(memorie reinscriptibilă).
Familia 8051 – surse si producatori

 Intel (original)
 Atmel
 Philips/Signetics
 AMD
 Infineon (fost Siemens)
 Matra
 Dallas Semiconductor/Maxim
Structura internă de bază a
microcontrolerului 8051
 UCP - procesorul matematic cu care sunt dotaţi membrii familiei
Intel 8051 este structurat pe 8 biţi, fiind optimizat pentru utilizarea
în aplicaţii de control.
OSC -generatorul de tact intern cu care este dotat microcontrollerul.

- generează, cu ajutorul
impulsurilor provenite
de la un cristal de cuarţ
legat în exterior,
semnalul de tact care
asigură funcţionarea
întregului sistem intern.
- modul de conectare a
cristalului de cuarţ în
cazul utilizării
oscilatorului intern este
prezentat în figura
Conectarea unui semnal de ceas extern
 Instrucţiunile utilizate în programarea microcontrolerelor din familia Intel
8051 sunt de două tipuri, în funcţie de durata lor de execuţie. Astfel,
există instrucţiuni a căror execuţie necesită un ciclu maşină şi instrucţiuni
ce necesită două cicluri maşină.

 De asemenea, există instrucţiuni al căror cod este scris în memorie pe un


byte şi altele al căror cod ocupă 2 bytes.

 Un ciclu maşină este împărţit la acest tip de microcontrolere în şase


perioade egale de execuţie, notate de la S1 la S6. Fiecare din aceste
perioade necesită pentru execuţie 2 perioade de ceas.

 După un calcul simplu, reiese că pentru 1 ciclu maşină, format din 6 părţi
de câte 2 perioade de ceas, este nevoie de 12 perioade de ceas.

 În cazul în care avem un ceas de 12 MHz, reiese că timpul de execuţie


pentru o instrucţiune scurtă este de 1 μsec, iar pentru una lungă este de
2 μsec.
BUS CONTROL
Intel 8051 are în structura lui un bus unic de date.
Funcţionarea acestuia şi gestiunea traficului este asigurată de blocul
BUS CONTROL de control al bus-ului, bloc controlat direct de CPU.

4 I/O PORTS

acestea formează una din căile de


comunicare cu exteriorul.
4 porturi de intrare/ieşire P0, P1, P2 şi P3,
fiecare dintre acestea fiind de 8 biţi  32
de linii de intrare/ieşire P0.1-P0.7, etc…
- liniile portului P3 şi, la 8052, şi liniile P1.0
şi P1.1, mai au şi alte întrebuinţări
alternative prezentate în tabel
SERIAL PORT

- de tip UART şi asigură prin liniile RXD şi TXD comunicarea de tip


serial.

- funcţionarea portului serial poate să aibă loc în 4 moduri distincte,


selectabile prin program, la care variază viteza de transmisie,
numită rată de baud:

 modul 0 – rată de baud fixă – 1/12 din frecvenţa oscilatorului

 modul 1 şi 3 – rată de baud variabilă – generată de Timerul 1

 modul 2 – rată de baud fixă – 1/32 sau 1/64 din frecvenţa


oscilatorului.
TIMER 0, 1

fiecăruia dintre aceste numărătoare poate să i se aloce o valoare pe care


el o va decrementa până la 0.

Temporizatoarele pot fi utilizate în două moduri:

modul timer -decrementarea valorii se executa în functie de


semnalul primit de la ceasul intern al procesorului.

modul counter - decrementarea are loc la schimbarea stării de pe un


pin extern al microcontrolerului  Acest lucru permite numărarea
unor evenimente externe (de exemplu numărarea impulsurilor primite
de la un encoder incremental de măsurare a turaţiei unui motor).
INTERRUPT CONTROL (Sistemul de intreruperi)

 odată activate, opresc execuţia firului principal al programului 


saltul la o adresă specifică din memorie unde se poate scrie o rutină
specială care să se execute în cazul declanşării întreruperii.

-5 surse principale de întrerupere:

- 2 întreruperi externe (INTR0 şi INTR1) - au alocaţi doi pini în


capsula microcontrolerului care se activează la aplicarea unui semnal
logic pe unul din aceşti pini; sunt foarte utile pentru semnalizarea unui
eveniment extern
- 2 întreruperi de timer (TIMER0, TIMER 1)- se activează de către
numărătoare la terminarea ciclului de numărare
- 1 întrerupere utilizată la transmisia pe portul serial.
Memorii 8051

•memoria internă (On-Chip


Memory)

•memoria externă de program


(External Code Memory)

•memoria externă de date


(External RAM)
Organizarea memoriei
 Memoria externa de program - se găseşte in afara
cipului şi ea este de obicei de tip EPROM;

 Memoria externa de date- mai putin flexibila si mai


dificil de accesat ca si memoria de date interna; mult
mai mare ca si capacitate decat cea interna – pana la
64 k;

 Memoria on cip - totalitatea memoriilor care exista


in mod fizic pe cipul microcontrolerului: memorie de
program (ROM), memorie de date (RAM), si registre
cu funcţii speciale (SFR).
4K ROM

 ROM (Read Only Memory) - stocheaza instrucţiunile ce urmează să fie executate.

 Memoria program nu poate fi modificată pe parcursul rulării programului, ea


putând fi doar citită.
 Scrierea ei se face cu dispozitive speciale iar ştergerea este posibilă doar în funcţie
de tipul de memorie folosit
 Execuţia unui program începe cu citirea din memorie a instrucţiunii de la adresa
0000h; deoarece începând cu 0003h există o zonă de memorie rezervată rutinelor
de tratare a întreruperilor, de obicei prima instrucţiune a unui program este una de
salt care face ca citirea instrucţiunilor să continue după această zonă.
 Pentru tratarea întreruperilor, sunt alocate 5 zone de memorie, după cum
urmează:
0003h – INTR 0
000Bh – Timer 0
0013h – INTR 1
001Bh – Timer 1
128 BYTES RAM

•4 bancuri de câte 8 regiştrii pe 8 biţi,


localizaţi între 00h şi 1Fh pentru stocarea
de date în cadrul programului, notaţi cu
R0-R7.
•Un singur banc de regiştrii poate fi
utilizat o dată, selectarea sa fiind făcută cu
o instrucţiune specifică.

•regiştrii cu rol important în funcţionarea


microcontrolerului: registrul A – acumulator,
registrul B - utilizati de majoritatea
instrucţiunilor de calcul
•set de regiştrii cu rol de configurare şi de
semnalizare a diferitelor evenimente, numiţi
şi regiştrii SFR (Special Function Registers)-
zona 80h – FFh

 16 bytes, de la 20h-2Fh – accesarea memoriei la nivel de bit (citire/scriere)


 80 bytes –> 7Fh variabilele utilizatorului si stocarea datelor scrise/citite
Moduri de adresare
Adresarea directă

 În cazul adresării directe, instrucţiunea conţine direct


adresa din memorie la care se găseşte valoarea căutată.
 Acest mod de adresare permite accesarea memoriei
RAM de date internă şi a regiştrilor SFR.

Exemplu:

MOV A,10h ; Mută în acumulator valoarea de la


adresa 10h.
Moduri de adresare
Adresarea indirectă

 La adresarea indirectă, în instrucţiune este specificat un registru care


conţine adresa din memorie la care se găseşte valoarea căutată.
 Prin acest tip de adresare se poate accesa memoria RAM de date
internă şi externă.

Exemplu: MOV R1,10h


MOV A, @R1; Mută în acumulator valoarea de la adresa 10h,
adresa fiind păstrată în registrul R1.

Atenţie la semnul obligatoriu @ ce trebuie să apară înainte de numele


registrului.
Moduri de adresare

Adresarea de valori imediate

 La adresarea de valori imediate, se poate folosi o valoare


numerică fără ca aceasta să fie scrisă în prealabil în memoria de
date.

Exemplu: MOV A,#10H; Mută în acumulator valoarea 10


;hexazecimal

 Dacă dorim introducerea numărului 10 zecimal, nu se ataşează


şi litera h de la sfarşit (MOV A,#10).

 Atenţie la semnul obligatoriu # ce trebuie să apară înainte de


valoarea folosită.
Moduri de adresare
Adresarea de registru

La adresarea de registru, se poate folosi în cadrul unei instrucţiuni o


valoare numerică ce se află stocată într-un registru.

Exemplu: MOV R5,#10h


MOV A,R5; Mută în acumulator valoarea 10h după ce
;aceasta a fost stocată în registrul R5.

Atenţie! Secvenţa:
MOV R5,10h
MOV A,R5; mută în acumulator valoarea aflată la adresa 10h
;(prima linie conţine o adresare directă nu de valoare
; imediată ca şi în cazul anterior)
Registri uzuali si cu functii speciale SFR
Registrii UCP:
- ACC : Acumulator
-B :B
- PSW : Program Status Word –
indicatori de stare
- SP : Stack Pointer – indicator stiva
- DPTR : Data Pointer (DPH, DPL) –
indicator de date

Interrupt control:
-IE : Interrupt Enable – activare
intreruperi
-IP : Interrupt Priority – prioritate
intreruperi
Registri uzuali si cu functii speciale SFR
Timers:
- TMOD : Timer mode.
- TCON : Timer control.
- TH0 : Timer 0 high byte.
- TL0 : Timer 0 low byte.
- TH1 : Timer 1 high byte.
- TL1 : Timer 1 low byte.

Serial I/O:
- SCON : Serial port control.
- SBUF : Serial data registers.

Other:
- PCON : Power control
PSW : Program Status Word
CY AC F0 RS1 RS0 OV - P
CY AC F0 RS1 RS0 OV ---- P

- CY : Carry Flag.
- AC : Auxiliary Carry Flag.
- F0 : Flag 0 (available for user).
- RS1 : Register Select 1.
- RS0 : Register Select 0.
- OV : Arithmetic Overflow Flag.
-P : Accumulator Parity Flag.

RS1 RSO Register Bank Address


0 0 0 00h - 07h
0 1 1 08h - 0Fh
1 0 2 10h - 17h
1 1 3 18h - 1Fh
SMOD ---- ---- ---- GF1 GF0 PD IDL

SMOD – dacă este egal cu 1, se dublează rata de baud a portului serial


dacă acesta este în modul 1, 2 sau 3
GF1 şi GF0 – biţi de flag la dispoziţia utilizatorului
PD – la setarea acestuia se activează modul de oprire (Power Down) a
microcontrolerului
IDL – la setarea acestuia, microcontrolerul trece în mod de aşteptare
(Idle Mode).
În cazul în care şi PD şi IDL sunt setaţi deodată, PD are prioritate.
IE: Interrupt Enable Register, adresabil pe bit

EA - ET2 ES ET1 EX1 ET0 EX0


EA – dezactivează toate întreruperile. Pentru a folosi sistemul de întreruperi
acesta trebuie să aibă valoarea 1.
ET2, ES, ET1, EX1, ET0 şi EX0 corespund întreruperilor de timer 2 (doar la 8052),
port serial, timer 1, externă 1, timer 0 şi, respectiv, externă 0 iar valoarea de 0 sau
1 a acestor biţi dezactivează sau activează întreruperile corespunzătoare.

IP: Interrupt Priority Register, adresabil pe bit

- - PT2 PS PT1 PX1 PT0 PX0

PT2, PS, PT1, PX1, PT0 şi PX0 corespund întreruperilor de timer 2 (doar la
8052), port serial, timer 1, externă 1, timer 0 şi, respectiv, externă 0 iar
valoarea de 0 sau 1 a acestor biţi fac ca întreruperea corespunzătoare să
aibă prioritate de nivel mic, respectiv mare.
Referinte bibliografice:
[1]http://learn.mikroe.com/ebooks/picmicrocontrollersprogram
minginassembly/front-matter/introduction-to-the-world-of-
microcontrollers/
[2]http://www.robotplatform.com/electronics/microcontroller/
microcontroller_2.html
[3] http://users.utcluj.ro/~baruch/ac/curs/Unitatea-memorie.pdf
[4] http://embedded-computing.com/

Simulator Intel 8051: www.edsim51.com

S-ar putea să vă placă și