Registrirajte banke in dodelite dodelitev pomnilnika v mikrokrmilnik 8051

Preizkusite Naš Instrument Za Odpravo Težav





Zbirka registrov za splošne namene (R0-R7) se imenuje kot registrske banke, ki sprejmejo en bajt podatkov. Bančni register je del Pomnilnik RAM v vdelanem mikrokrmilniki in se uporablja za shranjevanje programskih navodil. Vsak mikrokrmilnik je sestavljen iz različnih pomnilniških bank, vsak bančni register pa je sestavljen iz edinstvenega naslova za prepoznavanje mesta shranjevanja.

Registrirajte banke v letu 8051

Registrirajte banke v letu 8051

Registrirajte banke v letu 8051



Mikrokrmilnik 8051 je sestavljen iz štirih registrskih bank, kot so Bank0, Bank1, Bank2, Bank3, ki jih izbere register PSW (Program Status Word). Te registrske banke so prisotne v notranjem pomnilniku RAM mikrokrmilnika 8051 in se uporabljajo za obdelavo podatkov, ko je mikrokrmilnik programiran.


Zamenjava registrskih bank



Privzeto je mikrokrmilnik 8051 vključen v registrsko banko 0 in z uporabo programske besede stanja (PSW) lahko preklopimo na druge banke. Dva bita PSW se uporabljata za preklapljanje med registrskimi bankami. Do teh dveh bitov lahko dostopate z navodili SETB in CLR, ki jih je mogoče nasloviti na bit.

Na podlagi možnih kombinacij RS1 in RS0 PSW se banka registra ustrezno spremeni, če sta RS1 in RS0 0, je izbrana banka 0. Podobno so banke1, 2 in 3 izbrane glede na vrednosti RS1 in RS0.

Dodelitev pomnilnika skladov v mikrokrmilniku 8051

Sklad je območje pomnilnika z naključnim dostopom (RAM), dodeljeno za začasno hrambo vseh parametrov spremenljivk. Sklad je odgovoren tudi za opozarjanje na vrstni red, v katerem je bila funkcija poklicana, da jo je mogoče pravilno vrniti. Kadarkoli je funkcija poklicana, se v sklad dodajo parametri in lokalne spremenljivke, povezane z njo (PUSH). Ko se funkcija vrne, se iz sklada odstranijo parametri in spremenljivke (»POP«). Zato se velikost sklada programa med izvajanjem programa neprestano spreminja.


Register, ki se uporablja za dostop do sklada, se imenuje register kazalcev skladov. Kazalec sklada je majhen register, ki se uporablja za usmerjanje na sklad. Ko nekaj potisnemo v pomnilnik sklada, se kazalec sklada poveča.

Dodelitev pomnilnika skladov v mikrokrmilniku 8051

Dodelitev pomnilnika skladov v mikrokrmilniku 8051

Primer

Ko se mikrokrmilnik 8051 vklopi, je vrednost kazalca sklada privzeto 07, kot je prikazano na zgornji sliki. Če izvedemo operacijo 'PUSH', se bo naslov kazalca sklada povečal in premaknil v drug register. Da bi se izognili tej težavi, moramo pred zagonom programa kazalcu sklada dodeliti drugo lokacijo naslova.

PUSH delovanje

'PUSH' se uporablja za jemanje vrednosti iz katerega koli registra in shranjevanje v začetni naslov kazalca sklada, tj. 00h z uporabo operacije 'PUSH'. In za naslednji ‘PUSH’ poveča +1 in vrednost shrani v naslednji naslov kazalca sklada, tj. 01h.

PUSH delovanje Stack

PUSH delovanje Stack

PUSH način delovanja (First in First out)

Primer: WAP v montažnem jeziku za delovanje PUSH

0000h
MOV 08h, # 21h
MOV 09h, # 56h
PUSH 00h
PUSH 01h
KONEC

Operacija POP

Uporablja se za postavitev vrednosti iz največjega naslova kazalca sklada na kateri koli drug naslov registra. Če ponovno uporabimo ta 'POP', se ta zmanjša za 1 in vrednost, shranjena v katerem koli registru, je podana kot 'POP'.

Delovanje POP v skladišču

Delovanje POP v skladišču

Operacija POP pomeni „Zadnji v prvem izhodu“.

000H
MOV 00H, # 12H
MOV 01H, # 32H
POP 1FH
POP 0EH
KONEC

Registri mikrokrmilnika 8051

Če izvedemo katero koli operacijo, bodisi seštevanje ali odštevanje, teh operacij ni mogoče izvesti neposredno v pomnilniku, zato se izvajajo z uporabo registrov. Obstajajo različne vrste registrira v 8051 mikrokrmilnik .

