2.pdf

(388 KB) Pobierz
442010639 UNPDF
Mikrokontrolery
• Mikrokontroler – układ scalony z wyspecjalizowanym mikroprocesorem, spełniający dwa
podstawowe kryteria
– Jest zdolny do autonomicznej pracy (w prostych zastosowaniach nie wymaga
przyłączania zewnętrznych układów pomocniczych)
– Ma rozbudowany system komunikacji z otoczeniem, zarówno przy użyciu sygnałów
cyfrowych jak i analogowych
• Elementy składowe mikrokontrolera:
– jednostka centralna
– pamięć
– układy we/wy
– układy do transmisji danych
– liczniki impulsów
– przetworniki ac/ca
– wbudowane układy programowalne
• Typy mikrokontrolerów – kilkadziesiąt
• 8. bitowa szyna danych – 8051 (Intel), 68HC08 (Motorola)
• 16. bitowa szyna danych – 80186, 68HC16
• 32. bitowa szyna danych – wbudowane mikroprocesory, ARM
Mikroprocesor a mikrokontroler
• Mikroprocesor
– szczątkowa pamięć danych – zbiór rejestrów
– brak wbudowanej pamięci programu
– brak wbudowanych układów we/wy i peryferyjnych
– lista instrukcji zaprojektowana pod obliczenia numeryczne i transmisję danych;
mikrokontrolery mają rozbudowane grupy instrukcji do obsługi urządzeń
peryferyjnych
1
442010639.002.png
Struktura jednostki centralnej mikrokontrolera (mikroprocesora)
Budowa wewnętrzna standardowego mikrokontrolera
Układ wykonawczy
• ALU – operacje arytmetyczne i logiczne
• Akumulator
• Rejestr przejściowy (tymczasowy)
• Rejestr wskaźników (warunków, flag, rejestr stanu)
Rejestr wskaźników i ich zastosowania
2
442010639.003.png
Struktura rejestrów ogólnego przeznaczenia (8051)
Asembler
• Instrukcja elementarna – operacja należąca do zbioru opisanego przez listę instrukcji
• Język asemblera (asembler, język maszynowy, język niskiego poziomu) – lista instrukcji
plus zbiór reguł dotyczących składni zapisu programu.
Formaty instrukcji
• Symboliczny zapis instrukcji; rodzaj operacji (mniemonik) i argumenty, np.:
ADD A, #3CH
Dodaj do akumulatora liczbę szesnastkową 3CH i umieść wynik w akumulatorze; # wskazuje, że
argument jest wartością liczbową dodajnika a nie jego adresem w pamięci
• Opis funkcjonalny – pokazuje jak przebiega wykonanie operacji, np.:
(A)*(A)+#3CH
Nawiasy okrągłe wskazują zawartość obiektu
• Program źródłowy – ciąg zapisanych symbolicznie instrukcji; wymaga tłumaczenia na
postać dwójkową
• Program wynikowy – program dwójkowy gotowy do wykonania - ciąg zakodowanych
dwójkowo instrukcji odpowiadających kolejnym instrukcjom programu źródłowego
• Reguła formatowania dwójkowego kodu instrukcji w pamięci: najpierw kod operacji a po
nim argumenty (dane lub adresy)
Warianty formatów instrukcji
Instrukcje mają zróżnicowaną długość: w układach 8 bitowych 1-3 bajtów, w układach 32.
bitowych nawet do 8 bajtów,
3
442010639.004.png
Tryb adresowania
• Tryb adresowania – sposób wskazywania argumentów w trakcie wykonywania instrukcji
• Typowe tryby
– Rejestrowy (implikowany, wewnętrzny)
– Natychmiastowy
– Bezpośredni
– Pośredni
– Indeksowy
– Względny
Adresowanie rejestrowe
• Instrukcje jednobajtowe, dla których operand i miejsce wyniku są określone przez słowo
rozkazowe.
Adresowanie natychmiastowe
Operand jest podany w jawnej postaci w kodzie instrukcji
Adresowanie bezpośrednie
• Po kodzie rozkazu jest adres argumentu
4
442010639.005.png
Adresowanie indeksowe
• Adres jest sumą zawartości rejestru indeksowego i adresu bezpośredniego
Adresowanie pośrednie
• Część adresowania instrukcji wskazuje na komórkę pamięci z adresem efektywnym
Adresowanie względne
• Adresowanie pamięci względem adresu aktualnie wykonywanej instrukcji w pamięci
programu znajdującego się w liczniku programu (liczniku rozkazów)
5
442010639.001.png
Zgłoś jeśli naruszono regulamin