vezi si 2016
1. Care este secvența de acces pentru registrele pe 16 biți ale perifericului Timer/Counter1 (sau Timer/Counter3, Timer/Counter4, Timer/Counter5)?
a. Octetul mai puțin semnificativ este scris înaintea octetului mai semnificativ; octetul mai puțin semnificativ este citit înaintea octetului mai semnificativ
b. Octetul mai semnificativ este scris înaintea octetului mai puțin semnificativ; octetul mai puțin semnificativ este citit înaintea octetului mai semnificativ
c. Octetul mai puțin semnificativ este scris înaintea octetului mai semnificativ; octetul mai semnificativ este citit înaintea octetului mai puțin semnificativ
d. Octetul mai semnificativ este scris înaintea octetului mai puțin semnificativ; octetul mai semnificativ este citit înaintea octetului mai semnificativ
Răspuns
ATmega640-1280-1281-2560-2561-Datasheet-DS40002211A, page 135
B
2. De ce este recomandată dezactivarea întreruperilor la accesarea registrelor pe 16 biți ale perifericului Timer/Counter1 (sau Timer/Counter3, Timer/Counter4, Timer/Counter5)?
a. Operațiile de acces pe 16 biți pot corupe stiva
b. Operațiile de acces pe 16 biți modifică prioritățile întreruperilor
c. Operațiile de acces nu sunt atomice, întreruperea lor poate duce la coruperea valorilor citite/scrise
d. Operațiile de acces nu sunt atomice, întreruperea lor duce la dublarea numărului de cicli de ceas necesari execuției unei instrucțiuni
Răspuns
c
3. În figură este prezentată diagrama de timp pentru perifericul Timer/Counter0 (sau Timer/Counter2) în următorul mod de lucru:
a. Clear Timer on Compare Match (CTC), prescaler /8
b. Normal, fără prescaler
c. Normal, prescaler /8
d. Clear Timer on Compare Match (CTC), fără prescaler

Răspuns
prescaler: uita-te la ceas sistem vs ceas timer si vezi cum e diviztat/daca e normal vs ctc: normala numara pana la valoarea maxima, ctc resetaza dupa ce ajunge la top a
4. Care este durata de timp măsurată de timerul 0 (sau timerul 2) al microcontrolerului ATmega1280 între valorile 123 și 178 ale registrului TCNT0 (sau TCNT2), dacă acesta funcționează în mod normal cu un prescaler de 8? Se consideră frecvența de lucru de 4 MHz.
a. 114 µs
b. 120 µs
c. 105 µs
d. 110 µs
Răspuns
d vezi doc
5. Câte întreruperi (de depășire) sunt generate de timerul 1 (sau timerul 3, 4, 5) al microcontrolerului ATmega1280 în 3 secunde, dacă acesta funcționează în mod normal cu un prescaler de 64? Se consideră frecvența de lucru de 4 MHz.
a. 194
b. 168
c. 177
d. 183
Răspuns
ex prescaler 64, clk 4mhz 3secunde
f=clk/prescaler = 4 000 000 / 64 = 62.500 impulsuri pe secunda
timer 1 4 5 3 = 16 biti = 65 356
timer 0 2 = 8 biti = 256
3 secunde ⇒ 3 * 625000 = 187 500 impulsuri
nr int= impulsuri / val timer = 187500/65365 = 2.8 ⇒ 2 OVERFLOWS
alternativ
1 overflow = 65356 * 0.25 us * 8 = 1.048 s ⇒ rata overflow = 1/1.048 = 0.954 ⇒ 2.86 over in 3 secunde
6. Care este durata impulsului pozitiv al unui semnal dreptunghiular generat cu ajutorul timerului 1 (sau timerul 3, 4, 5) al microcontrolerului ATmega1280
care funcționează în modul 14 cu ICR1 (sau ICR3, ICR4, ICR5) = 799 și OCR1A (sau OCR3A, OCR4A, OCR5A) = 200? Frecvența de lucru este de 4 MHz, timerul nu folosește prescaler, iar la începutul ciclului de numărare pinul este 1 logic.
a. 50 µs
b. 25 µs
c. 250 µs
d. 500 µs
Răspuns
a
7. Care dintre următoarele instrucțiuni va provoca reset de tip watchdog reset? Timer-ul watchdog funcționează cu WDP = 110 la frecvența de 1 MHz, iar microcontrolerul funcționează la frecvența de 4 MHz.
-
__delay_cycles(2000000L) -
__delay_cycles(1500000L) -
__delay_cycles(500000L)
a. Doar prima
b. Doar primele două
c. Toate cele trei
d. Nici una
Răspuns
d
8. Care este frecvența reală de lucru a microcontrolerului ATmega1280 pentru care instrucțiunea __delay_cycles(500000L) se execută în 124.5 ms?
a. 4.008 MHz
b. 4.004 MHz
c. 4.040 MHz
d. 4.016 MHz
Răspuns
d 500 000 delay c 124.5 ms f_real = Nr cicli / timp = 500k / 124.5 = 4016.06
9. Care este valoarea registrului UBRR
pentru a seta viteza de comunicație pe interfața serială UART0 (sau UART1, UART2, UART3) la 9600 baud? Microcontrolerul lucrează la 4 MHz cu U2X = 0.
a. 12
b. 51
c. 25
d. 16
Răspuns
BAUD= f_osc / 16 (UBBR + 1) UBBR= ( f_osc / 16baud ) - 1 = 4 milioane herti / 16 * 19200 = 25.04 = 25
10. Care este durata de timp necesară transferului pe interfața serială UART0 (sau UART1, UART2, UART3) a unui octet de date la un baud rate de 19200?
a. 1.04 ms
b. 520 µs
c. 260 µs
d. 2.08 ms
Răspuns
bit start + octet +bit stop time = biti / baud = 10/19200 =0.00052 s = 0.52 ms = 520 us
11. Ce cantitate de memorie de program are microcontrolerul ATmega1280?
a. 32 K
b. 16 K
c. 128 K
d. 64 K
Răspuns
128K flash
12. Care este frecvența de lucru maximă pentru microcontrolerul ATmega1280?
a. 10 MHz
b. 4 MHz
c. 16 MHz
d. 1 MHz
Răspuns
c
13. Care este numărul registrelor interne de uz general ale microcontrolerului ATmega1280?
a. 32
b. 8
c. 16
d. 64
Răspuns
a
14. Câți pini ai portului D al microcontrolerului ATmega1280 sunt configurați ca ieșiri în urma execuției următoarei secvențe de instrucțiuni?
DDRD = 0x40;
DDRD = 0xA3;a. 4
b. 3
c. 2
d. 5
Răspuns
1010 0111 5
15. Care este valoarea de pe pinul PD5 după execuția următoarei secvențe de instrucțiuni la începutul unui program?
PORTD = 0xE0;
DDRD = 0xB5;a. 0 (0V)
b. Nedefinit
c. 1 (5V)
d. Impedanță ridicată (Hi-Z)
Răspuns
c