Intel 8051 - Opracowanie PDF

Title Intel 8051 - Opracowanie
Course Mikroprocesory
Institution Politechnika Poznanska
Pages 5
File Size 196.9 KB
File Type PDF
Total Downloads 50
Total Views 147

Summary

Opracowanie i charakterystyka Mikrokontrolera Intel 8051
Organizacja i budowa pamięci
Co to jest system nakładkowy
Magistrala adresowa, danych, sterująca
Tryby adresowania
Układy czasowo licznikowe...


Description

INTEL 8051 Ad.1 Organizacja i budowa pamięci Wewnętrzna pamięć RAM mikroprocesora intel 8051 składa się z dwóch bloków: - pamięć rejestrów specjalnych (górny obszar pamięci - 128 bajtów) - pamięć danych (dolny obszar pamięci - 128 bajtów);

Wybór banku odbywa się za pomocą odpowiedniego ustawienia bitów RS1 i RS0. W wewnętrznej pamięci danych umieszczony jest również stos, wykorzystywany do zapamiętywania adresów powrotów z procedur oraz jako podręczna pamięć danych.

Intel 8051 posiada też 4kB pamięć programu typu ROM (tylko do odczytu), w której znajdują się kody operacji przeznaczone do wykonywania przez mikroprocesor. Istnieje również możliwość podłączenia zewnętrznej pamięci RAM o wielkości 64kB, gdzie mogą być umieszczane dane lub fragmenty rozkazów programu, gdy rozmiar pamięci programu jest niewystarczający. Ad.2 Co to jest system nakładkowy Program nakładkowy - program komputerowy napisany w ten sposób, że możliwe jest jego wykonanie pomimo że jego objętość jest większa niż dostępna pamięć operacyjna. Program taki składa się z części sterującej oraz nakładek. W każdej chwili w pamięci operacyjnej znajduje się część sterująca oraz przynajmniej jedna z nakładek. Pozostałe nakładki przechowywane są w pamięci zewnętrznej i na żądanie "zarządcy" wymieniane przez system operacyjny. Ad.4 Magistrala adresowa, danych, sterująca Magistrala adresowa: Na 16-bitowej magistrali adresowej procesor wystawia adresy komórek pamięci programu z której pobiera rozkazy, a także adresy rejestrów układów peryferyjnych. Młodszy bajt wystawiany jest na porcie P0, starszy na porcie P2. Magistrala adresowa jest jednokierunkowa, adres jest wystawiany zawsze przez procesor. Jest to wspólna magistrala dla wszystkich zewnętrznych przestrzeni adresowych. Magistrala danych: 8-bitowa magistrala danych jest dwukierunkowa, dane wysyłane przy pomocy portu P0. Przy operacji odczytu dane są transmitowane do procesora, przy zapisie – z procesora. Jest to również wspólna magistrala dla wszystkich zewnętrznych układów tworzących system mikrokomputerowy. Magistrala sterująca: Magistrala ta składa się z kilku sygnałów, które określają kierunek transmisji danych, wybierają przestrzeń adresową oraz synchronizują pracę układów pamięciowych i peryferyjnych. Do magistrali tej zaliczyć można także sygnały przerwań. Do wysyłania sygnałów sterujących służy port P3 mikroprocesora. W bardziej rozbudowanych systemach w skład magistrali sterującej wchodzą także dodatkowe sygnały sterujące pracą procesora. Ad.5 Tryby adresowania a) Rejestrowe - operandem instrukcji jest jeden z rejestrów R0..R7 z aktywnego banku rejestrów, akumulator, rejestr B lub wskaźnik danych DPTR. Przykład instrukcji: MOV A,#33h; ADD R0, A b) Bezpośrednie - operand jest jawnie podanym 8-bitowym adresem rejestru SFR, rejestru dolnego obszaru RAM lub bitu adresowalnego bezpośrednio. Przykład instrukcji: ADD A,30h; MOV R0, 10h

c) Natychmiastowe - operand jest stałą (8 lub 16 bitową) umieszczoną w kodzie programu (pamięć ROM). Przykład instrukcji:

MOV A,#33h;

ADD R0, #5d

d) Pośrednie zawartością rejestru - adres jest określany za pomocą zawartości rejestru R0 lub R1 (z aktywnego banku) - odwołanie do przestrzeni 256 bajtów (obsługa wewnętrznej pamięci RAM). Przykład instrukcji: MOV A,@R1; ADD B, @R0 e) Pośrednie sumą zawartości rejestru bazowego i indeksowego - służy do kopiowania bajtu z wewnętrznej pamięci programu lub zewnętrznej pamięci RAM. Przykład instrukcji: Pamięć programu ROM: DPTR i zawartości A

MOVC A,@A+DPTR; adres efektywny będący sumą zawartości

Pamięć RAM zew.: MOVX A,@R0; przeniesienie do A zawartości komórki z zewnętrznej pamięci RAM o adresie wskazanym przez R0 MOVX @R0, A; przeniesienie do komórki w zewnętrznej pamięci RAM, o adresie wskazywanym przez R0, wartości z A

