Az MCS-51 SFR regiszterei

 

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 lefutó é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

M00

T0 időzítő/számláló üzemmód beállító-bit 0

TMOD.1

M10

T0 időzítő/számláló üzemmód beállító -bit 1

TMOD.2

C/T0

T0 vezérlő bit, 0 értéknél időzítő, 1értéknél eseményszámláló

TMOD.3

GATE0

T0 kapuzó bit, 0 tiltja, 1 engedi az INT0 bemenetről a vezérlést

TMOD.4

M01

T1 időzítő/számláló üzemmód beállító -bit 0

TMOD.5

M11

T1 időzítő/számláló üzemmód beállító -bit 1

TMOD.6

C/T1

T1 vezérlő bit, 0 értéknél időzítő, 1értéknél eseményszámláló

TMOD.7

GATE1

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 szolgá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 engedé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.

 

Vissza