Documente Academic
Documente Profesional
Documente Cultură
1. Caracteristici
1
Procesoarele sunt disponibile in capsule variate, de la circuite cu 8 pini pana la
procesoare cu 68 de pini;
Familia AVR beneficiaza de existenta unui set unitar de instrumente software
pentru dezvoltarea aplicatiilor.
2. Arhitectura AVR
2
- un numărător/timer de 16 biti;
- un convertor analog/digital de 10 biti, cu 8 intrări;
- 4 canale PWM;
- un comparator analogic;
- timer de urmarire (watchdog) cu oscilator propriu;
- contine 3 interfete pentru comunicatie (USART pentru comunicatie serială
(port serial), interfata seriala TWI, interfata seriala SPI);
- ceas de timp real cu oscilator separate;
- 32 de linii I/O organizate în patru porturi (PA, PB, PC, PD).
3
Figura 1 - Schema bloc a nucleului CPU-AVR
4
Figura 2 - Registrii CPU-AVR
Figura 3 - Registrele X, Y, Z
5
o are întreruperea cu vectorul cel mai slab plasat in tabel.
Spatiul de memorie I/O contine 64 de adrese pentru functiuni periferice ale CPU
ca: controlul registrelor, indicatorul SPI, sau alte functii de I/O. Memoria I/O poate fi
accesată direct sau indirect .
6
3. Executia instructiunilor
Instructiunile care acceseaza memoria necesita doi cicli de tact pentru o operatie
dupa cum se vede din figura 6.
7
Figura 6 - Executia instructiunilor care acceseaza memoria SRAM
4. Setul de instrucţiuni
a. Instrucţiuni de transfer
Aceste instrucţiuni pot lucra direct cu oricare dintre cele 32 de registre.
Sursa/destinaţia poate fi un registru, o memorie sau un operand imediat. Operanzii pot fi
octeţi sau cuvinte.
Exemple:
MOV Rd,Rr Rr→Rd
LDI Rd,k k→Rd k- operand imediat
LD Rd,X (X)→Rd
LD Rd,X+ (X)→Rd, X+1→X
LD Rd,-Y Y-1→Y, (Y)→Rd
LDD Rd,Y+q (Y+q)→Rd q- deplasament
LDS Rd,k (k)→Rd (k)- adresă directă
LPM (Z)→R0 încarcă data din PM
SPM R1:R0→(Z) stochează data în PM
IN Rd,P (P)→Rd citeşte data port P
OUT P,Rr Rr→(P) scrie data port P
PUSH Rr Rr→stiva
POP Rd stiva→Rd
8
b. Instrucţiuni aritmetice şi logice
Aceste instrucţiuni execută operaţii aritmetice şi logice elementare cu operanzi de tip
bit, octet sau cuvânt. Procesorul execută operaţii de înmulţire cu multiplicatorul hardware
intern cu operanzi întregi sau fracţionari, fără sau cu semn.
Exemple:
ADD Rd,Rr Rd+Rr→Rd
ADC Rd,Rr Rd+Rr+C→Rd
SUBI Rd,k Rd-k→Rd k- constantă
SBIW Rdl,k Rdh:Rdl-k→Rdh:Rdl
AND Rd,Rr Rd˄Rr→Rd „˄” - ŞI logic
ORI Rd,k Rd˄k→Rd „˄” - SAU logic
EOR Rd,Rr Rd*Rr→Rd „*” - SAU exclusiv
SBR Rd,k Rd˄k→Rd setează bit
CBR Rd,k Rd*($FF-k) resetează bit
MUL Rd,Rr Rd x Rr→R1:R0 înmulţire fără semn
c. Instrucţiuni de salt
Execută salturi de tip condiţionat sau necondiţionat, la adrese absolute sau relative,
apeluri/reveniri din subrutine.
Exemple:
JMP k k→PC k- adresa de salt
RJMP k PC+k+1→PC salt relativ la PC
CPSE Rd,Rr if(Rd=Rr) PC+2or3→PC
SBRC Rr,b if(Rr(b)=0) PC+2or3→PC b- bit în Rr
BRCC k if(C=0) PC+k+1→PC C- carry flag
BRIE k if(I=1) PC+k+1→PC I- interrupt flag