Mikrokontroler ATmega32. Tryby adresowania Rejestry funkcyjne

Podobne dokumenty
Mikrokontrolery AVR ATmega

Podstawy techniki mikroprocesorowej. Dr inż. Grzegorz Kosobudzki p.311a A-5. Tel

Systemy wbudowane Mikrokontrolery

Architektura Systemów Komputerowych. Jednostka ALU Przestrzeń adresowa Tryby adresowania

Mikroprocesory i Mikrosterowniki

Podstawy Techniki Mikroprocesorowej

Architektura komputerów

Technika mikroprocesorowa I Studia niestacjonarne rok II Wykład 2

Mikroprocesory i mikrosterowniki

MOŻLIWOŚCI PROGRAMOWE MIKROPROCESORÓW

Technika mikroprocesorowa I Wykład 2

Mikrokontroler ATmega32. System przerwań Porty wejścia-wyjścia Układy czasowo-licznikowe

Struktura i działanie jednostki centralnej

PROGRAMOWALNE SYSTEMY MECHATRONIKI

Mikrokontrolery AVR ATmega

Schemat blokowy procesora rdzeniowego ATmega16. Głównym zadaniem JC jest zapewnienie poprawnego i szybkiego wykonywania programu.

Kurs EXPERT S5-115U. Spis treci. Dzie 1. I Sterowniki SIMATIC S5 - konfiguracja sprztowa PLC 115U (wersja 0604)

Akademia Górniczo- Hutmicza w Krakowie Katedra Elektroniki WIET

Sterowanie multipleksowe 4-cyfrowego wyświetlacza siedmiosegmentowego w oparciu o system przerwao mikrokontrolera ATmega16 w języku Asembler

Spis treœci. Co to jest mikrokontroler? Kody i liczby stosowane w systemach komputerowych. Podstawowe elementy logiczne

Podstawy Techniki Mikroprocesorowej

Techniki mikroprocesorowe i systemy wbudowane

Architektura komputerów

1. Struktura urządzeń z wykorzystaniem mikrokontrolerów...13

Programowanie mikrokontrolerów. 5 grudnia 2007

Wstęp Zagadnienia ogólne... 11

Architektura komputerów. Asembler procesorów rodziny x86

Mikroinformatyka. Wielozadaniowość

Układ sterowania, magistrale i organizacja pamięci. Dariusz Chaberski

Logiczny model komputera i działanie procesora. Część 1.

architektura komputerów w 1 1

Programowanie mikrokontrolerów. 8 listopada 2007

Organizacja typowego mikroprocesora

Język programowania: Lista instrukcji (IL Instruction List)

Liczniki, rejestry lab. 08 Mikrokontrolery WSTĘP

MIKROPROCESORY I MIKROKONTROLERY INSTRUKCJE / KOMENDY / ROZKAZY: PRZEGLĄD I KILKA PRZYKŁADÓW DLA PRZYPOMNIENIA, GŁÓWNE REJESTRY ROBOCZE CPU:

Architektura komputerów

Sprzęt i architektura komputerów

Mikroprocesory i mikrosterowniki

organizacja procesora 8086

ARCHITEKTURA PROCESORA,

Układ wykonawczy, instrukcje i adresowanie. Dariusz Chaberski

Systemy mikroprocesorowe

Adresowanie obiektów. Adresowanie bitów. Adresowanie bajtów i słów. Adresowanie bajtów i słów. Adresowanie timerów i liczników. Adresowanie timerów

Mikroprocesory i technika mikroprocesorowa

Akademia Górniczo-Hutnicza w Krakowie Katedra Elektroniki

CPU architektura i rejestry

Lista rozkazów mikrokontrolera 8051

Spis treci. Dzie 1. I Omówienie sprztu serii S7-300/400 (wersja 0904) II Instalacja urzdze S7 (wersja 0807) Kurs Diagnostyka Zaawansowana S7

Lista instrukcji mikroprocesora Programowanie w assemblerze

Lista instrukcji procesora 8051 część 2 Skoki i wywołania podprogramów, operacje na stosie, operacje bitowe

. III atyka, sem, Inform Symulator puterów Escape rchitektura kom A

Programowanie Niskopoziomowe

Systemy wbudowane. Przykłady kodu Assembler

Programowanie niskopoziomowe

