Registrirajte banke i rasporedite raspodjelu memorije u mikrokontroleru 8051

Isprobajte Naš Instrument Za Uklanjanje Problema





Zbirka registara opće namjene (R0-R7) naziva se registrima, koje prihvaćaju jedan bajt podataka. Bankovni registar je dio RAM memorija u ugrađenom mikrokontrolera, a koristi se za pohranu programskih uputa. Svaki mikrokontroler sastoji se od različitih banaka memorije, a svaki registar banaka sastoji se od jedinstvene adrese za prepoznavanje mjesta pohrane.

Registrirajte banke 8051

Registrirajte banke 8051

Registrirajte banke 8051



Mikrokontroler 8051 sastoji se od četiri banke registra, kao što su Bank0, Bank1, Bank2, Bank3, koje odabire PSW (Program Status Word) registar. Te su banke registara prisutne u internoj RAM memoriji mikrokontrolera 8051 i koriste se za obradu podataka kada je mikrokontroler programiran.


Promjena registra banaka



Prema zadanim postavkama, mikrokontroler 8051 napajan je registracijom 0, a pomoću programa Status Word (PSW) možemo se prebaciti na druge banke. Dva bita PSW koriste se za prebacivanje između matičnih banaka. Ova dva bita pristupaju se uputama za adresiranje bitova SETB i CLR.

Na temelju mogućih kombinacija RS1 i RS0 PSW, banka registra mijenja se u skladu s tim, tj. Ako su RS1 i RS0 0, odabire se banka 0. Slično tome, banka1, 2 i 3 odabrane su prema vrijednostima RS1 i RS0.

Dodjela memorije stoga u mikrokontroleru 8051

Stog je područje memorije s slučajnim pristupom (RAM) dodijeljeno za privremeno držanje svih parametara varijabli. Stog je također odgovoran za podsjećanje na redoslijed pozivanja funkcije kako bi se mogla ispravno vratiti. Kad god se funkcija pozove, parametri i lokalne varijable povezane s njom dodaju se u stog (PUSH). Kad se funkcija vrati, parametri i varijable uklanjaju se (“POP”) iz stoga. Zbog toga se veličina hrpe programa neprestano mijenja dok je program pokrenut.


Registar koji se koristi za pristup stogu naziva se registar pokazivača stoga. Pokazivač stoga je mali registar koji se koristi za usmjeravanje na stog. Kad nešto uguramo u memoriju stoga, pokazivač stoga se povećava.

Dodjela memorije stoga u mikrokontroleru 8051

Dodjela memorije stoga u mikrokontroleru 8051

Primjer

Kada se uključi mikrokontroler 8051, pokazivač steka sadrži zadanu vrijednost 07, kao što je prikazano na gornjoj slici. Ako izvršimo operaciju 'PUSH', tada će se adresa pokazivača steka povećati i premjestiti u drugi registar. Da bismo izbjegli ovaj problem, prije pokretanja programa pokazivaču steka moramo dodijeliti drugo mjesto adrese.

PUSH operacija

'PUSH' se koristi za preuzimanje vrijednosti iz bilo kojeg registra i pohranjivanje u početnu adresu pokazivača steka, tj. 00h pomoću operacije 'PUSH'. I za sljedeći ‘PUSH’ povećava se +1 i pohranjuje vrijednost u sljedeću adresu pokazivača steka, tj. 01h.

PUSH rad Stacka

PUSH rad Stacka

Značajka PUSH operacije (prvi u prvom izlazu)

Primjer: WAP na montažnom jeziku za rad PUSH

0000h
MOV 08h, # 21h
MOV 09h, # 56h
GURI 00h
GURI 01h
KRAJ

POP operacija

Koristi se za postavljanje vrijednosti s maksimalne adrese pokazivača sloga na bilo koju drugu adresu registra. Ako ponovno upotrijebimo ovaj 'POP', on se smanjuje za 1, a vrijednost pohranjena u bilo kojem registru daje se kao 'POP'.

POP operacija u stogu

POP operacija u stogu

POP operacija znači ‘Posljednji u prvom izlasku’.

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

Registri mikrokontrolera 8051

Ako izvršimo bilo koju operaciju bilo da je zbrajanje ili oduzimanje, tada se te operacije ne mogu izvesti izravno u memoriji, pa se stoga izvode pomoću registara. Postoje različite vrste registrira u 8051 mikrokontroler .

Ovi registri su klasificirani u dvije vrste na temelju njihovog poslovanja:

• Registri opće namjene

• Registri posebne funkcije

Registri opće namjene

