Procesory z řady 8051

Podobné dokumenty
Činnost CPU. IMTEE Přednáška č. 2. Několik úrovní abstrakce od obvodů CPU: Hodinový cyklus fáze strojový cyklus instrukční cyklus

Mikrokontroléry. Doplňující text pro POS K. D. 2001

Seznámení s mikropočítačem. Architektura mikropočítače. Instrukce. Paměť. Čítače. Porovnání s AT89C2051

MIKROPOČÍTAČOVÉ SYSTÉMY

Jednočipové mikropočítače (mikrokontroléry)

Mikroprocesor Intel 8051


Pohled do nitra mikroprocesoru Josef Horálek

Základní uspořádání pamětí MCU

Mikrořadiče řady 8051.

Profilová část maturitní zkoušky 2014/2015

MSP 430F1611. Jiří Kašpar. Charakteristika

Profilová část maturitní zkoušky 2015/2016

Úvodem. Jádro procesoru 8051

Semestrální práce z předmětu Speciální číslicové systémy X31SCS

Čísla, reprezentace, zjednodušené výpočty

RISC a CISC architektura

7. Monolitické počítače, vlastnosti a použití.

Architekura mikroprocesoru AVR ATMega ( Pokročilé architektury počítačů )

ZÁKLADY PROGRAMOVÁNÍ. Mgr. Vladislav BEDNÁŘ /14

Princip funkce počítače

Struktura a architektura počítačů (BI-SAP) 7

Integrovaná střední škola, Sokolnice 496

ODBORNÝ VÝCVIK VE 3. TISÍCILETÍ. MEIII Paměti konstant

Základy informatiky. 2. Přednáška HW. Lenka Carr Motyčková. February 22, 2011 Základy informatiky 2

Strojový kód. Instrukce počítače

Procesor z pohledu programátora

Akademický rok: 2004/05 Datum: Příjmení: Křestní jméno: Osobní číslo: Obor:

Architektury počítačů a procesorů

Vestavné systémy BI-VES Přednáška 5

Sběrnicová architektura POT POT. Jednotlivé subsystémy počítače jsou propojeny sběrnicí, po které se přenáší data oběma směry.


2. Prehľad vlastností jednočipových mikropočítačov (I-8048, I-8051, I-80196)

Čísla, reprezentace, zjednodušené výpočty

Použití mikrokontroléru pro realizaci různých sériových rozhraní

Zadání semestrálního projektu PAM

Řízení IO přenosů DMA řadičem

Přednáška A3B38MMP. Bloky mikropočítače vestavné aplikace, dohlížecí obvody. 2015, kat. měření, ČVUT - FEL, Praha J. Fischer

Architektura počítače

Sběrnicová struktura PC Procesory PC funkce, vlastnosti Interní počítačové paměti PC

Metody připojování periferií

Praktické úlohy- 2.oblast zaměření

Programátorský model procesoru x51

Sběrnicová struktura PC Procesory PC funkce, vlastnosti Interní počítačové paměti PC

Principy komunikace s adaptéry periferních zařízení (PZ)

Klimatizace. Třída: 4.C. Střední Průmyslová Škola Elektrotechnická Havířov Protokol do MIT. Skupina: 3. Zpráva číslo: 3

uz80 Embedded Board ver. 1.0 uz80 Vestavná Řídící Deska ver. 1.0

VÝUKOVÝ MATERIÁL. 3. ročník učebního oboru Elektrikář Přílohy. bez příloh. Identifikační údaje školy

Počítač jako prostředek řízení. Struktura a organizace počítače

Úvod do mobilní robotiky AIL028

Semestrální práce do předmětu Speciální číslicové systémy Mikrokontroléry HC08

Jízda po čáře pro reklamní robot

Základní principy konstrukce systémové sběrnice - shrnutí. Shrnout základní principy konstrukce a fungování systémových sběrnic.

SEKVENČNÍ LOGICKÉ OBVODY

Vrstvy periferních rozhraní

od jaké adresy bude program umístěn? Intel Hex soubor, co to je, z čeho a jak se získá, k čemu slouží? Pseudoinstrukce (direktivy) překladače ORG, SET

3. Principy komunikace s perifériemi: V/V brány, programové řízení, přerušení, řešení priorit. Řadiče, DMA kanály. Popis činnosti DMA kanálu.

Vývoj výpočetní techniky. Rozdělení počítačů. Blokové schéma počítače

Koncepce DMA POT POT. Při vstupu nebo výstupu dat se opakují jednoduché činnosti. Jednotlivé kroky lze realizovat pomocí speciálního HW.

Architektura procesoru ARM

