Zber registrov na všeobecné účely (R0-R7) sa nazýva register bánk, ktoré prijímajú jeden bajt údajov. Bankový register je súčasťou RAM pamäť v zabudovanej mikrokontroléry a slúži na ukladanie pokynov k programu. Každý mikrokontrolér pozostáva z rôznych pamäťových bánk a každý bankový register pozostáva z jedinečnej adresy na rozpoznanie miesta v úložisku.
Zaregistrujte banky v roku 8051
Zaregistrujte banky v roku 8051
Mikrokontrolér 8051 pozostáva zo štyroch registrových bánk, ako sú Bank0, Bank1, Bank2, Bank3, ktoré sú vybrané registrom PSW (Program Status Word). Tieto banky registrov sa nachádzajú vo vnútornej pamäti RAM mikrokontroléra 8051 a používajú sa na spracovanie údajov, keď je mikrokontrolér naprogramovaný.
Zmena registračných bánk
V predvolenom nastavení je mikrokontrolér 8051 napájaný z registračnej banky 0 a pomocou programového stavového slova (PSW) môžeme prejsť na ďalšie banky. Dva bity PSW sa používajú na prepínanie medzi bankami registrov. K týmto dvom bitom sa pristupuje pomocou bitovo adresovateľných inštrukcií SETB a CLR.
Na základe možných kombinácií RS1 a RS0 PSW sa zodpovedajúcim spôsobom zmení banka registrov, tzn. Ak sú RS1 a RS0 0, potom sa vyberie banka 0. Podobne sú banky 1, 2 a 3 vybrané podľa hodnôt RS1 a RS0.
Skladanie alokácie pamäte do mikrokontroléra 8051
Zásobník je oblasť pamäte s náhodným prístupom (RAM) vyhradená na dočasné zadržanie všetkých parametrov premenných. Zásobník je tiež zodpovedný za pripomenutie poradia, v akom je funkcia volaná, aby ju bolo možné správne vrátiť. Kedykoľvek sa funkcia volá, parametre a miestne premenné, ktoré sú s ňou spojené, sa pridajú do zásobníka (PUSH). Keď sa funkcia vráti, parametre a premenné sa odstránia („POP“) zo zásobníka. Z tohto dôvodu sa veľkosť zásobníka programu neustále mení, keď je program v prevádzke.
Register používaný na prístup do zásobníka sa nazýva register ukazovateľa zásobníka. Ukazovateľ stohu je malý register, ktorý sa používa na zameranie na stoh. Keď niečo vložíme do pamäte zásobníka, ukazovateľ zásobníka sa zvýši.
Skladanie alokácie pamäte do mikrokontroléra 8051
Príklad
Keď sa mikrokontrolér 8051 zapne, hodnota ukazovateľa zásobníka je predvolene hodnota 07, ako je znázornené na obrázku vyššie. Ak vykonáme operáciu „PUSH“, adresa ukazovateľa zásobníka sa zvýši a presunie do iného registra. Aby sme sa vyhli týmto problémom, pred spustením programu musíme ukazovateľu zásobníka priradiť iné umiestnenie adresy.
PUSH prevádzka
„PUSH“ sa používa na získanie hodnôt z ľubovoľného registra a uloženie na začiatočnú adresu ukazovateľa zásobníka, t. J. 00h pomocou operácie „PUSH“. A pre ďalšie „PUSH“ zvýši +1 a hodnotu uloží na ďalšiu adresu ukazovateľa zásobníka, t. J. 01h.
PUSH prevádzka zásobníka
PUSH prevádzka znamená (prvý dovnútra prvý von)
Príklad: WAP v montážnom jazyku pre operáciu PUSH
0000 h
MOV 08 h, # 21 h
MOV 09h, # 56h
PUSH 00h
PUSH 01h
KONIEC
Prevádzka POP
Používa sa na umiestnenie hodnôt z maximálnej adresy ukazovateľa zásobníka na adresu iného registra. Ak tento „POP“ použijeme znova, zníži sa o 1 a hodnota uložená v ľubovoľnom registri sa zadá ako „POP“.
Prevádzka POP v zásobníku
Prevádzka POP znamená „Last in First out“.
000H
MOV 00H, # 12H
MOV 01H, # 32H
POP 1FH
POP 0EH
KONIEC
Registre mikrokontroléra 8051
Ak vykonávame ľubovoľnú operáciu, či už sčítaním alebo odčítaním, potom tieto operácie nie je možné vykonať priamo v pamäti, a preto sa vykonávajú pomocou registrov. Existujú rôzne typy zaregistruje sa v mikrokontroléri 8051 .
Tieto registre sú klasifikované do dvoch typov na základe ich činnosti:
• Registre na všeobecné účely
• Špeciálne funkčné registre
Registre na všeobecné účely
Ako sme už diskutovali vyššie v tomto článku, existujú štyri rôzne bankové registre, pričom každá banka má 8 adresovateľných 8-bitových registrov a naraz je možné pristupovať iba k jednému bankovému registru. Ale zmenou čísla bankového registra vo vlajkovom registri môžeme získať prístup k ďalším bankovým registrom, o ktorých sa už v tomto dokumente hovorilo spolu s koncept prerušenia v roku 8051 .
Registre špeciálnych funkcií
Registre špeciálnych funkcií vrátane akumulátora, registra B, ukazovateľa údajov, PCON, PSW atď. Sú určené na vopred určené účely počas výroby s adresou 80H až FFH a túto oblasť nie je možné použiť na účely ukladania údajov alebo programov. Tieto registre je možné implementovať pomocou registrov bitových adries a bajtových adries.
Typy registrov zvláštnych funkcií
8051 sa skladá zo štyroch vstupno / výstupných registrov špeciálnych funkcií, v ktorých je celkom 32 I / O liniek. Registre špeciálnych funkcií riadia hodnoty načítané z I / O liniek a registre špeciálnych funkcií, ktoré riadia činnosť 8051. Pomocné registre špeciálnych funkcií nie sú priamo spojené s 8051 - ale v skutočnosti bez týchto registrov - 8051 nemôže správne fungovať. Sada registrov 8051 je vysvetlená nižšie.
Zaregistrujte sadu mikrokontroléra 8051
Nastavenie pevnej konštantnej hodnoty v registri sa nazýva sada registrov. Hodnoty sa nastavujú v registroch pomocou inštrukčnej sady. Model 8051 dodržiava pokyny CISC s architektúrou „Harvard“. The CISC je skratka pre komplexné výpočtové systémy . Medzi rôzne typy pokynov v mikrokontroléri 8051 patria:
- Aritmetické pokyny
- Podmienené pokyny
- Pokyny na volanie a skok
- Pokyny slučky
- Logické pokyny
- Pokyny týkajúce sa drahých kovov
1. Aritmetické pokyny
Aritmetické pokyny vykonávajú niekoľko základných operácií, ako napríklad:
- Dodatok
- Odčítanie
- Násobenie
- Divízia
Aritmetické pokyny v mikrokontroléri 8051
Príklady:
a. Doplnenie:
Org. 0000 h
MOV R0, # 03H // presunúť hodnotu 3 je register R0 //
MOV A, # 05H // presunie hodnotu 5 v akumulátore A //
Pridajte A, 00H // hodnotu akumulátora „5“ s 0 a uložte ho na akumulátor //
KONIEC
b. Odčítanie:
Org. 0000 h
MOV R0, # 03H // presunúť hodnotu 3 je register R0 //
MOV A, # 05H // presunie hodnotu 5 v akumulátore A //
SUBB A, 03H // A = 5-3 konečná hodnota je 2 uložená v akumulátore A //
KONIEC
C. Násobenie:
Org. 0000 h
MOV R0, # 03H // presunúť hodnotu 3 je register R0 //
MOV A, # 05H // presunie hodnotu 5 v akumulátore A //
MUL A, 03H // A = 5 * 3 konečná hodnota je 15, uložená v akumulátore A //
KONIEC
D. divízia:
Org. 0000 h
MOV R0, # 03H // presunúť hodnotu 3 je register R0 //
MOV A, # 15H // presunie hodnotu 5 v akumulátore A //
DIV A, 03H // A = 15/3 konečná hodnota je 5 uložená v akumulátore A //
KONIEC
2. Podmienené pokyny
CPU môže vykonávať pokyny na základe podmienky kontrolou stavu jednobitového stavu alebo stavu bytu sa nazýva podmienené pokyny, ako napríklad:
Na kontrolu jednobitového stavu v bitovo adresovateľnom registri
JB - skok, ak je dole
JNB - skok, ak nie vyššie
Na kontrolu stavu prenosového bitu
JC - skok, ak nesie vlajku
Skok JNC, ak nie je prenos
Ak chcete skontrolovať stav akumulátora, buď 0 alebo 1
JZ - skok, ak je nulový príznak
JNZ- skok, ak nie nula
Toto je všetko o registri nastavenom v mikrokontroléri 8051 a ich alokácii pamäte zásobníka. Dúfame, že tento článok vám mohol poskytnúť základné informácie o tejto téme spolu s niektorými veľmi zaujímavými programami, ktoré každú tému sprevádzajú. Môžete nám tiež napísať o akúkoľvek pomoc v kódovanie mikrokontroléra a tiež o najnovšie projekty na mikrokontroléri .