Sunteți pe pagina 1din 4

Legeda: EXPLICATIE, RASPUNSURI DE PE MOODLE

PROBLEME TESTE MICROCOONTROLERE

1. De câte ori se execută instrucțiunea djnz R0, $ dacă R0 conține valoarea 0x80?

R: Se transforma din hexa in decimal → 0x80 = 128

de 128 de ori

2. Dacă ieșirea unui ADC cu rezoluție de 8 biți și gama tensiunilor de intrare 0-5V indică
valoarea 0x10, care este valoarea tensiunii analogice de la intrare?

R: Se transforma din hexa in decimal → 0x10 = 16. Se inmulteste cu tensiunea de


intrare 5V si se imparte la 255. 16 * 5 =0.313 .
255

~ 0.3125 V

3. Calculați frecvența de overflow aproximativă a Timer-ului 0 configurat astfel:


- modul de lucru 8 biți cu auto-reload
- valorile inițiale ale registrelor: TH0 = 0xFD și TL0 = 0xFD
- frecvența sistemului setată conform laboratorului 2
R: Folosim formula : Tof = (256 – TH0)*Tto-ck. Transfomam valoarea lui TH0 din hexa
in decimal, iar Tto-ck este frecventa sistemului conform lab, adica 1us. Inlocuim in
formula si avem (256-253)*1us = 3us. F = 1/Tof = 1/3 = 3MHz, dar, tinem cont ca
valoarea este pt jumatate de registru, asa ca inmultim cu 2. Astfel, raspunsul final e
2*F = 6MHz
6MHz

4. Considerând un DAC pe 8 biți, a cărui tensiune de referință este 5V, ce valoare va


avea tensiunea de ieșire daca pe intrare se va aplica codul 0xFF?
R: Se transforma din hexa in decimal → 0xFF = 255. Aplicam formula
D *   V r ef 255 * 5
V o u t =  8
=  =5
2 −1 255
5V
5. Se consideră un tabel de căutare cu 16 valori, ce stocheaza valorile eșantioanelor
corespunzatoare unei perioade a unui semnal periodic oarecare. Care va fi frecvența
semnalului generat cu ajutorul DAC, daca la fiecare eveniment de overflow al
Timer0 (8 bit auto-reload, TH0 = 0xC0, frecvența timer = 2,048 MHz) se aplică la
intrare, in ordine, cate un eșantion, reluându-se procedeul la terminarea
eșantionelor?
R: f T 0−C K =2.048   M H z → T T 0−C K =  1 =  1
=0.488  u s → TH0 = 0xC0 =
f T 0−C K 2.048* 106
192
= 31.23 ~ 31 us →
Legeda: EXPLICATIE, RASPUNSURI DE PE MOODLE

T es a n t i o n ar e =31* 16  =496   u s=0.496   ms  ( 16   e s a n t i o a n e )


1 1
f 'es a n t i o n a r e =  =  =2.01   K H z
T es a n t i o n a r e 0.496
2 kHz

6. Luând în considerare aplicația definită în Lucrarea 2 din îndrumarul de laborator,


având codul în Anexa 2 a îndrumarului, care trebuie să fie valoarea hexazecimală de
auto-reîncărcare (auto-reload) stocată în TH0 astfel încât frecvența de
eșantionare (i.e. frecvența întreruperilor generate de Timer0) să fie 10 kHz?

R: f es a n t i o n a r e   =10 k H z → T es a n t i o n ar e =  1
=0.1=100   u s
10   k H z

Avem ca T 0 C K =1 u s

1u s * ( 256−x )=100 → 256− x=100   u s → x = 156 → TH0 = 0x9C (transformam pe


x din decimal in hexa)

0x9C

7. Senzorul atașat motorului DC prezent în simulatorul EdSim51 este folosit ca sursă


de semnal pentru Timer-ul 1 configurat Counter în modul 2.
Dacă valoarea de auto-reload este 0xE0, iar frecvența de overflow a timerului este 10
kHz, care este perioada medie necesară unei rotații?

R: TH0 = 0xE0 = 224 → f 0 F =10   k H z   → T 0 F =1m s

f time r → 10kHz = f t i m er → f t i m er =320   k H z


f 0F=  8
2 −T H 0 256−224

1 1
T t i m er =  =  =0.003125=3.125   u s
f t i me r 320   k H z

3.125 us

8. În contextul arhitecturii 8051, sistemul de comunicație serială UART funcționează


în Modul 1 de lucru.
Care este valoarea minimă exactă a frecvenței oscilatorului (XTAL) necesară pentru a
obține BAUD RATE = 76800 bps?

R: B A U D=  f osc → 76800=  f osc   min →


12 * 32 * ( 256−T H 1 ) 12 * 32 * ( 256−T H 1 )
f osc
29491200=  
256 −T H 1

f o s c = 29.4912 MHz

T H 1 = 255
Legeda: EXPLICATIE, RASPUNSURI DE PE MOODLE

29.4912 MHz

9. Care este frecvența unui semnal dreptunghiular generat cu ajutorul unui DAC, la
intrarea căruia se aplică o valoare inversată la fiecare eveniment de overflow al
Timer0, știind ca timer-ul are urmatoarea configuratie: mod 8 biți auto-reload, TH0 =
0x80, timer_clock = 2.048 MHz?

R: TH0 = 0X80 = 128 → T s em n a l  =2 *   T 0 F → T 0 F =( 256−T H 0 ) *    T C K −T 0

1.     T 0 F =128*   T C K −T 0

1 1
2.     T C K−T 0=  = =0.488  u s
f C K −T 0 2.048   M H z

Din 1 si 2 rezulta ca: T 0 F = 128 * 0.488 = 62.464 us

T s em n a l   = 2 * 62.464 = 124.928 us

1
f s em n al =  =0.008=8   k H z
T s em n a l

8 kHz

10.  În contextul arhitecturii 8051, sistemul de comunicație serială UART funcționează
folosind următoarea configurație:
- formatul pachetelor de transmisiune: 10 biți (1 bit de start, 8 biți de date, 1 bit de
stop);
- BAUD RATE = 19200 bps.
Care va fi durata necesară pentru a transmite
mesajul exact (subliniat): Sternocleidomastoidian?

R: Sternocleidomastoidian = 22 simboluri

22 simboluri * 10 biti = 220 biti


Legeda: EXPLICATIE, RASPUNSURI DE PE MOODLE

Aplicam regula de 3 simple: 19200 b …………………1 s

220 b ………………….x s → x=  220 = 0.011458 s = 11.45


19200
ms

11.458 ms

11. Care dintre următoarele intrucțiuni setează Timer-ul 0 în modul de lucru 3?

R: Primii 4 biti din TMOD sunt pentru Timer 1, iar ultimii 4 din TMOD sunt pentru
Timer 0.

Se transforma val de la TMOD din hexa in binar. In functie de ce Timer se specifica se


ia prima sau a doua jum din nr binar ( facut octet), iar nr rezultat din binar in decimal
ne da modul de lucru.

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