Návrh konstrukce odchovny 2. dil

PROCESOR. Typy procesorů

Mikroprocesory z ř ady 8051

velikosti vnitřních pamětí? Jaké periferní obvody má na čipu a k čemu slouží? Jaká je minimální sestava mikropočítače z řady 51 pro vestavnou aplikaci

Program "Světla" pro mikropočítač PMI-80

Metody připojování periferií BI-MPP Přednáška 2

Struktura a architektura počítačů (BI-SAP) 10

Paměti. Paměť je zařízení, které slouží k ukládání programů a dat, s nimiž počítač pracuje

Mikrořadiče pro přístrojovou techniku

MIKROPROCESOROVÁ TECHNIKA 9 Událostní systém 9.1 Události Síť ERN Časování událostí Filtrace

Procesory, mikroprocesory, procesory na FPGA O. Novák, CIE 11 1

Gymnázium Vysoké Mýto nám. Vaňorného 163, Vysoké Mýto

2.8 Procesory. Střední průmyslová škola strojnická Vsetín. Ing. Martin Baričák. Název šablony Název DUMu. Předmět Druh učebního materiálu

Obsluha periferních operací, přerušení a jeho obsluha, vybavení systémových sběrnic

Základní deska (1) Označována také jako mainboard, motherboard. Deska plošného spoje tvořící základ celého počítače Zpravidla obsahuje:

Mikrokontrolery. Úvod do obvodů Atmega 328 a PIC16F88

Paměti Josef Horálek

Gymnázium Vysoké Mýto nám. Vaňorného 163, Vysoké Mýto

Dekódování adres a návrh paměťového systému

Počítače Didaktik. Jan Lorenz. Semestrální projekt z X31SCS

Číselné vyjádření hodnoty. Kolik váží hrouda zlata?

Převodník DCPSE. Komunikační protokol

Jak do počítače. aneb. Co je vlastně uvnitř

3. Počítačové systémy

PROTOKOL O LABORATORNÍM CVIČENÍ

MIKROPROCESOROVÁ TECHNIKA

Základní pojmy. Program: Algoritmus zapsaný v programovacím jazyce, který řeší nějaký konkrétní úkol. Jedná se o posloupnost instrukcí.

MĚŘICÍ PŘÍSTROJ PRO PC. 4 VSTUPY: 0 10 V ZESÍLENÍ : 1x, 2x, 4x, 8x VÝSTUP: LINKA RS232 RS232 DRAK 4 U1 U2 U3 U4

Architektura počítačů

ČEMU ROZUMÍ MIKROPROCESOR?

FPGA + mikroprocesorové jádro:

Mikroprocesory v přístrojové technice

Univerzita Pardubice Dopravní fakulta Jana Pernera. Výukový přípravek s procesorem typu Michal Bubeník

Ústav radioelektroniky

Způsoby realizace této funkce:

Mikrořadiče společnosti Atmel

PCKIT LPT MODUL SBĚRNICE IOBUS PRO PC LPT. Příručka uživatele. Střešovická 49, Praha 6, s o f c o s o f c o n.

Rozšiřující desce s dalšími paralelními porty Rozšiřující desce s motorkem Elektrickém zapojení Principu činnosti Způsobu programování

Vstupně - výstupní moduly

Transkript:

Procesory z řady 8051 A/D a D/A převodníky, komparátory Nízký příkon napájení 3,3V Malá pouzdra pro plošnou montáž Programová Flash OTP-EPROM Redukované nebo rozšířené I/O vývody Jádro 80C51 Kapacita programu 1 až 64 kb Speciální funkce EEPROM 640B až 2 kb Kmitočet od 0 do 100MHz Přístrojové sběrnice PAM1-06 1 Do začátku devadesátých let minulého století vývoj procesorů s jádrem mikroprocesoru 8051 více méně stagnoval, výrobci se převážně soustředili na výrobu standardních typů a případně procesorů s rozšířeným počtem vstupně/výstupních bran a některých periferií. Změny v tomto trendu zahájila firma Atmel, která přinesla na trh procesory s programovou pamětí Flash, kterou si mohl naprogramovat v jednoduchém přípravku skoro každý amatér. Současně stím začala firma vyrábět i procesory s redukovaným počtem vstupně/výstupních bran (obvykle P1 a P3), menší kapacitou programové paměti (1 až 4 kb) a někdy i vnitřní paměti RAM umístěných v pouzdru s 20 vývody. K tomuto trendu se přidali i jiní výrobci a redukované procesory případně rozšířili o jednou nebo více specializovaných periferií jako je 8-bitový A/D převodník, pulzně šířková modulace PWM nebo sběrnice I 2 C a umístili je do pouzder s až 28 vývody. Směr jednoduchých procesorů, které jsou určeny pro jednodušší řídící a kontrolní aplikace, dosáhl velké obliby a dnes se rozšiřuje až k procesorům s 8 vývody. Druhý a častěji využívaný směr vedl k vývoji procesorů, které jsou rozšířeny o další vstupně/výstupní brány, A/D a D/A převodníky, další čítače, časovače pro realizaci obvodu watchdog, komparační a záchytný systém, přístrojové sběrnice a případně pomocné jádro urychlující některé matematické operace. Tyto procesory se vyrábějí v závislosti na počtu periferií v pouzdrech s 44 (PLCC,QFP), 68 (PLCC), 80 (QFP) a 84 (PLCC) vývody.