Programowanie Niskopoziomowe

Architektura komputerów. Komputer Procesor Mikroprocesor koncepcja Johna von Neumanna

Kurs Zaawansowany S7. Spis treści. Dzień 1

Procesor ma architekturę rejestrową L/S. Wskaż rozkazy spoza listy tego procesora. bgt Rx, Ry, offset nand Rx, Ry, A add Rx, #1, Rz store Rx, [Rz]

2 Literatura. c Dr inż. Ignacy Pardyka (Inf.UJK) ASK MP.02 Rok akad. 2011/ / 24

Opis procedur asemblera AVR

Język FBD w systemie Concept

Podstawy techniki cyfrowej Mikroprocesory. Mgr inż. Bogdan Pietrzak ZSR CKP Świdwin

Akademia Górniczo-Hutnicza w Krakowie Katedra Elektroniki

Wprowadzenie do architektury komputerów. Model programowy procesora i jego struktura Procesory CISC i RISC

Architektura komputerów

Zarządzanie zasobami pamięci

Zadanie Zaobserwuj zachowanie procesora i stosu podczas wykonywania następujących programów

NOTATNIK KONSTRUKTORA

Mikrokontroler ATmega32. Język symboliczny

Programowanie na poziomie sprzętu. Tryb chroniony cz. 1

TMiK Podstawy Techniki Mikroprocesorowej. Lidia Łukasiak

4 Literatura. c Dr inż. Ignacy Pardyka (Inf.UJK) ASK MP.01 Rok akad. 2011/ / 24

Poradnik korzystania z serwisu UNET: Dostp do poczty elektronicznej ze strony WWW

2. Architektura mikrokontrolerów PIC16F8x... 13

petla:... ; etykieta określa adres w pamięci kodu (docelowe miejsce skoku) DJNZ R7, petla

Architektura komputera. Cezary Bolek. Uniwersytet Łódzki. Wydział Zarządzania. Katedra Informatyki. System komputerowy

Architektura komputerów

MIKROKONTROLERY I MIKROPROCESORY

Metody Realizacji Języków Programowania

Architektura komputera. Dane i rozkazy przechowywane są w tej samej pamięci umożliwiającej zapis i odczyt

Elementy składoweµc - przypomnienie

Kurs Podstawowy S7. Spis treści. Dzień 1

LABORATORIUM PROCESORY SYGNAŁOWE W AUTOMATYCE PRZEMYSŁOWEJ. Zasady arytmetyki stałoprzecinkowej oraz operacji arytmetycznych w formatach Q

Magistrala systemowa (System Bus)

Język programowania: Lista instrukcji (IL Instruction List) Wykład w ramach przedmiotu: Sterowniki programowalne Opracował dr inż. Jarosław Tarnawski

Wstęp Architektura... 13

Programowanie mikrokontrolerów. 8 listopada 2007

Mikrokontroler 80C51

AGH Akademia Górniczo-Hutnicza w Krakowie Katedra Elektroniki

Politechnika Warszawska

Pytania. W obecnie wykorzystywanych komputerach osobistych jest stosowana architektura: jednoszynowa. pamięciowo-centryczna.

Schemat blokowy architektury AVR

Wprowadzenie do Architektury komputerów. Asembler procesorów rodziny x86

Sprzęt i architektura komputerów

Architektura Systemów Komputerowych

Systemy mikroprocesorowe

ARCHITEKRURA KOMPUTERÓW Kodowanie liczb ze znakiem

Charakterystyka mikrokontrolerów. Przygotowali: Łukasz Glapiński, Mateusz Kocur, Adam Kokot,

Notatka Aplikacyjna NA 03006PL Maj 2016

Transkrypt:

Mikrokontroler ATmega32 Tryby adresowania Rejestry funkcyjne 1

Rozrónia si dwa główne tryby: adresowanie bezporednie i porednie (jeli jeden z argumentów jest stał, ma miejsce take adresowanie natychmiastowe) Przestrzenie adresowe pamici programu i danych s rozdzielone W przestrzeni pamici danych s umieszczone rejestry robocze i funkcyjne (I/O) 2

- przestrzenie adresowe Z punktu widzenia instrukcji transferu danych w architekturze AVR mona rozróni trzy przestrzenie adresowe: Przestrze pamici programu (spm, lpm) Przestrze pamici danych (ld, st, ) Przestrze wejcia-wyjcia (in, out) 3

