80C51 pytania i odpowiedzi, elektro, 1, Podstawy Techniki Mikroprocesorowej


Dyrektywy 8051, do czego służy ORG?

ORG - adres określający początek segmentu

SET, CODE, DATA, XDATA, IDATA, EQU - Pozwala nadawać przypisywać nazwy symboliczne np. Portom, adresom, konkretnym wartościom.

END

Deklaracje segmentów: CSEG AT, DSEG AT, ISEG AT, XSEG AT, BSEG AT

Rezerwacje i inicjalizacje obszarów pamięci: DB, DW, DS, DBIT

Program do sterowania temperaturą pieca.

(wejścia: /HOT /INT0 P3.2; /COLD /INT1 P3.3 wyjście P1.7)

ORG 0

LMJP MAIN

P1: ORG O3H

CLR P1.7

RETI

ORG 13H

SETB P1.7

RETI

ORG 30H

MOV IE,#85H

SETB IT0 //wejścia przerwań są czułe na zbocze

SETB IT1

SETB P1.7

JB P3.2, SKOK

CLR P1.7

SKOK: SJMP $

END

LJMP, AJMP, SJMP, JMP - do czego służy, co robią w programie.

Instrukcje skoku. LJMP addr16 - do całego zakresu pamięci (0…FFFFh) zajmuje 3 bajty, AJMP arrd11- zakres pamięci 0 do 0FFFh, zajmuje 2 bajty; SJMP addr8 - sok względem obecnego położenia, skok jest wykonywany w zakresie -128 - 127, gdyż bajt adresu jest interpretowany jako liczba w U2, zajmuje 2 bajty, JMP @A+DPTR - skok względem wartości u umieszczonej w ACC.

8086 i 8051 - obsługa portów, czym się różnią

8051 - porty P0, P1, P2 I P3 są umieszczane w przestrzeni adresowej wewnętrznej pamięci danych jako rejestry specjalne. Ich bity są dostępne programowo. Odczytywanie i zapisywanie może się więc odbywać za pomocą dowolnych rozkazów z adresem bezpośrednim, dotyczących wewnętrznej pamięci danych, oraz za pomocą rozkazów wykonujących operacje na bitach. Dane przesłane do portu są zapisywane do buforowego rejestru wyjściowego i nie zmieniają się aż do chwili ponownego zapisania. Odczytywanie portu może odbywać się dwoma sposobami, przez pobranie danych z końcówek układu lub z rejestru buforowego. Każdy z portów (P0, P1, P2, P3) ma swój rejestr o określonym adresie tj. P080h, P190h, P2A0h, P3B0h.

8086 - obsługa potów odbywa się przy użyciu programowalnego elementy I/O równoległego 8255. Zawiera on 4 porty. Porty A, B, C które mogą być wejściem lub wyjściem oraz port control, który odpowiada za zaprogramowanie portów A, B, C (Mod 0, 1, 2 - I/O). Wymiana informacji między mikroprocesorem a konkretnym buforem odbywa się albo w drodze realizacji rozkazów IN i OUT, albo na drodze realizacji rozkazów czytania i pisania do pamięci. Wówczas przyporządkowuje się elementowi 8255 cztery komórki pamięci przestrzeni adresowej; trzy - dla bram A, B, C, czwartą - dla rejestru sterującego.

8255 z podłączoną klawiaturą - podać numer przerwań, które generuje, czy port A pracuje jako We/Wy, adres portów A, B, C i rejestru sterującego

7. x; 6. MA1; 5. MA0; 4. A; 3. CH; 2. MB; 1. B; 0. CL

(MA1, MA0 - wybór modu pracy A 0,1,2; MB - wybór modu pracy B; A, B, CH, CL - czy port ma być wejściem 1, czy wyjściem 0)

Wejście

7. I/O; 6. I/O; 5. IBF A; 4. /STB A; 3. INTR A; 2. /STB B; 1. IBF B; 0. INTR B

(INTR A, B - żądanie przerwania, ustawiane gdy /STB = 1, IBF =1, a zerowane na opadające zbocze /RD; IBF Input Buffer Full - sygnał zapełnienia wyjściowego rejestru zatrzaskowego; /STB Strobe - sygnał strobu, wpisujący danego do wejściowego rejestru zatrzaskowego)