Procesory z řady 8051 A/D a D/A převodníky, komparátory Nízký příkon napájení 3,3V Malá pouzdra pro plošnou montáž Programová Flash OTP-EPROM Redukované nebo rozšířené I/O vývody Jádro 80C51 Kapacita programu 1 až 64 kb Speciální funkce EEPROM 640B až 2 kb Kmitočet od 0 do 100MHz Přístrojové sběrnice PAM1-06 2 Knejvětšímu počtu zlepšení a inovací u procesorů z řady 8051 dochází v posledních 6 letech. Proč se inovace realizují právě na těchto procesorech, které by s ohledem na rok vzniku (1979) měly patřit do historie? Důvodem je jednoduchost procesoru, který v současné době patří mezi nejpopulárnější 8- bitové architektury na celém světě. Jeho instrukční soubor je jednoduchý, snadno pochopitelný a mezi návrháři procesorových systémů je velmi oblíbený. Mnoho instrukcí adresuje přímo V/V vývody, dovoluje rychlou manipulaci s externími periferiemi. Protože pro realizované projekty potřebují návrháři rychlejší přístup kněkterým periferiím a stále vyšší výpočetní výkon, přistoupilo několik výrobců k modifikaci časování těchto procesorů a následnému zrychlení instrukčního cyklu. Nejprve jednalo o přechod z 12 period synchronizačního signálu na instrukční cyklus na periody čtyři. S příchodem dalších výrobců se objevují procesory se šesti, dvěma a jednou periodou hodinového signálu na jeden strojový cyklus. Skutečný start v inovacích však zahájila firma Analog Devices, která se snížila k zahájení výroby procesoru 8051 s 12 bitovým A/D převodníkem. S mírným zpožděním se k ní přidala i druhá firma (Texas Instruments) dominující v oblasti signálových procesorů, která přinesla na trh procesor s 24 bitovým sigma delta převodníkem. Výrazně inovuje svůj program firma Cygnal a následně se přidává firma ST Microelectronics (Thomson), která se výrobou těchto procesorů nezabývala. Příchod takto velkých firem, u kterých bychom před několika lety asi těžko předpokládali, že se začnou výrobou procesorů 8051 vůbec zabývat, vede v současnosti k překotnému vývoji těchto procesorů a zajišťuje jejich praktické využívání další dlouhá léta.

Procesory z řady 8051 A/D a D/A převodníky, komparátory Nízký příkon napájení 3,3V Malá pouzdra pro plošnou montáž Programová Flash OTP-EPROM Redukované nebo rozšířené I/O vývody Jádro 80C51 Kapacita programu 1 až 64 kb Speciální funkce EEPROM 640B až 2 kb Kmitočet od 0 do 100MHz Přístrojové sběrnice PAM1-06 3 Procesory jsou vybaveny interní programovou pamětí Flash od 1kB do 64kB výjimečně až do 288kB, případně pamětí EPROM od 2kB do 64kB, kterou lze programovat jenom jednou (provedení OTP). Provedení s mazatelnou pamětí EPROM (s okénkem) se prakticky nevyrábí a pokud ano, tak jejich cena mnohonásobně převyšuje provedení s pamětí Flash, která je něco dražší než provedení OTP. Datová se pohybuje od 128B do 8kB a výjimečně až 32kB. Pro uchovávání kalibračních tabulek a konstant jsou procesory doplňovány pamětí EEPROM jejíž kapacita se pohybuje od 640B do 2kB, u některých typů lze využít až 16kB nebo více. Firmy zabývající se výrobou A/D a D/A převodníků oživily dosud stagnující výrobu procesorů s 8, 10 a maximálně 12 bitovým převodníkem a přinesly na trh procesory s 16 a 24 bitové sigma delta převodníky. Pro podporu připojení externích obvodů jsou procesory rozšířeny o přístrojové sběrnice I 2 C, SPI výjimečně 1-wire a pro multiprocesorovou komunikaci nově rozhraním TWI. Nejmenší typy procesorů (řadičů) mají omezený počet vstupně/výstupních vývodů až na hodnotu 6, ale existují i typy srozšířeným počtem vývodů až na 8 V/V bran. Procesory jsou doplňovány komparačními a záchytnými systémy, pulsně šířkovou modulací případně hodinami reálného času. Spíše výjimečně některé firmy posilují výpočetní výkon procesoru rozšířenými aritmetickými jednotkami (koprocesory) jako např. Infineon 80C517A, Cygnal C8051F12x. Hodinový kmitočet se z původních 12MHz zvýšil až na 100MHz, ale hlavně někteří výrobci Dallas, Cygnal, Texas Instruments, Philips změnili vnitřní časování instrukčního cyklu procesoru způvodních 12 hodinových synchronizačních cyklů na 6, 4, 2 a nakonec i jeden hodinový cyklus. V důsledku toho je při posuzování výpočetního výkonu nutno

