11

11



2. Struktura pamięci mikrokontrolera 21

2. Struktura pamięci mikrokontrolera 21

MO V_ Blok _XRAM_Dcc MÓV P2.M3H

MOV R0,#7FH

MOV DPTK.W3DFH MOV R7,#12S

Skok:

MOVX A,®R0 MOVX @DPTR,A DEC RO DEC DPL DJNZ R7,Skok


1*2 <= 43H, bardziej znaczący bajt adresu, adres segmentu (strony)

RO c= 7FH, mniej znaczący bajt adresu,

• adres w obrębie segmentu (strony) DPTR <= 43DFH, adres końca nowego obszaru R7 <= 128, R7 jest licznikiem przesuwanych bajtów

A c= (256*1*2 + R0)xDATA (DPTR)xDATA <= A

R0<=R0-1, • przygotowanie do przesuwania DPL <= DPL -1, kolejnego bajtu R7 c= R7 -1, jeśli R7 * 0 to skok do adresu Skok, .powtórzenie przesunięcia kolejnego bajtu

W liście instrukcji mikroprocesora brak instrukcji DEC DPTR. Wykorzystując fakt adresowania nowego obszaru pamięci przez wskaźnikowy rejestr danych (DITR) oraz stalą wartość adresu w bardziej znaczącej części rejestru DPTR, rejestrze DPH, zmniejszanie wartości rejestru DITR zrealizowano przez dekrementację tylko rejestru DPL

Położenie przesuwanego bloku danych


Nowe

położenie

bloku

danych

adres 2

adres 1

Li

Położenie

przesuwanego

bloku

danych


adres 1


adres 2


Nowe

położenie

bloku

danych

adres 1 < adres 2


adres 1 > adres 2


a) przesuwanie od końca bloku    b) przesuwanie od początku bloku

Rys. 2-12 Przesuwanie bloku danych w zewnętrznej pamięci RAM

• jeśli wystąpi sytuacja jak an rysunku 2-12 b, to przesuwanie kolejnych bajtów rozpoczyna się od początku przesuwanego bloku, tak samo jak w programie MOV_Blok_XRAM_Inc.

Mikrokontroler 80(C)5I • programowanie

ponieważ skok wykonywany jest w ramach 2 kllajtowego bloku pamięci kodu programu. Problem znika jeśli zastosuje się instrukcję skoku dalekiego LJMP adr_16.

Przykład 2:

W instrukcjach skoków względnych, warunkowych lub bezwarunkowych, podawane przesunięcie rei ma ograniczony zakres zmian -128..+127. W wielu przypadkach zakres ten jest niewystarczający. Jeśli testowana jest zawartość rejestru R6 i w zależności od jego wartości ma zostać zrealizowana procedura:

-* Proc_l jeśli zawartość rejestru R6 ■ 0,

-* Proc_2 jeśli zawartość rejestru R6 » 0 oraz długości obu procedur są następujące:

-* długość procedury Proc_1 wynosi 129 - 81H bajtów, przekracza 127 bajtów,

-* długość procedury Proc_2 wynosi 130 » 82H bajtów, przekracza 127 bajtów

to możliwe jest następujące rozwiązanie problemu:

MOV A,R6 JZ Proc,!

AJMP Proc_2 Proc_l:

AJMP Dalej

Proc_2:

Dalej:


;adres względny musi być zawarty ;    w przedziale-128..+127

.procedura Proc l

;ominięcie procedury Proc 2 po

;    zakończeniu procedury Proc.l

.procedura Proc_2

;dalsza część programu

Mikrokontroler 80(C)51 - programowanie


Wyszukiwarka

Podobne podstrony:
11 Struktura pamięci mikrokontrolera 21 Struktura pamięci mikrokontrolera 21 MOV_Blok_XRAM_Dec: MOV
11 2 Stmktuta pamięci mikrokomiolcra II W pierwszym przykładzie wartość 5AH wpisywana jest do komór
11 2 SmiMura pamięci mikrokonnolcra II W pierwszym przykładzie wartość 5AH wpisywana jest do komórk
75165 zdj1 (6) Struktura rozkazówRozkazy bezoperandowe: Kod
ANSI C 1 6 STRUKTURY /* getword: weź następne słowo lub znak z wejścia */ int getword(char *word,
CCF20111108005 początek roku koniec roku 1 • 1 • 1 + 0,1© = M koniec roku 2 U + 0,11 = 1,21 kon
P10101142 Miernikiem stosowanym do badania struktury majątku jest wskaźnik struktury aktywów. WSA =
(21) Z MO UFOLOG II DOLINY SANU 127 lateralne, związane z oporem, jaki stawiało Karpatom ich pr
SZWEDZKI INTERD YSCYPL1NARNY PROGRAM NA OKO WY „ ŻYWNOŚĆ 21" 173 Blok - Uprawa roślin (8
21 Mo / Business 43 Mo / Communications 37 Mo / Dśmos 34 Mo / Programmation 1 Mo / Di
13 2. Struktura pamięci mikrokontrolera 13 transmisja szeregową reprezentuje dwa niezależne rejestr
13 Z. Struktura pamięci mikrokontrolera 13 transmisja szeregową reprezentuje dwa niezależne rejestr
15 2 Struktura pamięci mikrokomrolcia 15 i odczytywana: MOV ACC.SP    ;ACC c= SP, wp
19 19 2. Struktura pamięci mikrokontrolera Stan portu 1*2 równy jest bardziej znaczącemu bajtowi
15 2 Struktura pamięci mikrokomrolcia 15 i odczytywana: MOV ACC.SP    ;ACC c= SP, wp
17 2. Struktura pamięci mikrokontrolera 172.4. Zewnętrzna pamięć RAM mikrokontrolera Zewnętrzna pam

więcej podobnych podstron