Ti registri so glede na njihovo delovanje razvrščeni v dve vrsti:

• Registri splošnega namena

• Registri posebne funkcije

Registri za splošne namene

Kot smo že razpravljali v tem članku, obstajajo štirje različni bančni registri, pri čemer ima vsaka banka 8 naslovljivih 8-bitnih registrov, hkrati pa je mogoče dostopati le do enega bančnega registra. Toda s spremembo številke bančnega registra v registru zastav lahko dostopamo do drugih bančnih registrov, o katerih smo že govorili v tem dokumentu, skupaj z koncept prekinitve leta 8051 .

Registri posebne funkcije

Registri posebnih funkcij, vključno z akumulatorjem, registrom B, kazalcem podatkov, PCON, PSW itd., So izdelani za vnaprej določen namen med izdelavo z naslovom od 80H do FFH in tega področja ni mogoče uporabiti za shranjevanje podatkov ali programov. Te registre je mogoče implementirati z registri bitnih naslovov in bajtov.

Vrste registrov s posebno funkcijo

8051 je sestavljen iz štirih vhodno / izhodnih registrov posebnih funkcij, v katerih je v celoti 32 I / O linij. Registri posebne funkcije nadzorujejo vrednosti, prebrane iz I / O vrstic, in registri posebne funkcije, ki nadzorujejo delovanje 8051. Registri pomožnih posebnih funkcij niso neposredno povezani z 8051 - v resnici pa brez teh registrov - 8051 ne more delovati pravilno. Seznam registrov 8051 je razložen spodaj.

Registrski nabor mikrokrmilnika 8051

Nastavitev fiksne konstantne vrednosti v registru se imenuje nabor registra. Vrednosti so nastavljene v registrih z uporabo nabora ukazov. 8051 sledi navodilom CISC z arhitekturo 'Harvard'. The CISC je kratica za zapleteno računalništvo z nabori ukazov . Različne vrste navodil v mikrokrmilniku 8051 vključujejo:

  1. Aritmetična navodila
  2. Pogojna navodila
  3. Navodila za klic in skok
  4. Navodila zanke
  5. Logična navodila
  6. Navodila za zlitine

1. Aritmetična navodila

Aritmetična navodila izvajajo več osnovnih operacij, kot so:

  • Dodatek
  • Odštevanje
  • Množenje
  • Divizija
Aritmetična navodila v mikrokrmilniku 8051

Aritmetična navodila v mikrokrmilniku 8051

Primeri:

a. Dodatek:

Organizacija 0000h
MOV R0, # 03H // premakni vrednost 3 je register R0 //
MOV A, # 05H // premakni vrednost 5 v akumulator A //
Dodajte A, 00H // vrednost akumulatorja ‘5’ z 0 in shranite na akumulator //
KONEC

b. Odštevanje:

Organizacija 0000h
MOV R0, # 03H // premakni vrednost 3 je register R0 //
MOV A, # 05H // premakni vrednost 5 v akumulator A //
SUBB A, 03H // A = končna vrednost 5-3 je 2 shranjena v akumulatorju A //
KONEC

C. Množenje:

Organizacija 0000h
MOV R0, # 03H // premakni vrednost 3 je register R0 //
MOV A, # 05H // premakni vrednost 5 v akumulator A //
MUL A, 03H // A = 5 * 3 končna vrednost je 15, shranjena v akumulatorju A //
KONEC

D. oddelek:

Organizacija 0000h
MOV R0, # 03H // premakni vrednost 3 je register R0 //
MOV A, # 15H // premakni vrednost 5 v akumulator A //
DIV A, 03H // A = končna vrednost 15/3 je 5 shranjena v akumulatorju A //
KONEC

2. Pogojna navodila

CPU lahko izvede navodila na podlagi pogoja s preverjanjem enojnega stanja ali statusa bajta se imenuje pogojna navodila, kot so:

Za preverjanje stanja enega bita v registru, ki ga je mogoče nasloviti

JB - skok, če je spodaj

JNB - skok, če ne zgoraj

Za preverjanje stanja nosilnega bita

JC - skoči, če nosiš zastavo

JNC-skok, če ni nošenja

Za preverjanje stanja akumulatorja bodisi 0 bodisi 1

JZ- skok, če ni nič zastavice

JNZ- skok, če ne nič

To je vse o registru, nastavljenem v mikrokrmilniku 8051, in njihovi dodelitvi pomnilnika skladov. Upamo, da vam je ta članek morda dal nekaj bistvenih vpogledov v to temo in nekaj zelo zanimivih programov, ki spremljajo vsako temo. Za kakršno koli pomoč nam lahko pišete tudi kodiranje mikrokrmilnika in tudi o najnovejši projekti na področju mikrokrmilnika .