Untitled17

Untitled17



26 4. Jak odczytywać i zapisywać dane ...

instrukcja:

zapis binarny instrukcji:

wykonywana

operacja

MOVC A,@A+DPTR

1001 OOllb

A<-(A-f-DPTR)CODE 1

Aby wykonać dodawanie zawartości 8-bitowego akumulatora A i 16-bitowego wskaźnikowego rejestru danych DPTR, zawartość akumulatora A rozszerzana jest znakowo z 8 bitów do 16 bitów o bajt równy 00. Adresowanie pamięci programu określane jest jako adresowanie za pomocą rejestrów bazowych (w tym przypadku za pośrednictwem wskaźnikowego rejestru danych DPTR) lub indeksowo-rejestrowo pośrednie.

wykonywanej instrukcji

Rys. 4-2 Pobieranie danych z pamięci programu i wymiana danych z/do zewnętrznej pamięci RAM.

3. sumą zawartości 8-bitowego akumulatora A i 16-bitowego licznika rozkazów PC. Podobnie jak poprzednio liczba zawarta w akumulatorze A traktowana jest jako liczba całkowita bez znaku:

instrukcja:

zapis binarny instrukcji:

wykonywana

operacja

MOVC A,@A+PC

1000 OOllb

A <— (A+PC)code

Zawartość akumulatora A jest rozszerzana znakowo z 1 do 2 bajtów. Różnica między tym, a poprzednim rozkazem polega na tym, że po pobraniu kodu instrukcji licznik rozkazów PC zwiększany jest o 1. W ten sposób licznik rozkazów' PC wskazuje na pierwszy bajt następnej instrukcji    znajdującej się    po wykonywanym rozkazie

MOVC A,@A+PC. W podanej instrukcji pamięć programu adresowana jest za pomocą rejestru bazowego jakim jest licznik rozkazów PC (adresowanie indeksowo-rejestrowo pośrednie).

W dwóch ostatnich rozkazach wskaźnikowy rejestr danych DPTR i bieżąca wartość licznika rozkazów PC traktowane są jako wskaźniki (adresy początkowe) do tablic umieszczonych w pamięci programu ROM. Zawartość akumulatora A traktowana jest jako indeks tablicy. Wielkość tych tablic ograniczona jest do 256 bajtów, ze względu na 8-bitową zawartość akumulatora A. Oba rozkazy stosowane są również bardzo często do pobierania z pamięci programu kolejnych znaków komunikatów, np: wyświetlanych na polu odczytowym modułu dydaktycznego, przyrządu pomiarowego, sterowanego urządzenia itp.

4.2 Odczyt/zapis danych do zewnętrznej pamięci RAM

Zewnętrzna pamięć danych RAM, jeśli istnieje potrzeba jej dołączenia do mikrokontrolera wskutek zbyt małej wewnętrznej pamięci RAM, adresowana jest w dwojaki sposób:

1. wskaźnikowym rejestrem danych DPTR:

instrukcja:

zapis binarny instrukcji:

wykonywana

operacja

MOVX ©DPTR,A

1111 OOOOb

(DPTR)xdata <- A

MOVX A,©DPTR

1110 OOOOb

A 4- (DPTR)xdata

Jest to standardowy sposób odwoływania się do pamięci. 16-bitowy wskaźnikowy rejestr danych DPTR zawiera pełny 16-bitowy adres komórek pamięci. Ponieważ rejestr ten tworzą dw?a połączone rejestry:

•    DPH jako 8-bitowa, bardziej znacząca część rejestru DPTR,

•    DPL jako 8-bitow'a, mniej znacząca część rejestru DPTR

W trakcie adresowania komórek pamięci stan obu rejestrów pojawia się na liniach portu PO (stan rejestru DPL) i P2 (stan rejestru DPH), tak jak przedstawiono na rysunku 4-3. Multipleksowanie stanu obu


Wyszukiwarka

Podobne podstrony:
Untitled18 (2) 28 4. Jak odczytywać i zapisywać dane portów realizowane instrukcji.   &nbs
Untitled18 (2) 28 4. Jak odczytywać i zapisywać dane portów realizowane instrukcji.   &nbs
Untitled15 22 4. Jak odczytywać i zapisywać dane ... zmierzyć temperaturę, to dopóki nie zostanie wy
Untitled19 (5) 30 4. Jak odczytywać i zapisywać dane ... Odczytywanie danych zapisanych w pamięci pr
Untitled20 4. Jak odczytywać i zapisywać dane 4. Jak odczytywać i zapisywać dane HPytania i problemy
Untitled14 4. Jak odczytywać i zapisywać dane z pamięci programu ROM i zewnętrznej pamięci danych RA
12456 Untitled16 (2) 24 4. Jak odczytywać i zapisywać dane4.1 Odczyt danych z pamięci programu ROM W
Untitled36 64__ 7. Port  Tabela 7-4    różnica symetryczna instrukcje: zapis b
Integracja aplikacji Ćwiczenie 4Zadanie 1 Zapis danych do XML odbywa się bardzo podobnie, jak odczyt
Untitled 26 I Ręce na bok - teraz lecę jak ptak. Chwilę odpocznę i idę jak rak. Zatrzymuję się, bo n

więcej podobnych podstron