Intel 8051

Aktuální verze stránky ještě nebyla zkontrolována zkušenými přispěvateli a může se výrazně lišit od verze recenzované 9. ledna 2022; kontroly vyžadují 9 úprav .

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í).

Funkce

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.

Související ovladače

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.

Programování

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 rutin
Vstupní podprogram
8085 8048 8051
VE SLUŽBĚ MOV C, SERPIN CLR RI
ANI MASKA CLR C JNB RI, $
JZLO JNT0 LO MOV A, SBUF
CMC CPL C
LO: LXI HL, SERBUF LO: MOV R0, #SERBUF
MOV A,M MOV A, @R0
RR RRC A
MOV M,A MOV@R0,A
     
     
     
8 týmů 7 týmů 3 týmy
14 bajtů 9 bajtů 6 bajtů
56 států 9 cyklů 4 cykly
19 µs 22,5 us 4 µs
výstupní rutina
8085 8048 8051
LXI HL,SERBUF MOV R0,#SERBUF CLR TI
MOV A,M MOV A,@R0 MOV SBUF
RR RRC A JNB TI, $
MOV M, A MOV@R0, A
VE SLUŽBĚ
J.C.H.I. J.C.H.I.
LO: ANI NENÍ MASKA ANL SERPRT, #NOT MASK
JMP CNT JMP CNT
HI: ORI MASKA HI: ORL SERPRT, #MASK
CNT:OUT SERVER CNT:
     
10 týmů 8 týmů 3 týmy
20 bajtů 13 bajtů 6 bajtů
72 států 11 cyklů 4 cykly
24 us 27,5 us 4 µs

Aplikace

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í.

Literatura

Odkazy

Poznámky

  1. Bob Koehler. 8051 Jednočipový mikropočítač Architektonické specifikace a funkční popis . - Santa Clara: Intel Corporation, 1980. Archivováno 13. října 2011 na Wayback Machine Archived copy (odkaz není k dispozici) . Získáno 18. září 2012. Archivováno z originálu 13. října 2011. 
  2. Příklady lze vidět na e8051.com