Biologie | Chimie | Didactica | Fizica | Geografie | Informatica | |
Istorie | Literatura | Matematica | Psihologie |
Microcontrolere
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.
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)
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.
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
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
Copyright © 2024 - Toate drepturile rezervate