Intel 8051 je jednočipový harvardský mikrokontrolér , který poprvé vyrobila společnost Intel v roce 1980 pro použití ve vestavěných systémech . Extrémně populární během osmdesátých let a začátkem devadesátých let, ale později se stal zastaralým a nahrazený modernějšími zařízeními, také s 8051 kompatibilními jádry, vyrobenými více než 20 nezávislými výrobci, jako je Atmel , Maxim IC (dceřiná společnost Dallas Semiconductor ), NXP , Winbond , Silicon Laboratories , Texas Instruments, Cypress Semiconductora Nuvoton). Oficiální název rodiny mikrokontrolérů Intel 8051 je MCS 51 . Existuje také sovětský klon tohoto čipu, KR1816BE51.
První z řady Intel 8051 byly vyrobeny pomocí technologie n-MOS , ale následující verze obsahující „C“ v názvu, jako například 80C51, používaly technologii CMOS a spotřebovávaly méně energie než předchůdci n-MOS (to usnadnilo jejich použití pro bateriově napájená zařízení).
Společným rysem moderních mikrokontrolérů kompatibilních s 8051 bylo zabudování vylepšených a přídavných obvodů, jako jsou: automatický reset při poklesu napájecího napětí; vestavěné generátory hodin ; In-circuit programování programové paměti; automatické zavaděče energeticky nezávislé datové paměti založené na EEPROM ; I2C ; SPI (standard 3-vodičové sériové sběrnice); hostitelské rozhraní USB ; PWM generátory; analogové komparátory ; ADC a DAC převodníky; hodiny reálného času; přídavné časovače a čítače; in-circuit debuggers, další zdroje přerušení; pokročilé režimy úspory energie.
Mikrokontroléry kompatibilní s 8051 mají obvykle jeden nebo dva UART ( UART ), dva nebo tři časovače, 128 nebo 256 bajtů paměti RAM na čipu (z toho 16 bajtů je bitově adresovatelných), 512 bajtů až 128 KB programové paměti na čipu a někdy se setkáváme s použitím EEPROM . Řešené prostřednictvím "registrů speciálních funkcí" (SFR = registr speciálních funkcí). UART / UART lze nakonfigurovat pro použití v 9bitovém datovém režimu, který umožňuje point-to-multipoint transceiver založený na hardwarovém protokolu RS-485 .
Jeden strojový cyklus původního jádra 8051 trvá 12 hodinových cyklů a většina instrukcí se provádí v jednom nebo dvou strojových cyklech. S taktovací frekvencí 12 MHz může jádro 8051 provést 1 milion operací za sekundu v jednom cyklu nebo 500 tisíc operací za sekundu ve dvou cyklech. Vylepšené jádro kompatibilní s 8051, které je dnes samozřejmostí, dokončí strojový cyklus v šesti, čtyřech, dvou nebo dokonce jednom taktu a umožňuje použití generátorů hodin s frekvencí až 100 MHz, což zvýšilo počet operací za sekundu.
Ještě rychlejší jádra 8051 s 1 cyklem na strojový cyklus jsou organizována pomocí FPGA , jako je FPGA (rychlost v rozsahu 130-150 MHz) nebo ASIC (rychlost v rozsahu několika stovek MHz), pomocí speciálního firmwaru [2] . Všechna zařízení kompatibilní s 8051 od SILabs , některá od Dallasu , několik od Atmelu a Nuvoton mají jádro s 1 taktem na strojový cyklus.
Mimořádně užitečnou funkcí jádra 8051 je zpracování booleovských dat, což umožnilo zavedení binární logiky, která pracuje přímo s bity vnitřní paměti RAM (oblast 128 přímo adresovatelných bitů) a registrů. Tato funkce byla požadována v aplikacích průmyslové automatizace . Další cennou funkcí byly 4 nezávislé sady registrů , které výrazně snížily latenci přerušení ve srovnání s klasickým zásobníkem používaným v minulosti.
Předchůdcem řadiče 8051 byl Intel 8048 , který byl použit v klávesnici původního IBM PC - převáděl signály stisku kláves na datový tok přenášený po sériové lince do systémové jednotky počítače. Řadič 8048, stejně jako ovladače na něm založené, se stále používají v klávesnicích.
Řadič 8031 je oříznutá verze Intel 8051: nemá na čipu paměť pro uložení programu.
Řadič 8052 je rozšířenou verzí původního Intel 8051: je vybaven 256 bajty vnitřní paměti RAM (místo 128 bajtů 8051), 8 KB ROM (místo 4 KB) a třetím 16bitovým časovačem má bylo k němu přidáno.
Řadič 8058 se od 8052 liší zvýšenou 32 KB ROM.
Řadič 8032 je podobný 8052, ale nemá vestavěnou paměť pro ukládání programu. Ovladače 8052 a 8032 jsou považovány za zastaralé, protože téměř všechny moderní varianty 8051 jsou vybaveny stejnými rozšířeními, jaké má 8052.
Pro 8051 je k dispozici několik kompilátorů pro programovací jazyk C , zejména Keil, z nichž většina podporuje jazyková rozšíření pro lepší využití funkcí 8051. Programátor může například určit, ve kterém ze šesti typů paměti 8051 má být proměnná uloženo; kompilátoru lze říci, jak používat přepínatelné registrové bloky a instrukce pro manipulaci s jednotlivými bity registrů.
K programování 8051 se používají další jazyky na vysoké úrovni, jako je Forth , BASIC , Pascal , PL/M a Modula-2 , ale nejsou tak široce používány jako C a assembler .
Porovnání Intel i8085 , i8048 a i8051 na příkladu provozu sériových I / O rutinVstupní podprogram
|
výstupní rutina
|
---|
Výpočetní jádro je stále široce používáno v různých mikrokontrolérech pro obecné i speciální účely s různou sadou periferií.
Mikrokontroléry | ||||||||
---|---|---|---|---|---|---|---|---|
Architektura |
| |||||||
Výrobci |
| |||||||
Komponenty | ||||||||
Obvod |
| |||||||
Rozhraní | ||||||||
OS | ||||||||
Programování |
|