Kao što smo ranije raspravili u ovom članku, postoje četiri različita registra banaka, pri čemu svaka banka ima 8 adresnih 8-bitnih registara, a istodobno se može pristupiti samo jednom registru banaka. No, promjenom broja registra banke u registru zastava, možemo pristupiti drugim registrima banaka, o čemu je ranije bilo riječi u ovom radu, zajedno s koncept prekida 8051 .

Registri posebne funkcije

Registri posebnih funkcija, uključujući akumulator, registar B, pokazivač podataka, PCON, PSW itd., Dizajnirani su za unaprijed određenu svrhu tijekom proizvodnje s adresom od 80H do FFH, a ovo područje se ne može koristiti za pohranu podataka ili programa. Ti se registri mogu implementirati pomoću registara bitova adresa i bajtova.

Vrste registara posebne funkcije

8051 se sastoji od četiri registra funkcija posebnih funkcija povezanih s ulazom / izlazom u kojima se nalaze ukupno 32 I / O linije. Registri posebne funkcije kontroliraju vrijednosti očitane iz I / O linija i registri posebne funkcije koji kontroliraju rad 8051. Registri pomoćnih posebnih funkcija nisu izravno povezani s 8051 - ali, zapravo, bez tih registara - 8051 ne može pravilno raditi. Spis registra 8051 objašnjen je u nastavku.

Registarski set mikrokontrolera 8051

Postavljanje fiksne konstantne vrijednosti u registru naziva se skupom registara. Vrijednosti se postavljaju u registre pomoću skupa uputa. 8051 slijedi CISC upute s arhitekturom 'Harvard'. The CISC je skraćenica za složeno računanje skupa instrukcija . Različite vrste uputa u mikrokontroleru 8051 uključuju:

  1. Aritmetičke upute
  2. Uvjetne upute
  3. Upute za poziv i skok
  4. Upute petlje
  5. Logičke upute
  6. Upute za poluge

1. Aritmetičke upute

Aritmetičke upute izvode nekoliko osnovnih operacija kao što su:

  • Dodatak
  • Oduzimanje
  • Množenje
  • Podjela
Aritmetičke upute u mikrokontroleru 8051

Aritmetičke upute u mikrokontroleru 8051

Primjeri:

a. Dodatak:

Organizacija 0000h
MOV R0, # 03H // pomicanje vrijednosti 3 je registar R0 //
MOV A, # 05H // premještanje vrijednosti 5 u akumulator A //
Dodajte A, 00H // vrijednost akumulatora '5' s 0 i pohranite na akumulator //
KRAJ

b. Oduzimanje:

Organizacija 0000h
MOV R0, # 03H // pomicanje vrijednosti 3 je registar R0 //
MOV A, # 05H // premještanje vrijednosti 5 u akumulator A //
SUBB A, 03H // A = 5-3 konačna vrijednost je 2 pohranjena u akumulatoru A //
KRAJ

C. Množenje:

Organizacija 0000h
MOV R0, # 03H // pomicanje vrijednosti 3 je registar R0 //
MOV A, # 05H // premještanje vrijednosti 5 u akumulator A //
MUL A, 03H // A = 5 * 3 konačna vrijednost je 15, pohranjena u akumulator A //
KRAJ

D. Podjela:

Organizacija 0000h
MOV R0, # 03H // pomicanje vrijednosti 3 je registar R0 //
MOV A, # 15H // premještanje vrijednosti 5 u akumulator A //
DIV A, 03H // A = konačna vrijednost 15/3 je 5 pohranjena u akumulatoru A //
KRAJ

2. Uvjetne upute

CPU može izvršavati upute na temelju uvjeta provjerom statusa jednog bita ili status bajta naziva se uvjetnim uputama, kao što su:

Da biste provjerili status jednog bita u registru koji se može adresirati bitovima

JB- skok ako je ispod

JNB- skok ako ne iznad

Da biste provjerili status nosača bitova

JC- skok ako nosi zastavu

JNC-skok ako nema nošenja

Da biste provjerili status akumulatora ili 0 ili 1

JZ- skok ako je nula zastavica

JNZ- skok ako ne i nula

Ovo je sve o registru postavljenom u mikrokontroleru 8051 i njihovoj dodjeli memorije stoga. Nadamo se da vam je ovaj članak možda dao neke bitne uvide o temi, zajedno s vrlo zanimljivim programima koji prate svaku temu. Također nam možete uputiti bilo kakvu pomoć u kodiranje mikrokontrolera a također i o najnoviji projekti na mikrokontroleru .