SFR - Special Function Registers Ad.3 Układy czasowo licznikowe W skład układów czasowo licznikowych wchodzą: a) liczniki T0 i T1 Mikrokontroler 8051 wyposażony jest w dwa układy licznikowe T0 i T1. Każdy z tych liczników składa się z dwóch ośmiobitowych połówek. Połówki te są widziane przez mikroprocesor jako rejestry specjalne TH0 i TL0 dla układu T0 oraz TH1 i TL1 dla układu T1. Każdy z obu liczników może pracować jako licznik (zlicza wówczas impulsy zewnętrzne) lub jako czasomierz (zlicza cykle maszynowe mikrokontrolera). Układy licznikowe mogą pracować w trybach 0, 1, 2 i 3. - Sterowanie trybami pracy i ich wybór ( 0,1,2,3) odbywa się za pomocą rejestrów TCON i TMOD. - Pracują jako licznik lub czasomierz. - Max. częstotliwość pracy w trybie licznika wynosi 1/24 częstotliwości zegara (detekcja opadającego zbocza). b) interfejs szeregowy UART (Universal Asynchronous Receiver Transmitter)

c) Licznik czuwający - watchdog •Przepełnienie licznika powoduje wyzerowanie kontrolera •Pozwala na prawidłowa prace systemu nawet po zawieszeniu programu (reset) •Projektant używając watchdog’a musi cyklicznie programowo (przed jego przepełnieniem) go zerować •Zależnie od typu układu różne sterowanie licznikiem watchdog (rejestry WCON lub WMCON) •W trybie (obniżonego poboru mocy) zamrożenia (Power Down) watchdog zatrzymuje sie Intel 8051 posiada dwa liczniki 16-bitowe – T0 i T1. Mogą one zliczać impulsy wewnętrznego zegara procesora, lub sygnały zewnętrzne doprowadzone z portów P3.4 i P3.5. Pracę liczników można kontrolować przy pomocy rejestrów:  TMOD (timer mode) – służy do ustawiania trybu pracy liczników.  Jest to rejestr 8-bitowy. Starsze cztery bity odpowiadają za T1, a młodsze za T0. Dla każdego licznika, posiada pola GATE, C/F, M1, M0.  GATE, jeśli jest ustawione na '1' włącza bramkowanie (czyli użycie bramki AND do kontroli przepuszczania sygnału) sygnału zewnętrznego z, odpowiednio do licznika, wejściem INT0 bądź INT1 (oba zanegowane).  C/F określa, czy licznik jest licznikiem czasu (zlicza takty zegara procesora), czy impulsu zewnętrznego – odpowiednio'0' i '1'.  M1 i M0 określają tryb pracy – '00' to tryb 0, '01' to tryb 1, '10' to tryb 2, '11' to tryb 3.  TCON (timer control) – służy do kontroli pracy liczników.  Jest to rejestr 8-bitowy. Poczynając od najstarszych bitów, zawiera bity TF1, TR1, TF0, TR0, IE1, IT1, IE0, IT0. Bity z nazwami kończącymi się na '1' odnoszą się do licznika T1, a kończące się na '0' odnoszą się do T0.  TFx – znaczniki przepełnienia liczników.  TRx – bity sterujące zliczaniem. '1' zliczanie, '0' zatrzymanie.  IEx, ITx – służą do sterowania systemem przerwań. Liczniki rozpoczynają zliczanie z poziomu programu, a nie od restartu procesora. Można ustawić wartość początkową. Liczniki liczą do pojawienia się przepełnienia. Właściwości układu liczniko-czasowego:  częstotliwość taktowania czasomierza jest 12 razy mniejsza od zegara wewnętrznego procesora,  liczniki pracują tak samo, niezależnie od źródła impulsów (wewnętrzne czy zewnętrzne),  uruchomienie Tx nastąpi po wstawieniu '1' do TRx,  zatrzymanie Tx nastąpi po wstawieniu '0' do TRx,  przepełnienie Tx sygnalizowane jest zapisem '1' do TFx w TCON i zgłoszeniem

    

przerwania z Tx, TFx może być testowane programowo (rozkaz JBC), TFx jest automatycznie zerowana po przyjęciu przerwania, obydwa liczniki są widzialne jako rejestry SFR (T0 – TH0 starsze 8CH, TL0 młodsze 8AH, T1 – TH1 starsze 8DH, TL1 młodsze 8BH), modyfikować wartość licznika można tylko po jego zatrzymaniu, dostęp odbywa się używając adresowania bezpośredniego.

Tryby pracy (0, 1, 2 – niezależne, 3 – wspólny):  tryb 0 – licznik jest 13-bitowy, trzy najmłodsze bity są nieokreślone, po przepełnieniu liczenie rozpoczyna się od 0,  tryb 1 – jak wyżej, tyle że licznik 16-bitowy,  tryb 2 – licznik 8-bitowy na ośmiu najmłodszych bitach, w najstarszych przechowywana jest wartość początkowa, od której zaczyna zliczanie oraz którą ładuje po przepełnieniu,  tryb 3 – T1 nie pracuje, jego zasoby wykorzystywane przez T0, poszczególne bajty licznika T0 działają jako niezależne liczniki 8-bitowe, starszy może być tylko czasomierzem, a młodszy może być czasomierzem albo licznikiem impulsów zewnętrznych....


Similar Free PDFs