16

16



7 Instrukcje skoków i wywołań podprogramów 77

Przykład 2:

Lcd On:

Dalej:


Jeśli do wyjścia portu PI.7 dołączona jest dioda elektroluminescencyjna (LED) jak na rysunku, to testując linię portu PI.7 można włączyć diodę wykonując instrukcję:

JBC Pl.7,Dalej


jeśli bit Pl.7*1 to zeruj bit i wykonaj skok do etykiety (adresu) Dalej

Dioda elektroluminescencyjna (LED) świeci się jeśli na linii P1.7 wystąpi stan zera logicznego (przepływ prądu) l jest zgaszona jeśli linia PI .7*1 (brak przepływu prądu). Dla włączonej diody testowany w instrukcji JBC warunek nie jest spełniony co i tak nic ma znaczenia, ponieważ dioda jest zapalona. Jeżeli dioda jest zgaszona to instrukacja JBC spowoduje jej włączenie.

DJNZ argument.adres


Decrement and Jump relative

Warunek:

Dziabnie:    PC c= F*C + 2, Rn cr Rn - 1 Jeśli Rn * 0 to PC c= PC + rei

PC c= PC + 3, (adr) c= (adr) -1 Jeśli (adr) * 0 to PC c= IKT + rei

Adresowanie:

Mnemonik:

Struktura bajtów:

Cykle

maszynowe:

rejestrowe:

DJNZ Rn,rel

| 1 1 0

>1'

r r r |

1_

rei

1

bezpośrednie:

DJNZ adr,rei

| 1 1 0

1 |o

i o i | :

1

adr

i

•' - 1

rei-

:_1

Znacz

niki:

Dziabnie:

Zmniejszenie zawartości:

•    rejestru Rn, Rn « R7..K0,

•    komórki wewnętrznej pamięci RAM adresowanej bezpośrednio adresem adr.

Instrukcje zaliczane do grupy bajtowej wymiany danych przedstawiono w tabeli 4-1. Dotyczą one przesyłania danych między rejestrami procesora i wewnętrzną oraz zewnętrzną pamięcią RAM, a także pobierania argumentów z pamięd kodu programu.

Tabela 4-1. Instrukcje wymiany danych

Mnemonik instrukcji

Operacje

Tryby

adresowania

Liczba

cykli

maszyn.

Instrukcje dotyczące wewnętrznej pamięd RAM (IDATA)

MOV A,<bajt>

A <= <bajt>

R B N P

1 lub 2

MOV <bajt>.A

<bajt> <= A

RB P

1 lub 2

MOV Kn,<bajt>

Rn c= <bajt>

R B N P

1 lub 2

MOV <bajt>,Rn

<bajt> c= Rn

RB P

1 lub 2

MOV QRi,<bajt>

(Ri) c= <bajt>

B N P

1 lub 2

MOV <bajt>,@Ri

<bajt> c= (Ri)

B P

1 lub 2

MOV <adr>,<adrl>

<adr> c= <adrl>

R B N P

2

MOV DPTR.ffdana 16

DPTR c= #dana 16

N

2

PUSH adr

stos c= (adr)

B

2

I*OP adr

(adr) <= stos

B

“i

XCH A,<bajt>

A o <bajt>

RB P

1

XCHD A.GRi

a3..0 ° ®R»3..0

P

1

Instrukcje dotyczące zewnętrznej pamięd RAM (XDATA)

MOVX A,6Ri

A <= (256*P2+Ri)

P

2

MOVX ®Ri.A

(256*P2+Ri) c= A

P

2

MOVX A,©DPTR

A c= (DPTR)

P

2

MOVX @DPTR,A

(DPTR) <= A

P

2

Instrukcje dotyczące pamięd kodu programu (CODĘ)

MOVC A,@A+DPTR

A c= (A+DPTR)

1

2

MOVC A.0A+PC

A c= (A+PC)

1

2

Instrukcje MOV A,<bajt>,.. ,MOV <adi>,<adrl> umożliwiają przesyłanie danych między dwoma komórkami wewnętrznej pamięd RAM, rejestrów specjalnych (SFR) i akumulatorem oraz stosowane są do wpisywania lub odczytywania 8-bitowych argumentów. Należy pamiętać, że rejestry specjalne (SFR) można adresować tylko bezpośrednio, a segment wewnętrznej pamięd RAM o adresach 80H..UFFH (w procesorach 8052 i nowszych) tylko pośrednio. Wyjaśniają to poniższe przykłady, w których podany tryb adresowania dotyczy drugiego argumentu. Najczęściej jest nim drugi lub trzeć bajt instrukcji (w instrukcji MOV <adr>,<adrl>):

MOV A,R5    ;adrcsowanie rejestrowe,    A R5

Mll-r-l-


Wyszukiwarka

Podobne podstrony:
16 7 Instrukcje skoków i wywołań podprogramów 77 Przykład 2: Lcd .On: Dalej: Jeśli do wyjścia portu
10 7 Instrukcje skoków i wywołań podprogramów 83 CALL adr    CALL Uncondilional Dzia
10 7 Instrukcje skoków i wywołań podprogramów 73 AJMP Procedura_2 ;skok do Procedury 2 AJMP
14 7 Instrukcje skokow i wywołań podprogramów 79 CJNE argument_l,axgument_2,adres Compare and Jump
18 7 Instrukcje skoków i wywołań podprogramów 85 •    wpisanie pobranego adresu do l
14 7 Instrukcje skokow i wywołań podprogramów 79 CJNE argument_l.argumenl_2,adres Compaie and Jump
10 73 7 Instrukcje skoków i wywołań podprogramów AJMP Procedura_2 ;skok do Procedury 2 AJMP
18 7 łnsinjkgc skoków i wywołań podprogramów 75 7 łnsinjkgc skoków i wywołań podprogramów 75 JMP
12 7 Instrukcje skoków i wywoJag podprogramów 71 Przed omówieniem przedstawionych grup rozkazów wyj
lista rozkazow 3 Lista rozkazów mikroprocesora 8051. Instrukcje skoków i wywołań podprogramów Oznacz
16 3. Instrukcje modyfikacji bitów 87 Rozwiązanie problemu pokazano w poniższym przykładzie, realiz
12 7 Insnukcte skokpw i wywołań podprogramów 81 7 Insnukcte skokpw i wywołań podprogramów

więcej podobnych podstron