A mikrokontroller SFR regisztereibe a RESET jel hatására meghatározott alapérték íródik. A felhasználás során ezt figyelembe kell venni. A táblázatban szereplő X határozatlan, előzetesen nem definiált értéket jelent. A PCON regiszterbe íródó alapérték a CMOS-, ill. az NMOS-változatokban eltérő. Ez abból adódik, hogy Power-down-mód csak a CMOS-változatban van. Az SBUF értéke határozatlan.
|
SFR |
Alapérték |
|
PC |
0000H ( 2 bájt ) |
|
ACC |
00H |
|
B |
00H |
|
PSW |
00H |
|
SP |
07H |
|
DPTR |
0000H ( 2 bájt ) |
|
P0-P3 |
FFH |
|
IP |
XXX00000B |
|
IE |
0XX00000B |
|
TMOD |
00H |
|
TCON |
00H |
|
TH0 |
00H |
|
TL0 |
00H |
|
TH1 |
00H |
|
TL1 |
00H |
|
SCON |
00H |
|
PCON ( CMOS ) |
0XXX0000B |
|
PCON ( NMOS ) |
0XXXXXXXB |
Veremmutató ( Stack-Pointer )
A Stack-Pointer funkciója a mikrokontrollerekben is hasonló, mint a mikroprocesszorokban. A RESET jel után az SP-be 07H érték íródik. Tehát a verem-terület a 08H - nál a BANK1-nél kezdődik. Ugyanakkor adott a lehetőség arra, hogy a verem mutatót egy tetszőleges értékkel töltsük fel. A verem a 256 bájtos belső RAM-terület tetszőleges helyén kijelölhető. A verembe író műveleteknél az SP tartalma inkrementálódik. Ez azt jelenti, hogy a verem-memória a kezdő címtől növekvő című területet foglal el.
Adatmutató ( DPTR )
A Data-Pointer 16 bites regiszter, amely LOW-bájt-ból (DPL) és HIGH-bájtból (DPH) áll. A két regiszter tartalma, a megfelelő utasításokkal külön-külön 8 bites bájtként, vagy együtt 16 bites szóként használható. Rendszerint a külső adatmemóriába történő írásnál, vagy olvasásnál közvetett címzéshez használjuk.
Akkumlátor ( ACC )
A mikrokontroller és a mikroprocesszor akkumulátorainak funkciói azonosak. Külön magyarázata ezért nem szükséges.
A B-regiszter
A B-regiszternek meghatározott szerepe csak a szorzásnál és az osztásnál van. Egyébként adattárolóként használható. A program során - a B-be írt adatot - csak a már említett szorzó, vagy az osztó utasítások írják felül.
Programszámláló ( PC )
A programvégrehajtás során mindig a beolvasandó program-kód címét tartalmazza. Szoftverben is használható a kódmemória relatív címzésekor.
Fogyasztásvezérlő regiszter ( PCON )
A PCON regiszterrel különböző csökkentett fogyasztású üzemmódok állíthatók be.
|
Bit cím |
Szimbólum |
Funkció |
|
PCON.0 |
IDL |
Idle-mód bit. ( 1-re aktív ) |
|
PCON.1 |
PD |
Power-down bit. ( 1-re aktív ) |
|
PCON.2 |
GF0 |
Általános célú jelzőbit. 0.bit |
|
PCON.3 |
GF1 |
Általános célú jelzőbit. 1.bit |
|
PCON.4 |
- |
Foglalt |
|
PCON.5 |
- |
Foglalt |
|
PCON.6 |
- |
Foglalt |
|
PCON.7 |
SMOD |
Soros átvitel mód-bit |
Az IDL és PD bitek egyidejű beállításakor a mikrokontroller a Power-down üzemmódba kerül. A regiszter foglalt bitjeit nem szabad felülírni, mert ezáltal a kontroller meghatározhatatlan állapotba kerül. Az SMOD bit 1-be írása a soros port átviteli sebességét ( Baudrate ) az 1, 2, 3-as üzemmódokban megkettőzi.
A T0, T1 időzítő/számláló vezérlőregisztere ( TCON )
A TCON regiszter feladata az időzítő/számláló egységek vezérlése. Ennek bitjeit és azok funkcióit a táblázat mutatja.
|
Bit cím |
Szimbólum |
Funkció |
|
TCON.0 |
IT0 |
Az INT0 külső megszakítás vezérlő bit. 1 értéknél a megszakítás l efutó élre, 0 értélnél LOW szintre történik. |
|
TCON.1 |
IE0 |
Az INT0 megszakítás él-jelző bitje. 1-be íródik, ha a bemenetre le-futó él érkezik. A hardver törli a rutin végén (RETI). |
|
TCON.2 |
IT1 |
Az INT1 külső megszakítás vezérlő bit. Azonos az IT0-al. |
|
TCON.3 |
IE1 |
Az INT1 megszakítás él-jelző bitje. Azonos az IE0-al. |
|
TCON.4 |
TR0 |
A T0 vezérlő bitje. 1 engedélyez, 0 tilt. Irható olvasható. |
|
TCON.5 |
TF0 |
A T0 tulcsordulás bitje. |
|
TCON.6 |
TR1 |
A T1 vezérlő bitje. Azonos az TR0-al. |
|
TCON.7 |
TF1 |
A T1 túlcsordulás bitje.Azonos az TF0-al. |
Timer-Modus regiszter ( TMOD )
A T0 és T1 időzítő/számlálók különböző üzemmódjai állíthatók be a TMOD regiszter egyes bitjeivel. Az indexek a számláló sorszámát jelölik.
|
Bit cím |
Szimbólum |
Funkció |
|
TMOD.0 |
M0 0 |
T0 időzítő/szá mláló üzemmód beállító-bit 0 |
|
TMOD.1 |
M1 0 |
T0 időzítő/számláló üzemmód beállító -bit 1 |
|
TMOD.2 |
C/T 0 |
T0 vezérlő bit, 0 értéknél időzítő, 1értéknél eseményszámláló |
|
TMOD.3 |
GATE 0 |
T0 kapuzó bit, 0 tiltja, 1 engedi az INT0 bemenetről a vezérlést |
|
TMOD.4 |
M0 1 |
T1 id őzítő/számláló üzemmód beállító -bit 0 |
|
TMOD.5 |
M1 1 |
T1 időzítő/számláló üzemmód beállító -bit 1 |
|
TMOD.6 |
C/T 1 |
T1 vezérlő bit, 0 értéknél időzítő, 1értéknél eseményszámláló |
|
TMOD.7 |
GATE 1 |
T1 kapuzó bit, 0 tiltja, 1 engedi az INT bemenetről a vezérlést |
Az M0 és az M1 jelű bitek kombinációja határozza meg a T0 ill.T1 időzítő/számlálók üzemmódját
.
Soros-port vezérlő regiszter ( SCON )
A 8051-es család minden tagjában van szabványos soros adatátviteli port. Az adatátviteli üzemmódok az SCON regiszter egyes bitjeivel állíthatók be. Az SCON regiszterben találhatók a 9 bites adatátviteli üzemmód 8-as adatbitjei ( TB8 az adásnál és RB8 a vétel esetén). Az RI, TI biteket a megszakítást kiszolgáló rutinban kell törölni.
|
Bit cím |
Szimbólum |
Funkció |
|
SCON.0 |
RI |
A vételi megszakítás jelzője. A hardver állítja 1-be. |
|
SCON.1 |
TI |
Az adás megszakításjelzője.A stopbit kezdete, ill.a 0-ás üzemmódban a 8.bit írja 1-be. |
|
SCON.2 |
RB8 |
A vett adat 9.bitje a 2-es, 3-as adatátviteli üzemmódban. 1-es módban a stop bit. |
|
SCON.3 |
TB8 |
A küldött adat 9.bitje a 2-es, 3-as adatátviteli üzemmódban. |
|
SCON.4 |
REN |
E bit beírásával vagy törlésével lehet szoftverből indítani, ill. leállítani a vételt. |
|
SCON.5 |
SM2 |
A beállított üzemmód funkcióinak beállítását végzi. |
|
SCON.6 SCON.7 |
SM1 SM0 |
A soros port üzemmódjait állítják be. |
A soros port adatpuffere ( SBUF )
Az SBUF regiszter tárolja az adás előtt a kiviendő adatot, ill. ide íródik be a soros portról vett bájt. A regiszter tehát mind a vételnél, mind az adásnál csak átmenetileg tárol egy bájtot. Vételkor a felhasználónak kell arról gondoskodni, hogy a vétel után azonnal kiolvassa az SBUF tartalmát, és eltárolja azt. Ennek elmulasztása esetén a soros vonalon érkező újabb bá
jt felülírja az SBUF-t. A teljes bájt vétele, ill. az üzemmódtól függő 9.bit után a megszakítást kérő flag (Interrupt-Request-Flag ) 1-be íródik. A vett bájt átvitelét a megszakítás-rutinnak kell végrehajtania.Az SBUF regiszterbe kerülő nyolc adatbit mellett egy kilencedik belső bit a vezérlést szolgálja. Az adóregiszternél ez a SEND bit, amelynek 1-be írásakor indul tényleges adás. A vevőregiszternél ez a RECEIVE bit. ( Az SBUF regiszternek csak egy címe van, bár fizikailag két különböző SBUF regiszter sz
olgál a vétel és az adás adatainak a tárolására. )
Megszakításengedélyező regiszter ( IE )
A 8051 mikrokontroller megszakításainak engedélyezése az IE-regiszter tartalmának megfelelő beírásával végezhető. Az EA (IE.7) jelű bit az általános megszakítás engedélyező. Amikor EA=0,akkor mindegyik megszakítás tiltott. Az általános engedélyezés (EA=1) mellet az IE regiszter megfelelő bitjét is be kell írni a kívánt megszakítás engedélyezéséhez.
|
Bit cím |
Szimbólum |
Funkció |
|
IE.0 |
EX0 |
A külső INT0 eng edélyezése |
|
IE.1 |
ET0 |
A T0 időzítő túlcsordulás megszakítás-engedélyezése |
|
IE.2 |
EX1 |
A külső INT1 engedélyezése |
|
IE.3 |
ET1 |
A T1 időzítő túlcsordulás megszakítás-engedélyezése |
|
IE.4 |
ES |
A soros-vonal megszakítás engedélyezése |
|
IE.5 |
ET2 |
A T2 időzítő túlcsordulá s megszakítás-engedélyezése |
|
IE.6 |
IE.6 |
Foglalt |
|
IE.7 |
EA |
Általános megszakítás-engedélyezés |
Megszakításprioritás- ( IP ) regiszter
A 8051 megszakítás vezérlő része két prioritás szintet különböztet meg. Az egyes megszakítás források prioritását az IP regiszter megfelelő beírásával végezhetjük. Az 1 jelenti a magasabb prioritást.
|
Bit cím |
Szimbólum |
Funkció |
|
IP.0 |
PX0 |
A külső INT0 prioritása |
|
IP.1 |
PT0 |
A T0 időzítő prioritása |
|
IP.2 |
PX1 |
A külső INT1 prioritása |
|
IP.3 |
PT1 |
A T1 időzítő prioritása |
|
IP.4 |
PS |
A soros vonal prioritása |
|
IP.5 |
PT2 |
A T2 időzítő prioritása ( csak 8052-nél ) |
|
IP.6 |
- |
Foglalt |
|
IP.7 |
- |
Foglalt |
A T2 időzítő/számláló vezérlőregisztere ( T2CON )
A T2 időzítő/számláló működését a T2CON regiszter tartalma vezérli.A táblázat foglalja össze az egyes üzemmódok beállítási lehetőségeit.
|
Bit cím |
Szimbólum |
Funkció |
|
T2CON.0 |
CP/RL2 |
Capture/Reload-flag.1 értéke választja ki a Capture üzemmódot, 0-nál az újratöltés érvényes. A bit csak EXEN2 1-értéke mellett érvényes. |
|
T2CON.1 |
C/T2 |
Üzemmódválasztó bit. 0-nál késleltető (az foszc/12 belső jelet számlálja), 1-nél eseményszámláló (a P1.0 bemenetre érkező 1-0 értéket számlálja). |
|
T2CON.2 |
TR2 |
1 indítja, míg a 0 leállítja T2-t. |
|
T2CON.3 |
EXEN2 |
1-el engedélyezi T2 külső vezérlését. A T2EX bemenetre érkező 1-0 átmenet Capture, Reload funkciót vált ki. |
|
T2CON.4 |
TCLK |
Adásórajel-flag. Ha 1, akkor T2 túlcsordulása az adás ütemezőjele, ellenkező esetben csupán a T1 túlcsordulása. |
|
T2CON.5 |
RCLK |
Vételórajel-flag. Szerepe ua. mint TCLK-nak. |
|
T2CON.6 |
EXF2 |
T2 külső flag. Akkor íródik 1-be, amikor a T2EX bemenetre érkező negatív él Capture v. Reload működést eredményez. ( szoftverben kell törölni ) |
|
T2CON.7 |
TF2 |
A T2 túlcsordulásbitje. |
Program-állapot-szó regiszter ( PSW )
A PSW-ben különböző jelzőbitek ( flag-ek ) vannak, amelyek többek között meghatározott programugrások feltételei lehetnek.
|
Bit cím |
Szimbólum |
Funkció |
|
PSW.0 |
P |
Paritás bit |
|
PSW.1 |
- |
Foglalt |
|
PSW.2 |
OV |
aritmetikai túlcsordulás bit |
|
PSW.3 |
RS0 |
Regiszterbank választó bit 0 |
|
PSW.4 |
RS1 |
Regiszterbank választó bit 1 |
|
PSW.5 |
F0 |
Általános célú bit. Tetsző-legesen felhasználható |
|
PSW.6 |
AC |
Fél-átvitel bit |
|
PSW.7 |
CY |
Átvitel - áthozat bit |
Az RS1 és az RS0 bitek segítségével választható ki az aktuális regiszterbank. A bitekből alkotott bináris szám értéke az aktív bank sorszáma. A CY, AC és OV flag-eket az aritmetikai utasítások írják 1-be, vagy törlik. A P paritást jelző bit.1-be íródik, ha az akkumulátorban páros számú 1-es van és törlődik páratlan számú 1-es esetében. A P értéke minden gépi ciklusban újra képződik.