Jádro procesoru 8051 - Bloková struktura XTAL1 XTAL2 CPU Generátor hodin časování EA RST ALE PSEN INT0 INT1 Řadič přerušení Vnitřní RAM V/V brána 0 data/adr. V/V brána 1 P0 P1 T0 T1 Čítače Vnitřní programu V/V brána 2 vněj.adr. P2 TxD RxD Sériový kanál V/V brána 3 řízení P3 PAM1-06 4 Procesor 8051 je 8-bitový jednočipový mikroprocesor s harwardskou strukturou, u které je oddělena programová a datová. Na obrázku je zobrazena jeho vnitřní struktura, která je schopna samostatné činnosti po připojení vnějšího piezokeramického rezonátoru ("krystalu") na vývody XTAL1 a XTAL2 a napájecího napětí 5V nebo 3,3V. Na čipu procesoru je umístěna vlastní procesorová jednotka (CPU), která je vnitřní sběrnicí propojena s pamětí programu Flash nebo EPROM (existují i typy bez této paměti), s pamětí RAM o kapacitě 128 bytů a se čtyřmi vstupně/výstupními branami P0 až P3, které zajišťují styk procesoru s vnějšími periferiemi. Nechceme-li využívat procesor v jednočipové konfiguraci případně nemůžeme (procesor není vybaven interní programovou pamětí), jsou z procesoru vyvedeny řídící signály pro správu vnější programové (PSEN) a datové (WR,RD) paměti, z nichž každá je přímo adresovatelná do kapacity 64kB. Pro snadnější styk s periferiemi je procesor vybaven řadičem přerušení, který zpracovává minimálně 5 zdrojů přerušení (2 externí, od každého ze dvou časovačů a od sériového kanálu). Jednotlivá přerušení mají definovanou prioritu na každé ze dvou volitelných úrovní priority. Čítače, které usnadňují realizaci časování, jsou 16-bitové s hodinovým signálem odvozeným z interního generátoru hodin nebo z vnějších vstupů T0 nebo T1. Pro snazší sériové spojení s nadřízenými počítači nebo jinými spolupracujícími procesory je vybaven duplexním (obousměrným) sériovým kanálem. Procesor je vybaven Booleovským procesorem, který umožňuje pracovat s jednotlivými bity vnitřní paměti RAM i interních periferií bez nutnosti čtení celých bytů a maskování potřebných bitů. Pro základní hodinový kmitočet 12MHz s 12 periodami hodinového kmitočtu na instrukční cyklus trvají instrukce 1µs nebo