Wyjście

7. /OBF B;6. /ACK B;5. I/O; 4. I/O;3. INTR A;2. /ACK B; 1. /OBF B; 0. INTR B

(INTR - żądanie przerwania; /OBF Output Buffer Full- sygnał zapełnienia wyjściowego rejestru zatrzaskowego; /ACK Acknowledge- sygnał przejścia przez elemant zewnętrznych danych z bramy.)

Stos. Napisać adresy i jak się zmienia, jak to tryb.

8051

Na stos są umieszczane dane 8-bitowe. Używamy polecenia PUSH i POP. Przy standardowych ustawieniach SP jest ustawione na 7, czyli wskazuje ostatni rejestr banku 0. Jeśli używamy innego banku niż 0 musimy zmienić SP. Przy PUSH SPSP+1, a następnie zawartość komórki adresowanej bezpośrednio umieszczana jest w kom wskazywanej przez SP (SP)direct. Dzięki temu kolejne rozkazy umieszczane są w kolejnych komórkach pamięci, w SP zawsze wskazuje na ostatnio położona wartość. POIP działa odwrotnie. direct(SP), a potem SPSP-1.

8086

PUSH r, [e], s PUSF; POP r, [e], s POPF. Nie można przesyłać na stos argumentu bezpośrednio. Na stos przesyłane są tylko dane 16-bitowe. I tak przy PUSH SPSP-2, M(SP):=scr; POP dst:=M(SP), SPSP+2. Również rejestr znaczników może być zapamiętany na stosie rozkazem PUSHF i pobrana POPF.

DMA - co to jest, opisać sterownik.

DMA (Direct Memry Akces) Technika, w której specjalizowany układ może przejąć kontrolę nad szynami systemu i przesłać dane pomiędzy pamięcią i urządzeniem peryferyjnym bez udziału procesora.

Operacje we-wy z pośrednim sterowaniem przez procesor charakteryzują się tym że:

8086 ALE - do czego służy?

ALE (Adress latch enable) - sygnał wytwarzany prze kontroler magistrali 8288, informuje o ustabilizowaniu adresu na magistrali adresowej, co jest jednocześnie poleceniem dla układów kart rozszerzenia, ze należy podjąć dekodowanie adresu i próbę dopasowania go do własnej przestrzeni adresowej.

/BHE ÷ A0 w 8086 - co to jest?

/BHE (bus high enable) - zezwala na podanie na magistralę danych bardziej znaczącego bajtu słowa 16-bitowego. Sygnał ten umożliwia przesyłanie między pamięcią a mikroprocesorem słowa 16-bitowego o parzystym adresie w jednym cyklu magistrali (mimo iż mikroprocesor 8086 adresuje słowo 8-bitowe pamięci), zgodnie z: /BHE=0 i A0=0 - prześlij słowo 16-bitowe (adres parzysty), /BHE=0 i A0=1 - prześlij bardziej znaczący bajt (adres nieparzysty), /BHE=1 A0=0 - prześlij mniej znaczący bajt (adres parzysty). Chcąc odczytać z pamięci pojedynczy bajt, mikroprocesor steruje linię /BHE tak, aby było BHE=A0. wówczas przy A0=0 liniami D0-D7 jest przesyłany mniej znaczący bajt (adres parzysty), a przy A01 = 1 liniami D8-D15 - bardziej znaczący bajt (adres nieparzysty).

Co zawierają wektory przerwań w 8086, gdzi są zlokalizowane.