- adresowanie pamici danych Adresowanie bezporednie Adres argumentu jest umieszczony bezporednio w kodzie instrukcji jest wartoci stał Wykorzystuj to instrukcje transferu danych: lds odczyt danej z pamici sts zapis danej do pamici Przykład: lds R0,0x006A ;ładuj rejestr R0 zawartoci ;komórki pamici SRAM o adr. 0x006A 4

- adresowanie pamici danych Adresowanie porednie Adres argumentu jest znajduje si w jednym z trzech 16-bitowych rejestrów indeksowych X, Y lub Z Wykorzystuj to instrukcje transferu danych: ld odczyt danej z pamici st zapis danej do pamici Przed uyciem tego trybu adresowania adres musi by zapisany do odpowiedniego ejestru indeksowego (pary rejestrów roboczych) Ten tryb adresowania wspiera uycie wskaników w jzykach wysokiego poziomu 5

- adresowanie pamici danych Adresowanie porednie Przykład: ldi XH, 0 ldi XL, 0x6A ld R0, X st X, R1 ;ładuj MSB adresu do rej. X ;ładuj LSB adresu do rej. X ;ładuj rejestr R0 zawartoci ;komórki pamici SRAM o adr. ;Zapisanym w X ;zapisz rejestr R1 w komórc pamici ;o tym samym adresie 6

- adresowanie pamici danych Adresowanie porednie z postinkrementacj Polega na zwikszeniu o jeden wartoci zapisanej w jednym z trzech rejestrów indeksowych X, Y lub Z po wykonaniu instrukcji transferu danych W asemblerze jest reprezentowane znakiem + po nazwie rejestru indeksowego Przyspiesza kopiowanie bloków pamici Przykład: ld R2, Y+ ;ładuj rejestr R2 zawartoci komórki pamici ;wskazywanej przez Y i przesu wskanik ;o jeden 7

- adresowanie pamici danych Adresowanie porednie z predekrementacj Polega na zmniejszeniu o jeden wartoci zapisanej w jednym z trzech rejestrów indeksowych X, Y lub Z przed wykonaniem instrukcji transferu danych W asemblerze jest reprezentowane znakiem - przed nazw rejestru indeksowego Przyspiesza kopiowanie bloków pamici Przykład: ld R0, -Z ; przesu wskanik Z o -1 i ładuj rejestr R0 ; zawartoci komórki pamici wskazywanej ; przez Z 8

- adresowanie pamici danych Adresowanie porednie z przemieszczeniem Adres jest wyznaczany przez dodanie do zawartoci rejestru indeksowego Y lub Z stałej z zakresu 0 63, zawarto samego rejestru nie ulega zmianie Wykorzystuj to instrukcje transferu danych: ldd odczyt danej z pamici std zapis danej do pamici Adres zapisany w rejestrze indeksowym jest traktowany jako adres bazowy, np. pocztek tablicy Przykład: std Y+5, R3 ; zapisz zawarto rejestru R3 ; do pitej komórki pamici powyej ; bazy wskazywanej przez rejestr Y 9

- adresowanie rejestrów roboczych Adres rejestru wyznacza jego nazwa odpowiada to adresowaniu implikowanemu w ogólnej klasyfikacji Przykład: clr R0 ;zeruj rejestr R0 W instrukcjach transferu dostp do rejestrów roboczych mona uzyska tak jak do komórek pamici (s wmapowane w przestrze pamici danych) 10

- adresowanie przestrzeni I/O Adresowanie rejestrów funkcyjnych urzdze wejcia-wyjcia jest moliwe na dwa sposoby: - jako adresowanie komórek pamici (rejestry s wmapowane w przestrze pamici danych) - przez bezporednie adresowanie w przestrzeni wejcia-wyjcia w instrukcjach in i out Drugi sposób adresowania pozwala na szybszy dostp do rejestru Adres rejestru funkcyjnego w przestrzeni pamici danych jest przesunity o 32 pozycje wzgldem jego adresu I/O, wynika to z mapowania rejestrów roboczych w tym zakresie adresów 11

