Home - Rasfoiesc.com
Educatie Sanatate Inginerie Business Familie Hobby Legal
Doar rabdarea si perseverenta in invatare aduce rezultate bune.stiinta, numere naturale, teoreme, multimi, calcule, ecuatii, sisteme




Biologie Chimie Didactica Fizica Geografie Informatica
Istorie Literatura Matematica Psihologie

Calculatoare


Index » educatie » » informatica » Calculatoare
» Microcontrolerul 8051 - INTEL


Microcontrolerul 8051 - INTEL


Microcontrolere

Microcontrolerul 8051 - INTEL

Partile componente:

UAL de 8 biti.

ROM de 4 kB.



RAM de 128B.

4 porturi de I/O de 8 biti, notate cu P0, P1, P2, P3.

Un port serial duplex.

2 numaratoare/ temporizatoare de 16 biti.

Logica de control intreruperi cu 5 surse.

Oscilator de tact cu cristal de cuart cu f0=12MHz.

Poate adresa memoriile ROM si RAM externe de 64kB.

Registrele interne:

Sunt registre cu functii speciale, adresabile direct in spatiul 80h÷FFh.

Aceste registre cu functii speciale sunt :

ACC - acumulatorul de 8 biti.

B - registrul de uz general.

DPTR - indicator de date de 16 biti.

SP - indicator de stiva de 8 biti.

PSW - registrul de stare al programului de 8 biti.

Structura registrului PSW

7 6 5 4 3 2 1 0

C

AC

FO

RS1

RS0

OV

P

C = Carrry - indicatorul de transport.

AC = indicatorul de transport auxiliar.

FO = indicatorul de uz general.

RS1 si RS0 = 2 biti pentru selectarea registrelor R0÷R7.

OV = depasire.

P = indicator de paritate - indica suma modulo 2 a bitilor din registru acumulator.

Exemple:

10110010 →P=1 (suma elementelor 1 este para (numarate 4 elem.)).

10110000→P=0 (3 elemente de 1)

Memoria de date (RAM) - interna

Are 128B adresabili direct si indirect in spatiul 00h÷7Fh.

RS - registre speciale.

Adresele registrelor R0÷R7 se stabilesc cu bitii RS1 si RS0 din PSW astfel:

RS1

RS1

Adresele registrelor R0÷R7

00h÷07h

08h÷0Fh

10h÷17h

18h÷1Fh

Zona de memorie 20h÷2Fh este o zona de memorie adresabila la nivel de bit.

Specific acestui μC. este suprapunerea spatiilor de adresa pentru memoriile ROM si RAM interne si externe.

RAM

ROM

intera

externa

interna

externa

00h÷7Fh

0000h÷FFFFh

0000h÷0FFFh

0000h÷FFFFh

Functionarea sincronizata a μC.

μC. are un generator de tact dat de un oscilator cu cristal de cuart pe frecventa:

f0 = 12MHz (tipic)

Functionarea sincronizata pentru executia instructiunilor se desfasoara in:

Faze

Stari

T0

 
Cicluri masina


1 faza (P) = T0

1 stare (S) = 2T0   

1 ciclu masina = 12To

exemplu: f = 12MHz => T0 =

=>1CM = 12·T0 =12·=1μs

Executia unei instructiuni are loc in 1 sau 2 cicluri masina - in functie de tipul instructiunii pentru majoritatea instructiunilor cu exceptia a 2 instructiuni: multiplicare (MUL) si divizare (DIV) care sunt executate in 4 cicli masina.

μC. poate accesa 64kB de mwmorie ROM si 64kB de RAM, pe magistrala de adresare de 16 biti comuna. Cele 2 memorii trebuiesc selectate (validate) separat. In acest scop μC. genereaza 3 semnale:

- pentru ROM (la ).

- pentru RAM (la ).

- pentru RAM (la ).


Transferul unei adrese de la μC. la memoriile eterne se face prin porturile:

P0 - pentru octetul cel mai putin semnificativ.

P2 - pentru octetul cel mai semnificativ.

Transferul unui octet de date se face prin liniile portului P0. Acest port este deci folosit atat pentru adese cat si pentru date. Rezulta necesitatea memorarii temporare intr-un registru extern a octetului mai putin semnificativ al adresei, pe durata transferului datei. Semnalul de validare este generat de μC. la pinul ALE. Registrul este numit registrul STB - registrul octetului de transfer.

Circuitele de numarare / temporizare

Nu are WDT.

Are 2 circuite de numarare / temporizare notate cu N/T0, N/T1 sunt de 16 biti, fiecare continand cate 2 registre de 8 biti: TH0, TL0 si    TH1, TL1. (H=high, L=low).

Functia de temporizare: - se realizeaza prin numarare de impulsuri cu frecventa f0/12 =1MHz (sau 1μs).

Functia de numarare: - se realizeaza prin numararea fronturilor de cadere ale semnalului aplicat pe intrare Ti , unde i =0,1.

Frecventa maxima a semnalului pe Ti este de la 500kHz la f0=12MHz.

Pentru controlul functionarii se utilizeaza registrele TMOD si TCON.

Durata temporizarii

Unde: f0=frecventa oscilatorului

(THi) = continutul registrului Thi

Portul serial

Comunicatia serie asincrona se realizeaza cu o frecventa fc programabila pentru oscilatorul de la emisie si cel de receptie.

P3.1 = TXD,    P3.0 = RXD

μC. contine 2 registre SBUF, unul pentru emisie si unul pentru receptie.

Operatiile de asamblare a unui octet nou si de citire a celui precedent se pot desfasura in paralel.

Daca citirea octetului precedent nu se realizeaza inainte de terminarea asamblarii noului octet, rezulta pierderea unui octet !

Modul de lucru al portului serial (sunt 4 moduri) se poate stabili prin programarea bitilor SM0 si SM1 din registrul SCON.

Modul 0 - comunicatie semiduplex - RXD utilizata alternativ pentru receptie si transmisie.

Modurile 1, 2, 3 - comunicatii duplex.

Frecventa de comunicatie se determina cu formula:

Pentru modurile 1 si 3 (SM1):

modul de calcul a valorii registrului TH1

Pentru modul 2 (SM0=1, SM1=0):

Functionarea cu intreruperi

5 surse de cereri de intrerupere:

2 externe: prin pinii P3.2(), P3.3()

3 interne: N/T0, N/T1, portul serial.

Sistemul se prioritati pentru deservirea prin intreruperi a surselor cuprinde 2 niveluri de prioritate prin programarea bitilor registrului de control





Politica de confidentialitate





Copyright © 2024 - Toate drepturile rezervate