W 8086 mamy: PRZERWANIA ZEWNĘTRZNE - ich przyczyną są sygnały doprowadzane z urządzeń zewnętrznych do wejść przerywających INTR i NMI; PRZERWANIA WEWNĘTRZNE - których przyczyna jest zajście pewnego zdarzenia wewnątrz mikroprocesora. Zdarzenia te są następujące: dzielenie przez zero (lub liczbę za małą, tak, ze wynik przekracza zakres), powstanie nadmiaru, wykonanie kolejnego rozkazu w trybie pracy krokowej, wykonanie rozkazu przerwania programowego. Każda przyczyna przerwania ma swój numer (identyfikator, przyjmujący wartości z zakresu 0…255. Dla przerwań wewnętrznych i przerwania niemaskowalnego jest on stały. Dla przerwań zewnętrznych maskowanych podczas sekwencji przyjęcia przerwania, w odpowiedzi na INTA, identyfikator musi być dostarczony przez urządzenie zewnętrzne. Adresy programów obsługi SA umieszczone w tablicy o rozmiarze 1KB, znajdującej się na początku przestrzeni adresowej (adres 000h…3FFh) - jest to tzw. tablica wektorów przerwań. Przyczynie przerwania o numerze n odpowiadają dwa słowa 16-bitowe, umieszczone w pamięci pod adresem 4n i 4n+2 zawierające adres początku programu obsługi. Adres ten jest wpisywany do licznika rozkazów PC i rejestru segmentu programu CS. Przyjęcie przerwania polega na: * zapisaniu na stosie zawartości rejestru znaczników F, rejestru segmentu programu CS i licznika rozkazów PC; ** wyzerowaniu znaczników zezwolenia na przerwanie I oraz pułapki T; *** wpisaniu adresu początku programu obsługi do CS i PC. Rozkaz powrotu z przerwania IRET powoduje przepisanie trzech kolejnych slów z wierzcholka stosu do PC, CS i F.

Procedura przerwania:

  1. Interfejs wysyła żądanie przerwania.

  2. mikroprocesor wysyła akceptację przerwania po ukończeniu bieżącego rozkazu.

  3. N (typ przerwania) jest wysyłane do mikroprocesora.

  4. bieżące PSW, CS, IP na stos.

  5. flaga IF wyzerowana (zlikwidowano zezwolenie na przerwania) Interupt Flag

  6. zawartośc komórki pamięci (4N)IP (4N+2)CS

  7. skok z programu głównego do podprogramu obsługi przerwania.

  8. w podprogramie obsługi przerwania można ustawić zezwolenie na przerwanie.

  9. rozkaz IRET kończący przerwanie wyciąga ze stosu IP, CS, PSW.

Obsługa przerwania 8051

  1. dokończenie bieżącego rozkazu

  2. PC zapamiętane na stosie

  3. zostaje zapamiętany priorytet przerwania i inne o tym samym priorytecie zablokowane

  4. rejestr PC zostaje załadowany wektorem przerwań i flagą żądania przerwania (jeżeli była ustawiona na zbocze, zostaje wyzerowana)

  5. program obsługi przerwania jest wykonywany, na końcu tego programu jest RETI 9powrót z przerwania) - przywraca on starą wartość PC ze stosu - odblokowanie przerwań z grupy o tym samym priorytecie.

Zamiana short real na liczbę dziesiętną.

100,25

1. Zamiana liczby dziesiętnej na binarną. 1100100,01

2. Normalizujemy liczbę binarną 1,10010001*26

3. Obliczamy E E - 127 = 6 0111 1111 + 0110 = 1000 0101

4. Zapisujemy naszą liczbę w formacie zmiennoprzecinkowym 0|100 0010 1|100 1000 10x15 (42C88000).

Jak się adresuje 8052?

Do czego służy rejestr IP w 8086?

IP - Instruction Pointer - służy do adresowania pamięci. Szesnastobitowy adres służy do adresowania 216 pamięci, tzn. 64 KB.

Ile bajtów ma strona pamięci INTEL'A?

Każda strona pamięci ma 4 kB. Adresowane od 0000h do 1FFFh i dalej 2000h do 3FFFF itd.

Ile bajtów może adresować 8086?

Można adresować 220 czyli 1 MB.

Tryb adresowania 8051.

Tryb REJESTROWY - Obsługuje R0 - R7 z wybranego banku rejestrów, ACC, B CY (bit), DPTR; BEZPOŚREDNI - obsługuje wewnętrzną pamięć RAM, obszar rejestrów specjalnych; POŚREDNI REJESTROWY - wewnętrzna pamięć RAM (@R0, @R1, SP), zewnętrzna pamięć danych (@R0, @R1, @DPRT); NATYCHMIASTOWY - obsługuje pamięć programu; INDEKSOWY - pamięć programu (@A+DPTR, @A+PC)