- adresowanie przestrzeni I/O Przykład: in R0, SREG statusu lds R0, SREG+0x20 instrukcji ;ładuj rejestr R0 zawartoci rej. ;odpowiada poprzedniej 12

- adresowanie pamici programu Adresowanie stałych Jest uywane do odczytu stałych wartoci np. napisów, z pamici FLASH oraz przeprogramowywania tej pamici Wykorzystywany jest tutaj ryb adresowania poredniego (opcjonalnie z postinkrementacj) z uyciem rejestru Z Jest stosowane w instrukcjach: lpm odczyt z pamici programu spm zapis do pamici programu (element procesu programowania pamici) Podczas odczytu pami programu jest adresowana bajtowo adres stałej otrzymuje si przez pomnoenie adresu komórki pamici przez 2 i ew. dodanie 1 13

- adresowanie pamici programu Adresowanie stałych Przykład: ldi ZH, high(stala*2+1) ;ładuj MSB wskanika ;adresem stałej ldi ZL, low(stala*2) ;ładuj LSB wskanika ;adresem stałej lpm R0, Z ;ładuj rejestr R0 stał z pamici ;programu Stala:.dw 0x12AB ;deklaracja stałej 14

- adresowanie pamici programu Adresowanie skoków Dostpne s trzy tryby adresowania podczas skoków i wywoła podprogramów: 1. bezporedni 2. poredni 3. wzgldny 15

- adresowanie pamici programu Adresowanie bezporednie skoków i wywoła Adres docelowy jest podawany jako stała 16-bitowa w kodzie instrukcji jmp lub call Przykłady: jmp etykieta1 call pierwiastek ;wykonaj skok do miejsca ;oznaczonego etykiet ;wywołaj procedur pierwiastek Ten tryb adresowania pozwala na wykonanie skoku w obszarze 64kB pamici programu 16

- adresowanie pamici programu Adresowanie porednie skoków i wywoła Adres docelowy znajduje si w rejestrze indeksowym Z. Tryb jest wykorzystywany w instrukcjach ijmp oraz icall Przykłady: ldi ZH, high(potega) ldi ZL, low(potega) icall ;załaduj MSB adresu procedury ;załaduj LSB adresu procedury ;wywołaj procedur Ten tryb adresowania pozwala na tworzenie wskaników do funkcji i procedur w jzykach wysokiego poziomu 17

- adresowanie pamici programu Adresowanie wzgldne skoków i wywoła Adres docelowy jest wyznaczany przez dodanie stałej z zakresu -2048 2047 do aktualnej wartoci licznika programu w kodzie instrukcji rjmp lub rcall Przykłady: pierwiastek: rcall pierwiastek ;pocztek procedury ;wywołaj procedur pierwiastek Ograniczenie zakresu skoku do 2k słów powoduje, e nie zawsze mona uy tego trybu adresowania 18

Podstawowe rejestry funkcyjne Rejestr statusu SREG Stan bitów tego rejestru jest wynikiem ostatniej operacji wykonywanej przez ALU Wartoci poszczególnych bitów s warunkami wykonania skoków warunkowych Wywołanie poprogramu i przyjcie przerwania nie zapisuje na stosie tego rejestru (programista musi to wykona samodzielnie w procedurze) 19

Podstawowe rejestry funkcyjne Rejestr statusu SREG - nazwy bitów: 20

Podstawowe rejestry funkcyjne Znaczenie poszczególnych bitów rejestru SREG: Bit 7 I: globalne zezwolenie na przerwania Bit 6 T: podrczna pami w operacjach na bitach Bit 5 H: przeniesienie połówkowe Bit 4 S: bit znaku Bit 3 V: znacznik przekroczenia zakresu liczb U2 Bit 2 N: znacznik wartoci ujemnej w kodzie U2 Bit 1 Z: znacznik wartoci równej 0 Bit 0 C: znacznik przekroczenia zakresu liczb NBC 21

Podstawowe rejestry funkcyjne Wskanik stosu SPH:SPL Jest stosowany do adresowania pamici w obszarze stosu Jest wykorzystywany podczas: - odkładania danych na stos za pomoc instrukcji push i zdejmowania danych ze stosu za pomoc instrukcji pop - podczas wywoływania i powrotów z procedur Odkładanie danych lub wywołanie programu powoduje dekrementacj wskanika stosu (stos ronie w dół) 22