Sunteți pe pagina 1din 2

Fisa de lucru SMP

1. Sa se prezinte grafic arhitectura nucleului microcontroller-ului din seria AVR. Sa se


enumere blocurile componente si destinatia lor, sa se evidentieze interactiunile dintre
blocuri.

2. Sa se explice executia in cadrul arhitecturii AVR a unei comenzi aritmetico-logice, a se


evidentia flagurile, si modul de modificare a lor.

3. Din setul de comenzi ale microcontrollerului din seria AVR


a. Sa se dea definitia comenzilor: (operanzi, operatie, flaguri afectate/evaluate, explicatie)
AND, CLZ, IN, IJMP, SBRS
b. Sa se potriveasca o comanda pentru realizarea operatiei (operanzi, operatie, flaguri
afectate/evaluate)
- Incerementarea valorii unui registru
- salvarea temporara a unui bit din registrul de uz general in bitul T din SREG
- transfer de date dintr-un registru in paltul
- Salt neconditionat indirect
- salt la eticheta daca este egalitate.

4 Realizarea constructiilor algoritmice de baza: conditii, selectie multipla, cicluri

5. Sa se descrie principiul de organizare a programelor cu intreruperi, sa se enumere si sa


se explice componentele de baza.

6. Sa se explice modul de functiionare a Modulului periferic TIMERx, regimurile contor,


captare si comparare

7. sa se realizeze o implementare prin schema bloc si scventa de cod pentru:

if ( R16 < 34) 


R16 = R16 - R1 
else 
R16 = R16 - 13

8. Sa se scrie o subrutina reentrabila cu parametri, si secventa de cod de apel a subrutinei


pentru evaluarea expresiei a = b + 3489, unde  a,b sunt variabile de 16 biti.

9. Sa se scrie o subrutina reentrabila cu parametri, sa se prezinte schema bloc al


algoritmului si sa se dea secventa de cod de apel a subrutinei pentru calculul sumei
elementelor mai mari ca 7 ale unui tablou. sa se transmita tabloul catre subrutina ca
referinta printr-un registru indirect, rezultatul sa fie returnat prin registrii R16:R17,
10 . Sa se scrie secventa de cod pentru configurarea modulele periferice cu ajutorul
mastilor conform configuratiilor prezentatre. In acest scop - sa se formeze masca pentru
modificarea bitilor prin declaratie de constante cu,  .EQU.  Sa se defineasca un nume
pentru un registru de uz general cu directiva  .DEF, sa se scrie comanda pentru setarea
bitilor cu masca definita cu .EQU in registrul definit cu .DEF .

Sa se scrie un exemplu al subrutinei de prelucrare a intreruperii daca e cazul.

 GPIO : 0 – iesire 1, 1 – intrare HiZ , 5 – iesire 0, 6 – intrare pull-up


 EXT INT0 : generare intrerupere pe front crescator (RISE) la pinul extern INT1.
 TIMER0 OVF : generare intreruperi pe OVF cu o frecventa de 20kHZ, fck = 8MHz.
 TIMER1 IC : generare de intrerupere dupa cum urmeaza: sursa de semnal - cadere
pe pinul ICP al Microcontrollerului, sursa de clock (CS) - fck/64, activare filtru de zgomote.
 TIMER1 OC : generare de intrerupere la coincidenta cu OCR1A dupa cum urmeaza
- sursa de clock (CS) : fck/1024, setare pin OC1A.
 TIMER1 PWM :  generare semnal PWM la pinul OCR1A. Frecventa de referinta (CS)
- fck/64, rezolutia generatorului fiind pe 8 bit, factorul de umplere ~20%
 AC : genera intreruperi pe frontul descrescator al ACO. sursa de semnal va fi pinul;
ADC3,(conectare multiplexor) sursa de referinta Interna.
 ADC : colectare continua date de pe cnalul ADC4, cu alinierea datelor spre dreapta,
sursa de referinta se va lua pinul; extern AREF. Sa se calculeze o valoare valida pentru
divizor (ADPS) la frecventa de fck = 8M.

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