Intel 8051

thumb|SAB-C515-LN od Infineon navrhnutý podľa 8051

**Intel** 8051 je osembitový mikrokontrolér Harvardskej architektúry, ktorý bol vyvinutý spoločnosťou Intel v roku 1980 pre použitie v oblasti vstavaných (embedded) systémov. Pôvodná verzia bola populárna v roku 1980 a na začiatku deväťdesiatych rokov, ale dnes bola z veľkej časti nahradená celou radu rýchlejších a funkčne posilnených 8051-kompatibilných zariadení vyrábaných viac ako 20 nezávislými výrobcami, vrátane Atmel, Infineon Technologies (predtým Siemens AG), NXP (predtým Philips Semiconductor), Nuvoton (predtým Winbond), ST Microelectronics, Silicon Laboratories (predtým Cygnal), Texas Instruments a Cypress Semiconductor. Intelovské oficiálne označenie pre rodinu 8051 μCs je MCS 51.

## Dôležité vlastnosti a aplikácie i8051 mikroarchitektúry
right|thumb|I8051 architektúra
* Poskytuje veľa funkcií (CPU, RAM, ROM, I/O, logické prerušenia, časovača, atď.) v jednom zariadení
* 8bitová ALU, akumulátor a registre (preto je to 8-bit mikropočítač)
* 8bitová dátová zbernica
* 16bitová adresová zbernica - 64 kB (65536 bajtov) každé pre RAM a ROM 
* On-chip RAM - 128 bytov ("Pamäť dát")
* On-chip ROM - 4 kB ("Pamäť programu") 
* Štvorbajtový obojsmerný vstupno/výstupný port
* UART (sériový port)
* Dve 16bitové počítadlá/časovače 
* Dvojúrovňová priorita prerušenia
** 5 hardvérových prerušení
** +1 softvérové prerušenia
* Režim úspory energie

Zvlášť užitočná funkcia z jadra 8051 je začlenenie bitovo adresovateľnej pamäte. Umožňuje totiž vykonávať logické operácie s jednotlivými bitmi, ktoré sú vykonávané priamo a efektívne na vnútorných registroch pamäti RAM. Táto vlastnosť pomohla upevniť popularitu 8051 v riadiacich aplikáciách v priemysle.

8051 UART je jednoduchý na používanie čipu ako sériového komunikačného rozhrania. Vonkajšie vývody možno nakonfigurovať pre pripojenie k interných posuvných registrov mnohými rôznymi spôsobmi, vnútorný časovač môže byť tiež použitý, umožňujú tiež sériovú komunikáciu v niekoľkých režimoch, a to ako synchrónnom tak asynchrónnom. Niektoré režimy umožňujú komunikáciu bez vonkajších súčiastok.

Mikropočítače založené na 8051 zvyčajne zahŕňajú jednu alebo dve UART, dva alebo tri časovače, 128 alebo 256 bajtov interných dát RAM (16 bytov, ktoré sú bitovo adresovateľné), a to až do 128 bytov I/O, 512 bytov a 64 kB internej programovej pamäte a niekedy rozšírenú dátovú pamäť RAM (ERAM), umiestnenú v externom dátovom priestore. Pôvodné jadro 8051 bežalo na 12 hodinových cykloch / strojový cyklus, väčšina strojových inštrukcií je vykonávaná v jednom alebo dvoch strojových cykloch. Pri hodinovej frekvencii 12 MHz by tak 8051 mohol vykonať 1 milión jednocyklových inštrukcií za sekundu alebo 500000 dvojcyklových inštrukcií za sekundu. Rozšírenie jadra 8051 je teraz bežne používané, beží na šesť, štyri, dva, alebo dokonca jednu dobu na strojový cyklus, pritom má frekvenciu až 100 MHz, a je teda schopné ešte väčších počtov inštrukcií za sekundu. Všetky mikropočítače SILabs, niektoré Dallas a niekoľko Atmel majú jediný cyklus jadra.

Ešte vyššia rýchlosť jedného cyklu 8051 bola v rozmedzí 130 MHz až 150 MHz, na internete je možné stiahnuť formulár pre použitie v programovateľných logických zariadeniach, ako je napríklad FPGA, a na mnohých stovkách MHz v Asics, napr. Netlist z http://www.e8051.com .

## Programovanie
thumb|Moderné IDE pre 8051
K dispozícii je niekoľko C prekladačov pre 8051, z ktorých väčšina vlastní rozšírené funkcie, ktoré umožňujú programátorovi určiť, kde leží ktorá premenná v ktorej pamäti, a poskytuje funkcie pre prístup k hardvéru 8051, ako sú viacnásobné registre a manipulácia s jednotlivými bitmi. Pre ostatné vysokoúrovňové jazyky ako Forth, BASIC, Pascal / Object Pascal, PL/M a Modula-2 sú k dispozícii taktiež, avšak používajú sa menej ako C a assembler. Pre assembler, jazyk C a prípadne ďalšie jazyky existujú pre 8051 rôzne simulátory a vývojové prostredia, ktorých súčasťou je simulátor, napríklad moderné MCU8051IDE pre Linux a Windows alebo staré AS51 pre MS-DOS.

## Inštrukčná sada
### Aritmetické operácie

### Logické operácie

## Súvisiace procesory
* Intel 8048 (predchodca 8051), bol použitý v prvej klávesnici na IBM PC, kde bol prevedený do keypresses sériového dátového toku, ktorý posielal údaje hlavnej jednotke počítača. 8048 a ich odnože sa používajú dodnes na základné modely klávesníc.
* Intel 8031 bol osekaná verzia 8051, neobsahoval žiadnu vnútornú pamäť programu (ROM). Ak chcete použiť na tomto čipe externé ROM, musíte pridať obsluhujúci program, ktorý ju načíta a spustí. 
* Intel 8052 bola vylepšená verzia pôvodných 8051, obsahovala 256 bajtov internej pamäte namiesto 128 bytov, 8 kB ROM miesto 4 kB, a tri 16-bitové časovače.
* Intel 8032 mal rovnaké funkcie ako 8052, nevlastnil však vnútornú pamäť ROM. 8052 a 8032 sú do značnej miery považované za zastarané, pretože tieto vlastnosti sú obsiahnuté takmer vo všetkých moderných mikropočítačoch založených na 8051.

## Literatúra
* Skalický Petr: Mikroprocesory radu 8051, BEN - technická literatura, 2002, ISBN 80-86056-39-2

## Zdroj

Kategória:MCS-51