Z wykładu: register, direct, indirect, immediate, relative, absolute, long, index.

Tryb adresowania 8086

Immediate (MOV AX, 44h); Direct (MOV AL, liczba); Register (MOV AX, BX); Register indirect (MOV [BX], AX); Register relative (MOV [BX+4], AX); Bared relative (OV [BX+SI], AX), Relative bared indexed (MOV ARRAY[BX+SI], AX).

8051 - rejestry specjalne

PSW: 7. CY - przeniesienie; 6. AC - przeniesienie pomocnicze; 5. F0 - ; 4. 3. RS1, RS0 - wybór banku; 2. OV - overflow; 1. programowalny; 0. P - bit parzystości.

P3: 7. /RD; 6. /WR; 5. T1; 4. T0; 3. /INT1; 2. /INT0; 1. TxD; 0. RxD;

IE: 7. EA; 6,5 wolne; 4. ES; 3. ET1; 2. EX1; 1. ET0; EX0;

SCON: 7,6. SM0, SM1 - ustawienie trybu pracy transmisji; 5. SM2 - sterowanie komunikacji wieleprocesorowej; 4. REN - zwolnienie na odbiór; 3,2. TB8, RB8 - 8 bit transmisji w trybie 2 i 3; 1,0. TI, RI - flagi

TMOD: GATE, C/T, M1, M0, - Timer 1; GATE, C/T, M1, M0, - Timer 0;

TCON: TF1, TR1, TF0, TR0, IE1, IT1, IE0, IT0.

8155

Command Reg

TM2, TM1, IEB, IEA, PC2, PC1, PB, PA

Status Reg

X, Timer, INTE B, BBF, INTR B, INTE A, ABF, INTR A

Port C

7, 6, I/O; 5. B /STB; 4. BBC; 3. B INTR; 2. A/STB; 1. ABF; 0. A INTR

8086

Rejestry robocze:

AX - akumulator; BX - rejestr bazowy; CX - rejestr zliczjący; DX - rejestr danych; SP - wskaźnik stosu; BP - wskaźnik bazowy; SI - rejestr indeksowy źródła; DI - rejestr indeksowy odbiorcy;

Rejestr F:

15, 14, 13, 12 - wolne; 11. V - nadmiar; 10. D - kierunek; 9. I - zezwolenie na przerwanie; 8. T - pułapka; 7. S - znak; 6. Z - zero; 5. - wolny, 4. A - przeniesienie pomocnicze; 3. wolne; 2. P - parzystość; 1. wolne; 0. C - przeniesienie.

Rejestry segmentów:

CS - rejestr segmentu programu; DS. - rejestr segmentu danych; SS - rejestr segmentu stosu; ES - rejestr segmentu dodatkowego.

Różnice między segmentacją a stronicowaniem 80386

Stronicowanie - odwzorowuje przestrzeń wirtualną w pole pamięci RAM i pamięć masową. Odwzorowanie to dobywa się za pośrednictwem małych porcji zwanych stronami. Rozmiar stron jest stały i wynosi standardowy 4kB i rozszerzony 4MB. Procesro może, ale nie musi korzystać z mechanizmy stronicowania. Bit PG w rejestrze CR0 odpowiada za używanie stronicowania.

W pierwszej fazie odbywa się proces segmentacji. 16-bitowy selektor segmentu wskazuje na rekord adresowy w tablicy deskryptorów. Do uzyskanego w ten sposób adresu podstawy dodaje się 32-bitowe przesunięcie. Dopiero teraz generowany adres liniowy podlega transformacji na fizyczny adres obiektu. Wygląda to następująco: 32-bitowe słowo adresowe podzielone jest na trzy grupy. W pierwszych dziesięciu najstarszych bitach przechowywany jest numer rekordu w katalogu stron. Katalog zawiera 1024 takich rekordów, a każdy z nich wskazuje na tablicę stron. Pierwszy rekord w katalogu stron wskazuje adres bazowy tablicy stron o numerach 0-1023, drugi dotyczy tablicy 1024-2047, a ostatni odnosi się do tablicy o numerach 1047552-1048575. 10 kolejnych bitów adresu liniowego wskazuje na jeden z 1024 rekordów danej tablicy. Same rekordy w tablicach stron stanowią z kolei wskaźnik stron, z których każda ma wymiar 4kB. Adresowany obiekt ulokowany jest w Obrębie danej strony. Jego dokładną pozycję ustala się na podstawie pola Offset - dwunastu najmłodszych bitów adresu liniowego.

