Mikroprocesory 2006
Podać podział przestrzeni adresowej dla pamięci danych i programu dla procesora rodziny 8051.
(Ram zew. w obrębie zewn. Przestrzeni adresowej)
Pierwsze 4k o adresach pokrywających się z pamięcią wewn.
są nie używane !!!!
Podać sposób połączenia do pinu P1.0 uk 8051 diody LED oraz podać sposób sterowania programowo, aby możliwe było załączanie i wyłączanie świecenia tej diody
dioda świeci -> SETB P1.0 ->dioda nie świeci
dioda nie świeci -> CLR P1.0 -> dioda świeci
CPL P1.0 zmiana stanu portu
Do uK podłączono rezonator 24MHz. W jaki sposób wykorzystać elementy kontrolera aby możliwe było przedziałów czasowych równych 30msek. Podać kolejność poleceń jakie należy umieścić w programie.
MOV TMOD, # 00000101; licznik To, tryb 16bit
MOV IE, #10000010; włączenie przerwań i przerwania od licznika T0
MOV TH0,# (trzeba wpisać 5536)
MOV TL0,# (trzeba wpisać 5536)
SETB TR0 uruchomienie licznika T0
Po 30msek od SETB TR0 zostanie wywołane przerwanie T0
Jednostka ALU wykonała rozkaz dodawania logicznego dwu liczb zapisanych w rejestrach A= 16, B= 255. jaki będzie wynik dodawania log. i gdzie się będzie on znajdował po wykonaniu rozkazu.
A= 00001111
B= 11111111
Po ORL (dodawanie logiczne)
A= 11111111
Połączono dwa uK 8051 łączem synchronicznym. Przepustowość zastosowanego kanału teleinformatycznego równa jest 56kb/sek. Jak należy ustawić parametry portu szeregowego dla tej komunikacji, aby uzyskać minimalny poziom błędu. Uzasadnić odpowiedź.
- synchroniczny jest tylko tryb 0
- częstotliwość pracy fxtal/12 (zawsze!!!)
- dopasować do kanału trzeba dobierając odpowiedni rezonator aby
prędkość transmisji była ≤ 56 kb/sek
W uK 8051 ustawiono na ten sam poziom ważności. Wskaźnik stanu SP ustawiono na wartość 10d. Przyszło przerwanie od licznika T0 i zostało przyjęte a następnie przerwanie zewnętrzne INT0. W programie obsługi przerwania od licznika T0 użyto dwukrotnie rozkazu PUSH oraz dwukrotnie rozkazu POP. Jaka będzie wartość wskaźnika stanu SP przed rozkazem RETI w programie obsługi przerwania od licznika T0
SP=10
Przyjęcie od T0 SP=12
(zgłoszenie INT0=12)
Obsługa przerwania T0
PUSH SP=13
PUSH SP=14
…
POP SP=13
POP SP=12
RETI SP=10
ODP. SP=12 BO MIAŁO BYĆ PRZED RETI !!!