Jádro procesoru 8051 Organizace paměti Paměť programu Paměť dat FFFFh 1000h 0FFFh Vnější EA=0 nebo 1 Vnější Vnitřní FFH 80H 7FH Registry speciálních funkcí Vnitřní Rozšířená FFFFh Vnější RAM Vnější Vnitřní Vnitřní EA=0 EA=1 RAM RAM EEPROM 0000h 00H 0000h Přístup instrukcemi MOVC @DPTR, A MOVC @DPTR, A MOV adr, A MOV @Ri, A Klasické 8051 interní programová (2 64kB) a datová (128B 256B) Inovované typy disponují rozšířenou pamětí konstant EEPROM (640B 2kB), která je obvykle umístěna v datovém prostoru procesoru a rozšířenou datovou (1kB 4kB) pamětí. Protože se oba prostory se adresově překrývají, jsou informace v nich uložené dostupné pomocí různých instrukcí MOVC (programová -čtení) a MOV nebo MOVX (datová čtení/zápis). Interní programová Flash nebo EPROM (EA=1) až do své kapacity, zbývající část adresového prostoru do 64kB je tvořena vnější pamětí. PAM2-06 5 Klasické mikroprocesory z řady 8051 jsou vybaveny programovou a datovou pamětí, inovované typy často disponují ještě pamětí konstant (EEPROM), která je obvykle umístěna v datovém prostoru procesoru obr.5.3. Protože oba prostory se adresově překrývají, jsou informace v nich uložené dostupné pomocí různých instrukcí MOVC (programová -čtení) a MOV nebo MOVX (datová čtení/zápis). Programová je obvykle tvořena vnitřní pamětí Flash nebo EPROM (EA=1) až do své kapacity a ve zbývající části adresového prostoru do 64kB je umístěna vnější programu. Je-li nastaveno EA=0, potom je celý adresový prostor rezervován pro vnější programu. Pro uchování dat nebo konstant jsou moderní 8051 vybaveny několika typy datových pamětí, které nemají zcela ustálený způsob přístupu. Přístup do jednotlivých pamětí je realizován pomocí rozdílných instrukcí a případně je ještě ovlivňován příznaky. Tak je zabráněno kolizím při čtení z jednotlivých typů pamětí, které leží ve stejném adresovém prostoru. Zde se nejvíce projevuje stáří architektury tohoto procesoru, u kterého se nepočítalo s budoucími požadavky na datový prostor. Ten lze rozdělit, stejně jako u programové paměti, na vnitřní (umístěný na čipu) a vnější, který lze v případě potřeby vytvořit s pomocí dalších součástek.

Jádro procesoru 8051 Organizace paměti Paměť programu Paměť dat FFFFh 1000h 0FFFh Vnější EA=0 nebo 1 Vnější Vnitřní EA=0 EA=1 FFH 80H 7FH Registry speciálních funkcí Vnitřní Rozšířená FFFFh Vnější RAM Vnější Vnitřní Vnitřní RAM RAM EEPROM 0000h 00H 0000h Přístup instrukcemi MOVC @DPTR, A MOVC @DPTR, A MOV adr, A MOV @Ri, A PROBLÉM dojde-li k desinterpretaci programu a procesor realizuje přístup do vnější programové paměti, začne měnit stav na branách P0 a P2, může ovlivňovat strategické periferie. Je-li nastaveno EA=0, potom je celý adresový prostor rezervován pro vnější programu. Pro uchování dat nebo konstant jsou moderní 8051 vybaveny několika typy datových pamětí, které nemají zcela ustálený způsob přístupu (instrukcí, několika instrukcemi a nastavením příznaků). Tak je zabráněno kolizím při čtení z jednotlivých typů pamětí, které leží ve stejném adresovém prostoru. Datová je rozdělena na vnitřní (umístěnou na čipu) a vnější, kterou lze vytvořit s pomocí dalších součástek. PAM1-06 6 Rozšířená vnitřní RAM do kapacity 256 bytů leží v adresovém prostoru 80h až FFh a je přístupná pouze pomocí instrukcí nepřímého adresování (tj. např. MOV @Ri,A, kde Ri je aktuální nebo R1). Vnější datová RAM s kapacitou až do 64kB je přístupná přes 16-bitový pomocný ukazatel datové paměti DPTR. Ukazatel DPTR u běžných 8051 může být naplněn konkrétní adresou ového místa nebo inkrementován (INC DPTR). Instrukce dekrementace obvykle chybí a DPTR může být zmenšován pouze zmenšováním hodnot jeho dílčích částí tj. DPH a DPL. Vnější datová může být přístupná i s pomocí registrů a R1 příslušné aktivní banky, které se využívají k 8- bitovému nepřímému adresování. Zápisem 8-bitové hodnoty do výstupní brány P2, která představuje horní část adresy při adresování vnější paměti, vybereme jeden z 256 bloků paměti RAM o 256 bytech. Nepřímým adresováním pomocí registrů a R1 potom můžeme zapsat nebo přečíst vybraný byte ve zvoleném bloku externí datové paměti. Má-li procesor větší interní RAM (>256bytů), potom část nad 256 bytů bývá umístěna jakoby ve vnějším adresovém prostoru a je přístupná pouze pomocí instrukce MOVX A, @DPTR nebo. Podmínkou přístupu je nastavení nějakého bitu, který určuje zda se jedná o přistup do vnitřní paměti RAM nebo vnější paměti RAM. Označení tohoto bitu není ustálené a například u procesorů Atmel je označen EXTRAM. Je-li EXTRAM=0, potom se jedná o přístup do vnitřní paměti a instrukce MOVX neovlivňuje brány P0,P2 a signály WR nebo RD, jako u skutečného přístupu do vnější datové paměti. Je-li procesor vybaven vnitřní pamětí EEPROM, pak bývá přístupná jako vnější dat (opět instrukcí MOVX) po nastavení bitu EEMEM=1 (Atmel) nebo nepřímo pomocí speciálních registrů (procesory ADuc od firmy Analog Devices).

