12456 Untitled16 (2)

12456 Untitled16 (2)



24 4. Jak odczytywać i zapisywać dane

4.1 Odczyt danych z pamięci programu ROM

Wewnętrzna lub zewnętrzna pamięć programu zawiera oprócz kodu programu także stałe wykorzystywane w programie. Ze względu na swój charakter, pamięć ROM (EPROM, EEPROM, Flash ROM), możliwy jest jedynie odczyt danych.

Wyboru typu pamięci, wewnętrznej lub zewnętrznej, mikrokontroler dokonuje testując linię EA (External Access enable) w trakcie zerowania:

•    EA = 0, zewnętrzna pamięć programu,

•    EA= 1, wewnętrzna pamięć programu

Stan linii EA nie ma znaczenia jeśli licznik rozkazów PC zawiera adres większy niż adres wewnętrznej pamięci programu. Przykładowo jeśli mikrokontroler 8051 zawiera 4KB-ową wewnętrzną pamięć programu to dla stanu licznika rozkazów PC:

•    PC = OOOOh .. OFFFh i EA = 0 mikrokontroler wykonuje program z

zewnętrznej pamięci programu,

•    PC OOOOh .. OFFFh i EA = 1 - mikrokontroler wykonuje program z

wewnętrznej pamięci programu,

•    PC = lOOOh OFFFFh - mikrokontroler wykonuje program z

zewnętrznej pamięci programu,

niezależnie od stanu linii EA

Pamięć program (wewnętrzna lub zewnętrzna) adresowana jest na trzy różne sposoby:

la. przez drugi lub przez trzeci bajt wykonywanej instrukcji. Sytuacja taka występuje przy pobieraniu 8-bitowych stałych z pamięci programu, np. przy inicjalizacji wartości początkowych rejestrów, komórek pamięci, np:

instrukcje:

zapis binarny instrukcji:

wykonywane

operacje

MOV A,#3Ch

0111 OlOOb 0011 llOOb

A <— 3Ch

MOV R0,#6

0111 lOOOb 0000 011 Ob

R0<-6

MOV 35,#4Bh

0111 OlOlb 0010 001 lb 0100 1011 b

(35) 4Bh

Dwie pierwsze instrukcje są instrukcjami 2-bajtowymi. Pierwszy bajt zawiera kod wykonywanej instrukcji i informację, adres docelowego rejestru. Drugi bajt zawiera wartość stałej, która wpisywana jest do akumulatora A (MOV A,#3Ch) i rejestru RO (MOV R0,#6).

W trzeciej instrukcji (MOV 35,#4Bh) pierwszy bajt zawiera kod wykonywanej instrukcji, drugi adres komórki wewnętrznej pamięci RAM (35) zamienianej na liczbę szesnastkową (23h), a trzeci wartość stałej pobieranej z pamięci programu (4Bh).

W powyższej tabeli przedstawiono również zapis binarny wykonywanych instrukcji (zrozumiały dla mikrokontrolera) oraz wykonywane operacje. Strzałka <- oznacza kierunek przepływu danych, a wartość ujęta w okrągłe nawiasy (35) jest adresem komórki pamięci, w tym przypadku wewnętrznej pamięci RAM. Należy zwrócić uwagę na sposób zapisu stałych, które poprzedzone są zawsze znakiem #. Pominięcie tego znaku powoduje, że odwołujemy się do komórki pamięci RAM lub rejestrów specjalnych SFR. Ten sposób adresowania nazywany jest adresowaniem natychmiastowym.

Ib. przez drugi i trzeci bajt wykonywanej instrukcji. Sytuacja taka występuje przy inicjalizacji wartości początkowej 16-bitowego wskaźnikowego rejestru danych DPTR:

instrukcja:

zapis binarny instrukcji:

wykonywana

operacja

MOV DPTR,#2E59h

1(X)1 OOOOb OOlOlllOb 0101 lOOlb

DPTR 2E59h

Przedstawiona 3-bajtowa instrukcja jest jedyną instrukcją, w której wpisywana jest do rejestru DPTR stała 16-bitowa. Pierwszy bajt zawiera kod operacji, bajt drugi i trzeci wpisywaną stałą. Ten sposób adresowania także nazywany jest adresowaniem natychmiastowym.

2. sumą zawartości 8-bitowego akumulatora A i 16-bitowego wskaźnikowego rejestru danych DPTR. Liczba zawarta w akumulatorze A traktowana jest jako liczba całkowita bez znaku, co oznacza, że jej zakres zmienności ograniczony jest do przedziału 0 .. 255.


Wyszukiwarka

Podobne podstrony:
Untitled17 26 4. Jak odczytywać i zapisywać dane ... instrukcja: zapis binarny
Untitled18 (2) 28 4. Jak odczytywać i zapisywać dane portów realizowane instrukcji.   &nbs
Untitled14 4. Jak odczytywać i zapisywać dane z pamięci programu ROM i zewnętrznej pamięci danych RA
Untitled15 22 4. Jak odczytywać i zapisywać dane ... zmierzyć temperaturę, to dopóki nie zostanie wy
Untitled18 (2) 28 4. Jak odczytywać i zapisywać dane portów realizowane instrukcji.   &nbs
Untitled19 (5) 30 4. Jak odczytywać i zapisywać dane ... Odczytywanie danych zapisanych w pamięci pr
Untitled08 8 2. Co jest w środku ? Wewnętrzna lub zewnętrzna pamięć programu jest pamięcią typu ROM
Untitled20 4. Jak odczytywać i zapisywać dane 4. Jak odczytywać i zapisywać dane HPytania i problemy
Integracja aplikacji Ćwiczenie 4Zadanie 1 Zapis danych do XML odbywa się bardzo podobnie, jak odczyt
35 (60) Zasady odczytu danych ze skali Bonjeana (rys. 24): •    wyznaczyć zanurzenia
czasu zarówno podczas badania, jak i odczytywania oraz opracowywania odpowiedzi, a co więcej — narzu
Koszalin 2006 [BADANIA OPERACYJNE - PROGRAMOWANIE LINIOWE] Jak odczytać rozwiązanie? 3 1

więcej podobnych podstron