Petr Skalický
Procesory øady
8051 2. rozíøené vydání
Pøíruèka je urèena pøedevím studentùm a zaèáteèníkùm, kteøí se rozhodli proniknout alespoò na pokraj problematiky monolitických mikropoèítaèù øady 8051. Pomocí této pøíruèky se nauèíte nejen programování v jazyce symbolických adres, ale zcela jistì pochopíte základy práce s tìmito mikroprocesory.
Petr Skalický
MIKROPROCESORY ØADY 8051 2. rozíøené vydání
Bez pøedchozího písemného svolení nakladatelství nesmí být kterákoli èást kopírována nebo rozmnoována jakoukoli formou (tisk, fotokopie, mikrofilm nebo jiný postup), zadána do informaèního systému nebo pøenáena v jiné formì èi jinými prostøedky. Autor a nakladatelství nemohou pøevzít právní odpovìdnost ani ádnou záruku za pouití chybných informací a z toho vyplývajících dùsledkù. Nároky na odkodnìní na základì zmìn, chyb nebo vynechání jsou zásadnì vylouèeny. Vechny registrované nebo jiné obchodní známky pouité v této knize jsou majetkem jejich vlastníkù. Uvedením nejsou zpochybnìna z toho vyplývající vlastnická práva. Informace, návody a pøíklady obsaené v knize nemohou být dále pøedmìtem obchodu. Vekerá práva vyhrazena © Doc. Ing. Petr Skalický, Praha 19971998 Nakladatelství BEN - technická literatura, Vìínova 5, Praha 10 Petr Skalický: Mikroprocesory øady 8051 BEN - technická literatura, Praha 1998 2. rozíøené vydání ISBN 80-86056-39-2
OBSAH 1. Mikroprocesory øady 8051 .................................................... 6
1.1. Jádro procesoru 8051 ...................................................................................... 7 1.1.1. Organizace pamìti .................................................................................. 8 1.1.2. Registry speciálních funkcí ................................................................. 10 1.1.3. Èítaèe/èasovaèe ................................................................................... 12 1.1.4. Pøeruení .............................................................................................. 16 1.1.5. Sériový kanál ........................................................................................ 20 1.1.6. Multiprocesorová komunikace .............................................................. 24 1.1.7. Reimy se sníenou spotøebou ............................................................ 25 1.2. Zapojení vývodù mikroprocesoru 8051 .......................................................... 27 1.2.1. Struktura a èinnost vstupnì/výstupních bran ........................................ 29 1.2.2. Èasování centrální procesorové jednotky ............................................. 30 1.2.3. Pøístup do vnìjí pamìti ....................................................................... 32 1.3. Procesory s jádrem 8051 ............................................................................... 34 1.3.1. Periferie rozíøených procesorù ............................................................ 34 1.3.2. Procesory 8052 ..................................................................................... 37 1.3.3. Klony procesoru 8051 ........................................................................... 40
2. Instrukèní soubor CPU 51 ................................................... 43 3. Pøíklady pouití CPU 51 .................................................... 56
3.1. Vývoj programù pro procesory 8051 .............................................................. 80 3.1.1. Modulární tvorba programù .................................................................. 81
4. Mikroprocesor 8xC251SB ................................................... 86 4.1. 4.2. 4.3. 4.5. 4.6.
Organizace pamìti ......................................................................................... 86 Pøeruovací systém ........................................................................................ 90 Periferie 8xC251SB ........................................................................................ 91 Konfigurace procesoru ................................................................................... 94 Instrukèní soubor ............................................................................................ 96
5. Mikroprocesory Philips XA ............................................... 104
5.1. Organizace pamìti ....................................................................................... 107 5.2. Adresovací módy .......................................................................................... 108 5.3. Èítaèe a èasovaèe XA-G3 ............................................................................ 110 5.4. Sériové kanály .............................................................................................. 113 5.5. Multiprocesorová komunikace ...................................................................... 114 5.6. Pøeruovací systém ...................................................................................... 115 5.7. Zásobníky procesoru .................................................................................... 118 5.8. Nulování procesoru ...................................................................................... 118 5.9. Módy se sníenou spotøebou ....................................................................... 120 5.10. Vstupnì/výstupní brány ............................................................................ 120 5.11. Vnìjí sbìrnice ......................................................................................... 121 5.11.1. Èasování vnìjí sbìrnice .................................................................... 124 5.12. Instrukèní soubor .......................................................................................... 126
6. Co se obvykle nepublikuje ............................................... 130 7. Dodatky ............................................................................... 135
7.1. Instrukèní soubor 8051 - pøehled .................................................................. 135 7.2. Speciální registry procesoru 8051, 8052, 80C251, 80C51XA ...................... 139
Literatura ................................................................................. 143
Pár slov o autorovi Doc. Ing. Petr Skalický, CSc. Od ukonèení svých studií v roce 1976 pracuje na katedøe radioelektroniky elektrotechnické fakulty ÈVUT, kde se ji dlouhá léta vìnuje výuce èíslicové a mikroprocesorové techniky. Specializuje se na problematiku zpracování signálù, signálové procesory a dalí prostøedky k realizaci èíslicových obvodù. Ve volném èase navrhuje mikroprocesorové systémy vèetnì jejich programového vybavení, které jsou oznaèeny znaèkou PS-software. Jedná se pøedevím o zakázkové øídicí systémy s jednoèipovými procesory øady 8051 a systémy pro dlouhodobé støádání dat.
Tel.: (02) 24352241 pmail:
[email protected] Z vývoje firmy PS-software mùete v souèasnosti získat univerzální øídicí a vývojové systémy MIK552 a MIK537. Blií informace vám podá sám autor. Distribuci tìchto systémù zajiuje firma MERRET s.r.o., která mimo jiné prodává panelové mìøicí pøístroje (voltmetry, ampérmetry, teplomìry, vlhkomìry, monitory procesù, wattmetry, integrátory, apod.) MERRET s.r.o., Vodòanská 675/30, 198 00 Praha 9, tel./fax (02) 86 20 00
Úvod Jednoèipové mikropoèítaèe dnes najdeme v mnoha zaøízeních a pøístrojích, se kterými se dennì bìnì setkáváme. Mikropoèítaèe øídí kanceláøská zaøízení jako jsou digitální telefony, faxy, telefonní ústøedny, kopírky a tiskárny. V domácí a spotøební elektronice jako jsou rádia, televize, videa, CD pøehrávaèe a zesilovaèe, ale i váhy, mikrovlnné trouby a regulátory topení si ani jejich existenci neuvìdomujeme. Kadé moderní zaøízení z mìøicí, automatizaèní a regulaèní techniky si lze dnes bez mikropoèítaèe tìko pøedstavit. Proto je znalost návrhu a vývoje jednoúèelových, mikroprocesorem øízených, aplikací v souèasnosti velice dùleitá. V ménì nároèném mikropoèítaèovém øízení a zpracování signálù, jsou dnením standardem jednoèipové osmibitové mikropoèítaèe od firem Motorola 68HC05 nebo 68HC11, Intel 8051 a øada jeho variant od rùzných výrobcù (Philips, Siemens, Atmel, Dallas) nebo Zilog Z8, ale i modernizovaná øada Z80. S ohledem na historii této zemì se nejvíce u nás rozíøilo pouití procesorù od firmy Intel, která z celosvìtového hlediska nepøedstavuje nejvìtího producenta jednoèipových procesorù. Procesory od firmy Motorola, které zaujímají asi tøetinu svìtové produkce, se u nás prosazují jen pomalu. Tento text vznikl pro potøebu výuky v pøedmìtu Elektronické poèítaèe na støední prùmyslové kole elektrotechnické s touto specializací. Aèkoliv jej nelze povaovat za vyèerpávající publikaci v øadì procesorù typu 8051, pøináí ucelený pohled na jádro tìchto procesorù. Dalí èást obecnì popisuje typy periferií, které výrobci integrují do nových procesorù nejen z této øady. Struèný popis nìkterých zvlátì zajímavých a perspektivních typù byl nahrazen, popisem prvního procesoru z nastupující øady MCS251, které se lií architekturou, ale i výraznì vyím výkonem. Uvedený procesor je vak v jednom z módù plnì kompatibilní s procesory øady 8051. Podrobný popis instrukèního souboru s øadou praktických pøíkladù pøináí ètenáøi monost zvládnout programování v jazyce symbolických adres.