Do czego służą rejestry segmentów, co to jest deskryptor i jak się go stosuje.

Rejestr segmentowy stanowi selektor segmentu, a nie wprost jego adres. 13 najstarszy pozycji tego rejestru stanowi wskaźnik do 8-bitowej struktury opisujące dany segment. Z pozostałych trzech bitów dwa poświęcone zostały na implementację czteropoziomowego systemu praw dostępu do segmentu, a jeden określa, czy wspomniany wyżej wskaźnik odnosi się do tzw. tablicy lokalnej czy globalnej. Rekordami Rekordami tych tablicach są właśnie deskryptory segmentów. Każdy zz nich zawiera jednoznaczną informację o lokalizacji segmentu w pamięci i jego rozmiarach. Rozmiarach ten sposób definiowany jest spójny obszar o adresie początkowym wyznaczanym liczbą 32-bitową. Na liczbą określającą rozmiar takiego bloku przeznaczone zostało pole 20-bitowe. Istnieją dwie możliwości implementowania liczby w tym polu. W trybie 1:1 (granulacja 1 B) rozmiar max wynosi 220 = 1MB. Gdyby jednak przyjąć jednostką 4 kB (granulacja 4kB) rozmiar segmentu może siągać do 220*212 = 4GB. Informacja o tym, która z konwencji obowiązuje zawarta jest w deskryptorze. Adres logiczny, do którego odwołuje się 32-bitowy procesor, budowany jest ze złożenia zawartości 16-bitowego rejestru segmentowego segmentowego 32-bitowego rejestru przesunięcia. Adres fizyczny = 16*Segment +Offset.



Wyszukiwarka

Podobne podstrony:
zadania egzaminacyjne dzienne (PTM), elektro, 1, Podstawy Techniki Mikroprocesorowej
zadania egzaminacyjne zaoczne 2006 07 (PTM), elektro, 1, Podstawy Techniki Mikroprocesorowej
Egzamin z PTC podst kombinacyjne, elektro, 1, Podstawy Techniki Mikroprocesorowej
Egzamin z PTC Nisko, elektro, 1, Podstawy Techniki Mikroprocesorowej
egzamin z TC 2, elektro, 1, Podstawy Techniki Mikroprocesorowej
Układ sterowania fazowego na mikroprocesorze, elektro, 1, Podstawy Techniki Mikroprocesorowej
zadania egzaminacyjne zaoczne (PTM), elektro, 1, Podstawy Techniki Mikroprocesorowej
ściąga z lab, Elektrotechnika, Podstawy techniki mikroprocesorowej, laboratorium
zadania egzaminacyjne dzienne (PTM), elektro, 1, Podstawy Techniki Mikroprocesorowej
PODSTAWY TECHNIK MIKROPROCESOROWYCH, Studia Pwr INF, Semestr IV, PTM
Podstawy techniki mikroprocesor Nieznany
Pytania na zaliczenie Podstaw Technik Wytwarzania , Pytania na zaliczenie Podstaw Technik Wytwarzani
Matura z fizyki ( 10 ) pytania i odpowiedzi ! Poziom podstawowy i rozszerzony Musisz to mieć !x
Podstawy techniki mikroprocesorowej, rozdzial 2 i 3
TECHNIKA CYFROWA - sprawko lab 1, Studia, PWR, 4 semestr, Podstawy techniki mikroprocesorowej, labor
Zarządzanie Strategiczne - Pytania i Odpowiedzi, Wojskowa Akademia Techniczna - Zarządzanie i Market
PODSTAWY TECHNIK MIKROPROCESOROWYCH, Studia Pwr INF, Semestr IV, PTM

więcej podobnych podstron