Jádro procesoru 8051 Interní datová Dekadické adresy 127 48 47 32 31 24 23 16 15 8 7 6 5 4 3 2 1 0 7FH Zbývající vnitřní RAM 30H 2FH R6 R5 R4 R3 R2 R1 PC 20H 1FH 18H 17H 10H 0FH 08H 07H 06H 05H 04H 03H 02H 01H 00H Bitová oblast Banka 3 Banka 2 Banka 1 Banka 0 P3 P2 P1 P0 DPH DPL SBUF SCON TH1 TL1 TH0 TL0 TCON TMOD PCON IE IP SP PSW ACC B0H A0H 90H 80H 83H 82H 99H 98H 8DH 8BH 8CH 8AH 88H 89H 87H A8H B8H 81H D0H E0H Čítač instrukcí brány DPTR Ukazatel dat Čítač-časovač 1 Čítač-časovač 0 časovačů napájení přerušení Stavové slovo B F0H Registr B Střadač PAM1-06 7 Na obrázku je základní rozdělení vnitřní datové paměti včetně umístění speciálních registrů. Základní vnitřní datový prostor leží od adresy 00h do 7Fh a speciální registry leží v prostoru 80h až FFh. Vnitřní datová RAM obsahuje čtyři banky (0,1,2,3) po osmi registrech, R1, až (adresy 00H - 1FH), za kterými je vyhrazeno 16 bytů (adresy 20H-2FH) pro tzv. bitovou oblast. Jednotlivé bity ových míst počínaje nejnižší adresou (20h) a nejnižším bitem (b0 - adresa bitu 00h) jsou vzestupně přímo adresovatelné. Přímo adresovatelných bitů v této oblasti je 128 (posledním bitem s adresou 127 (7Fh) je bit b7 na adrese 2Fh). Dalších 128 adres (od 80h do FFh) se využívá k adresování některých významných bitů příslušejících speciálním registrům, jejichž adresa je dělitelná hodnotou 8 (80h, 88h, atd.). Zbývající datová RAM počínaje adresou 30h a konče adresou 7Fh je uživateli volně přístupná pro přímé i nepřímé adresování až na prostor nezbytný pro umístění zásobníku. Je-li procesor vybaven rozšířenou vnitřní datovou pamětí, může být zásobník umístěn v tomto adresovém prostoru. Oblast speciálních funkcí (SFR) je tvořena minimálně 21 registry, které leží v adresovém prostoru 128 (80h) až 255 (FFh) za vnitřní pamětí RAM a ve stejném adresovém prostoru jako leží rozšířená datová RAM u nástupců procesoru 8051. Z tohoto důvodu jsou speciální registry přístupné pouze pomocí přímého adresování bytů (např. MOV PSW,#data) nebo jednotlivých bitů některých registrů.

Jádro procesoru 8051 Interní datová Dekadické adresy 127 48 47 32 31 24 23 16 15 8 7 6 5 4 3 2 1 0 7FH Zbývající vnitřní RAM 30H 2FH R6 R5 R4 R3 R2 R1 PC 20H 1FH 18H 17H 10H 0FH 08H 07H 06H 05H 04H 03H 02H 01H 00H Bitová oblast Banka 3 Banka 2 Banka 1 Banka 0 P3 P2 P1 P0 DPH DPL SBUF SCON TH1 TL1 TH0 TL0 TCON TMOD PCON IE IP SP PSW ACC B0H A0H 90H 80H 83H 82H 99H 98H 8DH 8BH 8CH 8AH 88H 89H 87H A8H B8H 81H D0H E0H Čítač instrukcí brány DPTR Ukazatel dat Čítač-časovač 1 Čítač-časovač 0 časovačů napájení přerušení Stavové slovo B F0H Registr B Střadač PAM1-06 8 Bitový (booleovský) procesor V procesorech 8051 je integrován bitový procesor, který má vlastní soubor instrukcí a střadač tvořený příznakem přenosu, pracujícím nad bitově adresovatelnou částí vnitřní paměti RAM (128 bitů) a bity speciálních registrů nebo vstupně/výstupních bran (128 bitů). Bitový procesor umožňuje nastavení, nulování a inverzi bitu, přesun hodnoty bitu je umožněn pouze s pomocí bitového střadače. Výkon procesoru zvyšují instrukce větvení programu v závislosti na hodnotě daného bitu (JB bit, rel.adresa) nebo větvení podle nastaveného bitu s jeho následným vynulováním (JBC bit, rel.adresa). Střadač bitového procesoru může realizovat logický součin a logický součet s jednotlivými přímo adresovanými bity. Procesor nedisponuje instrukcemi pro nepřímé adresování bitů, a proto nelze snadno vytvořit pole bitů.

Jádro procesoru 8051 Registry speciálních funkcí A - Střadač je základní registr aritmeticko-logické jednotky, který vždy obsahuje jeden operand aritmetické nebo logické operace (vyjma operací čtení-modifikace-zápis) a do něhož se ukládá výsledek této operace. Zvláštností střadače u 8051 je to, že leží ve vnitřním ovém prostoru a je přístupný nejen instrukcemi, v kterých je implicitně označen A, ale i pomocí přímé adresy označované v mnemonice procesoru ACC. B - Registr obsahuje jeden operand (druhý je v A) pro instrukci násobení nebo dělení. Spolu se střadačem obsahují výsledek operací násobení a dělení. Nejsou-li tyto instrukce využívány, lze jej použít jako univerzální registr. PSW - Stavové slovo mikroprocesoru se skládá z 8 bitů, z nichž je 7 významových. Umístění příznaků v PSW je zobrazeno na obrázku a jejich význam je následující: b 7 b 6 b 5 b 4 b 3 b 2 b 1 b 0 Bit C AC F0 RS1 RS0 OV --- P Adresa RAM = D0h D7 D6 D5 D4 D3 D2 D1 D0 Bitová adresa (hex) C - Přenos (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í. PAM1-06 9 Všechny informace, důležité pro činnost mikroprocesoru a jeho periferních obvodů integrovaných na čipu procesoru, jako jsou čítače, sériový kanál, přerušovací systém a u nástupců 8051 záchytný a komparační systém, jsou soustředěny do souboru registrů tzv. registrů speciálních funkcí SFR. Nyní si postupně uvedeme nejdůležitější registry a v případě registrů ovlivňujících činnost periferií i s popisem vlastností těchto obvodů. A - Střadač je základní registr aritmetickologické jednotky, který vždy obsahuje jeden operand aritmetické nebo logické operace (vyjma operací čtenímodifikace-zápis) a do něhož se ukládá výsledek této operace. Protože registr dovoluje ve spolupráci s aritmetickologickou jednotkou postupné přičítání zpracovávaných čísel, nazývá se střadač nebo akumulátor. Zvláštností střadače u procesoru 8051 je to, že leží ve vnitřním ovém prostoru a je přístupný nejen běžnými instrukcemi, v kterých je implicitně označen A, ale i pomocí přímé adresy označované v mnemonice procesoru symbolickým názvem ACC. B - Registr obsahuje jeden operand (druhý je umístěn ve střadači) pro instrukci násobení nebo dělení. Spolu se střadačem obsahují výsledek operací násobení a dělení. Nejsou-li tyto instrukce využívány, lze jej použít jako univerzální registr. PSW - Stavové slovo mikroprocesoru se skládá z 8 bitů, z nichž je 7 významových. Umístění příznaků v PSW je zobrazeno na obrázku a jejich význam je následující:

Jádro procesoru 8051 Registry speciálních funkcí AC - Pomocný (částeč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. Příznak využívá pouze instrukce dekadické korekce DAA, kterou aplikujeme na výsledek součtu dvou dekadických čísel vyjádřených v BCD kódu F0 - Uživatelský příznak F0 může být libovolně využíván programátorem k indikaci události (např. přetečení při výpočtu v aritmetice, atd.). RS1, RS0 - Určují banku, jejíž registry až budou používány například k výpočtu. Jednotlivé bity RS1 a RS0 lze ovládat programově pomocí logických, přesunových nebo bitových operací. Procesor není vybaven instrukcí pro přepínání bank a po jeho vynulování je aktivní bankou banka 0. OV - Příznak přetečení (Overflow) indikuje přetečení při aritmetické operaci sčítání nebo odčítání, pokud zpracovávaná čísla jsou považována za čísla se znaménkem. Jedná se o případ, kdy součet dvou záporných čísel je kladný (došlo k přenosu mezi bity b8 a b7 a nedošlo k přenosu mezi bity b7 a b6) nebo součet dvou kladných čísel je záporný (nedošlo k přenosu mezi bity b8 a b7 a došlo k přenosu mezi bity b7 a b6), kde bit b7 představuje znaménko. Příznak je též využíván při operaci dělení k identifikaci dělení nulou a při instrukci násobení. PAM1-06 10 C -Přenos (Carry) je nastaven při aritmetické operaci, při které dochází k přenosu z osmého (b 7 ) do devátého (b 8 ) bitu a při některých instrukcích porovnání. AC - Pomocný (částečný) přenos (Auxiliary Carry) je nastaven, dojde-li při sčítání k přenosu mezi čtvrtým (b 3 ) a pátým (b 4 ) bitem střadače. Příznak využívá pouze instrukce dekadické korekce DAA, kterou aplikujeme na výsledek součtu dvou dekadických čísel vyjádřených v BCD kódu. F0 - Uživatelský příznak F0 může být libovolně využíván programátorem k indikaci nějaké události (např. přetečení při výpočtu v aritmetice, indikace události atd.). RS1, RS0 -Určují banku, jejíž registry až budou používány například k výpočtu. Jednotlivé bity RS1 a RS0 lze ovládat programově pomocí logických, přesunových nebo bitových operací. Procesor není vybaven instrukcí pro přepínání bank a po jeho vynulování je aktivní bankou banka 0. OV -Příznak přetečení (Overflow) indikuje přetečení při aritmetické operaci sčítání nebo odčítání. Je potřeba pokud zpracovávaná čísla jsou považována za čísla se znaménkem. OV=1 je-li součet dvou záporných čísel kladný (došlo k přenosu mezi bity b 8 a b 7 a nedošlo k přenosu mezi bity b 7 a b 6 ) nebo součet dvou kladných čísel je záporný (nedošlo k přenosu mezi bity b 8 a b 7 a došlo k přenosu mezi bity b 7 a b 6 ), kde bit b 7 představuje znaménko. Příznak je též využíván při operaci dělení k identifikaci dělení nulou a při instrukci násobení. P - Příznak parity (Parity Flag) indikuje lichou paritu střadače. Je-li ve střadači lichý počet jedniček, potom příznak parity je nastaven P=1. Příznak je aktualizován po každé instrukci.

Jádro procesoru 8051 Registry speciálních funkcí SP - Ukazatel zásobníku (Stack Pointer) je osmibitový registr, RS1 RS0 Banka Adresy reg.,..., který je na rozdíl od většiny 0 0 0 00H až 07H ostatních procesorů při plnění 0 1 1 08H až 0FH zásobníku inkrementován (hodnota 1 0 2 10H až 17H ukazatele je zvětšována o jedničku). Vlastní zásobník je 1 1 3 18H až 1FH umístěn ve vnitřní datové paměti RAM a může být umístěn kdekoliv v této paměti tj. i v rozšířené části vnitřní datové paměti (adresy 7Fh až FFh u nástupců 8051). Po vynulování procesoru signálem RESET je nastaven ukazatel na hodnotu SP=07h. Ve většině aplikací musí být pomocí odpovídající instrukce přestaven na jinou hodnotu. DPL, DPH - Registry DPL a DPH tvoří nižší a vyšší 8 bitovou slabiku 16- bitového ukazatele DPTR, který slouží k 16-bitovému nepřímému adresování vnější datové paměti RAM nebo paměti programu. Oba registry lze využívat jako ová místa. PC - Čítač instrukcí (Program Counter) je 16-bitový čítač instrukcí, který není přímo programově přístupný. PAM1-06 11 SP - Ukazatel zásobníku (Stack Pointer) je osmibitový registr, který je na rozdíl od většiny ostatních procesorů při plnění zásobníku inkrementován (hodnota ukazatele je zvětšována o jedničku). Vlastní zásobník je umístěn ve vnitřní datové paměti RAM a může být umístěn kdekoliv v této paměti tj. i v rozšířené části vnitřní datové paměti (adresy 7Fh až FFh u nástupců 8051), která je přístupná pouze pomocí nepřímého adresování. Po vynulování procesoru signálem RESET je nastaven ukazatel na hodnotu SP=07h. Ve většině aplikací musí být pomocí odpovídající instrukce přestaven na jinou hodnotu. DPL, DPH - Registry DPL a DPH tvoří nižší a vyšší 8 bitovou slabiku 16- bitového ukazatele DPTR, který slouží k 16-bitovému nepřímému adresování vnější datové paměti RAM nebo paměti programu. Oba registry lze využívat jako ová místa. PC - Čítač instrukcí (Program Counter) je 16-bitový čítač instrukcí, který není přímo programově přístupný.