Hakamův blog
Reklama:
Pivní kvasinka

2008-08-14 16:46:13

Organizace paměti mikroprocesoru 8051

Nedávno jsem našel na disku obrázek - schéma organizace paměti 8051 - který jsem kreslil v době, kdy jsem byl nucen se v rámci studia na SPŠ procesorem 8051 zabývat. Řekl jsem si, že je škoda se o něj nepodělit. Přidávám k tomu i nějaký moje poznámky a vlastní obrázky.

Co to vůbec je ta 8051?

8051 je označení mikrokontroléru, který byl vyvinut v roce 1980. Jedná se o 8-bitový procesor s harvardskou architekturou. Programování procesoru 8051 je dodnes součástí výuky na mnoha počítačově zaměřených školách.

Procesor 8051

Organizace paměti u x51

Toto je ten obrázek rozdělení paměťového prostoru u procesoru 8051.

Organizace paměti procesoru 8051

V pravé části jsou adresy registrů zapsány v šestnáctkové soustavě (hexadecimální - proto je tam to písmeno H) a vlevo jsou adresy klasicky v desítkové soustavě.

Speciální funkční registry procesoru 8051

Nejvrchnější oblast (ta růžová) s nápisem "Oblast SFR" je prostor pro tzv. speciální funkční registry. Nacházejí se na adresách 80h - 0FFh (viz horní schéma).

A

- Střadač (akumulátor)
- 8 bitový
- označován jako Acc (pokud se přistupuje k jednotlivým bitům, např.: Acc.0)

Registr A - střadač

B

- pro všeobecné použití a společně s A na aritmetické operace
- 8 bitový

PSW

= processor status word (stavové slovo mikroprocesoru) - 8bitový

Registr PSW

Význam jednotlivých bitů:
P = příznak parity (Parity flag)
- Indikuje lichou paritu střadače. Je-li ve střadači lichý počet jedniček, je příznak parity roven 1.
- Příznak je aktualizován po každé instrukci a závisí výhradně na obsahu střadače, nikoliv na typu instrukce.

OV = příznak přetečení výsledku aritmetické operace (Overflow)
- to pak dopíšu...

RS0 a RS1
- určují aktuální banku, jejíž registry R0 až R7 budou používány
- po resetu je nastavena banka 0 (RS0=0 a RS1=0)

RS1RS0BankaAdresa banky
00banka 000h - 07h
01banka 108h - 0Fh
10banka 210h - 17h
11banka 318h - 1Fh

F0
- Uživatelský příznak
- Pouze pro programátora
- Příznak je pozůstatkem po vývojově předcházejícím procesoru 8048, který nebyl vybaven takovou škálou příznaků.

AC
- Vnitřní přenos (Auxiliary carry)
- je nastaven dojde-li při sčítání k přenosu mezi čtvrtým (b3) a pátým (b4) bitem střadače. - využíván při dekadické korekci DAA
- Přenos při operacích s BCD čísly ve zhuštěném tvaru

C
- někdy taky CY
- Příznak přenosu (Carry) je nastaven při aritmetické operaci, při které dochází k přenosu z osmého (b7) do devátého (b8) bitu a při některých instrukcích porovnání.
- indikuje přenos do vyššího řádu

SP

= stack pointer - ukazatel zásobníku
- 8bitový
- po resetu má nastavenou hodnotu 7

DPL a DPH (dohromady DPTR)

- DPTR - ukazatel dat (data pointer)
- DPTR je 16 bitový registr

- DPH = 8 horních bitů
- DPL = 8 dolních bitů
- DPL a DPH tvoří dohromady DPTR

PC

= Čítač instrukcí (program counter)
- ukazuje na adresu programové instrukce
- není přímo přístupný programátorovi
- je 16-bitový čítač instrukcí
- po resetu je nastaven na 0 (první instrukce má adresu 0)

Adresy SFR u 8051

RegistrAdresa v hexa
AccE0H
BF0H
PSWD0H
SP81H
DPTR82, 83H
P.080H
P.190H
P.2A0H
P.3B0H
IPB8H
IEA8H
TMOD89H
TCON88H
TH08CH
TH18AH
TL18BH
SCON98H
SBUF99H

Komentáře:

[1] Squatter | 2009-05-18 19:56:32
dik hodi se to jen tak dal
[2] Squatter | 2009-05-18 19:57:33
dik hodi se to jen tak dal
[3] Squatter | 2009-05-18 19:57:47
nestudujes ty na ustafu?

 Přidat nový komentář: 
Jméno:
Email:
Homepage:
Text:
Opište: 

© 2005-2009 Kamil Havlíček [hakam] | XAGATRON.CZ | RSS