Mikrokontroléry MCS-51: model programu, struktura, příkazy. Mikrokontroléry řady mcs51 A. Doplňkové charakteristiky a charakteristiky součástek

V současné době různé společnosti uvolňují bez úprav analogy této rodiny, a to jak od společnosti Intel, tak od jiných výrobců, rychlost hodin a paměti se zvýšily desetkrát a stále rostou. Rozšířen je i počet vestavěných modulů BIS, velké množství současných modelů má rezidentní vysokorychlostní ADC, kterých může být až 12 a zároveň může docházet k větším výbojům. Je založen na rodině MCS51 BIS 8051, 80С51, 8751, 87С51, 8031, 80С31 od společnosti Intel, jejíž první verze byly vydány v 80.

Mikrokontroléry MCS51 Viconani pro technologii Know -Mop N -MOP (SERI 8XXXX, analog - SERI 1816 v Rosya BILOUROSIA) Technologie TA K -MOP (SERI 8XXXXX, analog - SERI 1830). Další symbol následovaný 8 znamená: 0 – na krystalu není ROM, 7 – 4K ROM s ultrafialovými gumami. Třetí znak: 3 – ROM je na krystalu, 5 – pokud není ROM, tak je na krystalu maska ​​ROM.

І so 80С51 - BIS pro technologii k-MOS s maskou ROM na čipu, 8031 ​​​​ - BIS n-MOS bez programové paměti (ROM, RPOM) na čipu, 8751 - BIS n-MOS s rezidentem (umístěný na čipu ) RPOM s ultrafialovým stíráním. Už z dálky vidíme BIS 8751, jsou zde problémy, které vyžadují obezřetnost ohledně vlastností ostatních obvodů, nastavení parametrů, které byly publikovány pro první sériový BIS. Další informace o všech aktuálních úpravách v případě potřeby naleznete u konzultantů společnosti a technické dokumentaci.

A. Zagalny charakteristika a význam symbolů

Základ rodiny MCS51 tvoří pět modifikací mikrokontroléru (shodných s hlavními charakteristikami), hlavní rozdíl mezi nimi spočívá v implementaci paměťového programu a intenzitě provozu (odděl. tabulka 3.1). Tedy osmibitový mikrokontrolér. Využívá příkazy pro zpracování osmibitových slov, využívá architekturu Harvard, taktovací frekvence základních zařízení rodiny je 12 MHz.

Tabulka 3.1.

Mikroobvody

Vnitřní paměť programu, byte

Typ programové paměti

Vnitřní datová paměť, byte

Hodinová frekvence, MHz

Spotřeba Strum, mA

MK 8051 a 80C51 obsahují při přípravě krystalu programovou paměť ROM programovatelnou maskou s kapacitou 4096 bytů a uvolňuje se z sériově vyráběných produktů. MK 8751 obsahuje 4096 byte RPOM s ultrafialovým mazáním a používá se ručně ve fázi vývoje systému s pokročilými programy, stejně jako při generování v malých dávkách nebo při vytváření systémů, které jsou důležité během procesu.

periodická úprava.

MK 8031 ​​​​a 80C31 nezasahují do paměti uloženého programu. Jak bylo popsáno před modifikací, mohou využívat až 64 KB externí programové paměti a efektivně využívat v systémech, které vyžadují mnohem více než 4 KB na čipu.

Rodina Kozhen MK disponuje rezidentní datovou pamětí o kapacitě 128 bytů z důvodu možnosti rozšíření interní datové RAM až na 64 KB za výměnu externí IC RAM.

    centrální osmibitový procesor;

    programová paměť 4 KB (pouze 8751 a 87C51);

    datová paměť 128 bajtů;

    Existují osmibitové naprogramované I/O porty;

    dva 16bitové multirežimové časovače/dávkovače;

    systém auto-vektorů s pěti vektory a dvěma programovými úrovněmi priorit;

    finální rozhraní, které obsahuje univerzální duplexní transceiver, který funguje ve čtyřech režimech;

    generátor hodin.

Příkazový systém MK obsahuje 111 základních příkazů ve formátu 1, 2 nebo 3 bajty. Mikrokontrolér může:

    32 registrů právního uznání RON, organizovaných jako banky napříč všemi registry s názvy R0... R7, výběr které banky indikuje program pro instalaci telefonních čísel do registru programu mi PSW;

    128 softwarově-keramických praporců (bitový procesor, div. vzdálenost);

    sada registrů speciálních funkcí obsahujících prvky MK. Existují následující provozní režimy mikrokontroléru:

1). Zagalne skidannya. 2) Normální fungování. 3). Režim snížené spotřeby energie a režim nečinnosti. 4). Režim programování rezidentního RPZP je následující.

Zde věnujeme hlavní pozornost prvním dvěma režimům robota, zpráva popisující sklad robotů MK pro všechny režimy je přidána do přílohy P1.

RON zóna bitového procesoru je umístěna v adresním prostoru bytové OZP s adresami v rozsahu 0 až 80h.

Horní zóna má adresu rezidentní paměti RAM a rozšířené registry speciálních funkcí (SFR, Special Function Registers). Tyto významy jsou uvedeny v tabulce. 3.2.

Tabulka 3.2.

Jmenování

název

baterie

Registrovat B

Registr se stane programem

Indikátor zásobníku

Přehlídka dat. 2 bajty:

Nízký bajt

Vysoký bajt

Přerušte prioritní registr

Registr je dovoleno přerušit

Registr režimů časovače/dávkovače

Registr časovače/dávkovače

Časovač/přihlášení 0. Vysoký bajt

Timer/Locker 0. Nízký bajt

Časovač/přihlášení 1. Vysoký bajt

Timer/Locker 1. Nízký bajt

Správa posledního portu

Vyrovnávací paměť sériového portu

Správa obývacího pokoje

* - Registrovat, co přiznat od bitov oslovování

Podívejme se nyní na funkce registrů SFR, které jsou uvedeny v tabulce 3.2.

baterie ACC - Registr baterií. Příkazy určené pro roboty.

vy za baterií použijte mnemotechnickou pomůcku „A“, např. MOV A, P2 . Mnemotechnická pomůcka "ACC" se používá například při bitové adresování baterie. Tedy symboličtěji název pátého bitu baterie, kdy přijde vikoristánský assembler A5M51: ACC. 5.

Registr U . Vikorystvovaetsya pod hodinou provozu násobení a sub. Pro další instrukce lze na registr nahlížet jako na doplňkový superoperační registr.

Registr stanu se programy P.S.W. Umístěte informace o programu a často se instaluje automaticky na základě výsledku zvolené operace, která se často provádí. Význam číslic registru je jasně uveden v tabulkách 3.3 a 3.4.

Tabulka 3.3.

Jmenování

Tabulka 3.4.

Jmenování

Přidělování bitev

Přístup k bitům

Praporčík byl přenesen. Řada aritmetických a logických instrukcí se v průběhu času mění.

Hardware a software

Praporčík dodatečného převodu. Hardware se instaluje/odinstaluje do hodiny nové přidané nebo vydané instrukce pro vložení přenosu nebo pozic v bitu 3, kdy je ve výsledku vytvořen nejmenší bajt (D0-D3).

Hardware a software

Praporčík 0. Praporčík, který je označen jako koristuvach.

Programově

Programově

Vkazivnik banka pracovních registrů

Programově

Banka 0 s adresami (00Н - 07Н) Banka 1 s adresami (08Н - 0FН) Banka 2 s adresami (10Н - 17Н) Banka 3 s adresami (18Н - 1FН)

Prapor přejmenován. Hardware nainstalovaný nebo vyřazený během hodiny, kdy budou znovu nainstalovány aritmetické pokyny pro vložení

Hardware a software

Rezervovat. Spoušť pomsty, dostupná pro nahrávání a čtení, kterou lze vikorizovat

Trochu parity. Hardware je vyřazen nebo nainstalován v cyklu skinu s pokyny pro vložení spárovaného nebo nepárového počtu vybití baterie, které jsou přítomny v nastavení „1“.

Hardware a software

Pokazchik zásobník SP - 8bitový registr, místo kterého je inkrementován před zápisem dat do zásobníku, když jsou vydány příkazy PUSH a CALL. Při vyřazení je nainstalován indikátor zásobníku 07H a oblast zásobníku v datové paměti RAM začíná na adrese 08H. Pokud je potřeba změnit přiřazení indikátoru zásobníku, lze oblast zásobníku přesunout na libovolné místo v interní datové paměti mikrokontroléru.

Pokazchik pocty DPTR sestává z horního bajtu (DPH) a dolního bajtu

(DPL). Při upgradu na externí paměť změňte 16bitovou adresu. Můžete vicoristi-

buď jako 16bitový registr nebo jako dva nezávislé osmibitové registry.

Port0 - PortZ. Spolu s bity registru speciálních funkcí P0, P1, P2, RZ existují také bity - „načítání“ hlavních portů P0, P1, P2, RZ.

Buffer po sobě přístav SBUF je dvě části registru: vyrovnávací paměť pro vysílání a vyrovnávací paměť pro příjem. Když jsou data zapsána do SBUF, jsou odeslána do přenosové vyrovnávací paměti a zápis bajtu SBUF automaticky zahájí přenos přes sériový port. Při čtení dat z SBUF jsou data vybírána z přijímací vyrovnávací paměti.

Registr časovač. Registrační sázky (TH0, TL0) a (TH1, TL1) jsou schváleny 16-

Registry bitového úložiště pro časovač/výdejník 0 a časovač/výdejník 1.

Registr řízení Registry speciálních funkcí IP, IE, TMOD, TCON, SCON a PCON lze použít k ovládání a přerušení systému, tajně

návštěvy/nemocnice a sériový port. Smrad bude podrobně prozkoumán už zdálky.

RxD TxD INT0 INT1 T0 T1 WR

P1.2 P1.3 P1.4 P1.5 P1.6 P1.7

RST BQ2 BQ 1 E.A.

P3.0 P3.1 P3.2 P3.3 P3.4 P3.5 P3.6 P3.7

P2.0 P2.1 P2.2 P2.3 P2.4 P2.5 P2.6 P2.7

P0,0 P0,1 P0,2 P0,3 P0,4 P0,5 P0,6 P0,7

Při provozu bude MK poskytovat:

    minimální hodina doručení příkazu - 1 µs;

    hardwarové násobení a podklad s minimální hodinou viconanne - 4 μs.

MK má možnost nastavit frekvenci interního oscilátoru na přídavný quartz, LC-lucernu nebo externí oscilátor.

Rozšířený příkazový systém bude poskytovat bajtové a bitové adresování, aritmetiku dvou desetin a dvou desetin, indikaci překrytí a párování/zrušení párování a schopnost implementovat logický procesor.

Nejdůležitější a nejvýkonnější vlastností architektury rodiny MCS51 je, že ALU může manipulovat s jednobitovými daty s konzistentními operacemi na 8bitových typech dat. Počet bitů dostupných v softwaru lze nainstalovat, odebrat nebo nahradit dalšími bity a lze je znovu nainstalovat nebo ověřit.

Obr.3.2. Vnější konstrukce

mikrokontrolér

vikorystuvatsya při logických výpočtech. Toto je také podpora pro jednoduché typy dat (pokud

Podle mnoha trendů se můžeme na první pohled dívat trochu dozadu, díky čemuž jsou mikrokontroléry řady MCS51 vhodné zejména pro aplikace, ve kterých se používají regulátory. Zbývající algoritmy předpokládají přítomnost vstupních a výstupních booleovských proměnných, které je obtížné implementovat pomocí standardních mikroprocesorů. Veškerá tato síla se nazývá booleovský procesor rodiny MCS51. Takováto výkonná ALU instrukční sada mikrokontrolérů řady MCS51 se však dobře hodí jak pro zpracování v reálném čase, tak pro datově náročné algoritmy.

Schéma zapojení mikrokontroléru je na Obr. 3.2. Základní verze pouzdra má 40pinový DIP pouzdro. Pojďme se podívat na význam symbolů.

Více z jídla vysnovki «0 V" і "5 V" , Po kterých vínech následuje hlavní jídlo. Strumovy informace jsou uvedeny v tabulce. 3.1.

Višňovok "RST" - Resetujte mikrokontrolér. Když je toto aplikováno, spustí se aktivní vysoká úroveň režimu Spící sleva a MK proveďte následující:

Nastaví čistič příkazů PC a všechny registry speciálních funkcí, včetně zaváděcích portů P0-P3, indikátoru zásobníku SP a registru SBUF na nulu;

    Indikátor zásobníku nabývá hodnoty vyšší než 07H;

    chrání všechna přerušení, práci časovačů-léčitelů a následné

    vybere BANK 0 RAM, připraví port P0-RZ pro příjem dat a rozpoznání

sdílí komponenty ALE a PME jako vstupy pro externí synchronizaci;

      v registrech speciálních funkcí PCON, IP a IE jsou rezervní bity nastaveny na náhodné hodnoty a všechny ostatní bity jsou vynulovány;

      Registr SBUF má proměnné hodnoty.

      instaluje západky zámku portu P0-RZ "1".

Stav registru mikrokontroléru po resetu je uveden v tabulce 3.5.

Tabulka 3.5.

Informace

Neidentifikovaný

0ХХХ0000V pro k-MOS 0XXXXXXXB pro n-MOS

Ikona RST má alternativní funkci. Prostřednictvím toho je dodáváno rezervní úložiště pro uložení trvalé paměti namísto paměti RAM mikrokontroléru, když je hlavní paměť odstraněna.

Višnovki BQ1, BQ2 Určeno pro připojení quartzového rezonátoru, který určuje taktovací frekvenci MK.

Višňovok EA' (E externí A šaty externí adresy) - instrukce pro aktivaci režimu čtení kódů kláves z externí programové paměti, když je aplikována aktivní nízká úroveň. Koncept má alternativní účel (funkci). Napětí je přiváděno do nové jednotky pro programování ROM.

Višňovok PME (P rogram M emory E ušlechtilý Dozvil Paměť program) - účely pro keruvanský cyklus čtení z paměti programu a MK se automaticky aktivuje v cyklu kožního stroje.

Višňovok ALE (A šaty L ength E ušlechtilý Dozvil Mladá adresa) Pohladí zobrazení mladší části adresy na portu P0. Zařízení je vicorizováno, když je naprogramována EPROM a je do něj odeslán proces programování pulzů.

MK může pojmout čtyři skupiny portů: P0, P1, P2 a P3. Ztratilo se 40 pinů mikrokontroléru. Tyto porty mohou sloužit pro bit po bitu vstup a výstup informací, navíc mají svou specializaci. Funkční schéma portu je na Obr. 3.3. Port obsahuje výstupní spínače na tranzistorech s efektem pole, připojení k výstupu, spínací funkce, terminál na D-triggeru a řídicí logiku. Na vnitřní sběrnici MK lze zapsat jedničku nebo nulu. K těmto informacím lze přistupovat pomocí přepínání funkcí na výstupních tlačítkách a displejích MK. Současně jsou tranzistory N a N1 uzavřeny, ale N2 je otevřen. V nulté stanici N otevírá oblouk -

Xia a N2 se zavře. V okamžiku, kdy port zvolí alternativní funkci, je z důvodu specializace režim načítání deaktivován. Mikrokontrolér může také ovlivnit režim vkládání portu a režim výstupu, nastavení externím signálem. Pro tento účel existují speciální příkazy v assembleru MK pro aktivaci podřádků. Pro čtení budu poslán na pin bezdrátového portu.

ale dříve zaznamenané

Pohled do interiéru

Management Zásuvka

Změňte funkce

Vcc

Víkend

jeden. Když je aktivována linka „čtení zátěže“, výstup je prostřední „I“, před kterým je tato linka připojena

niy autobus MK D Q

Záznam na hůl C Q

Čtení

Pohled na přístav

Je zde nakládací stanice, která se po aktivaci hodí na interní sběrnici MK

"Chitannya vyvedennya" - tábor externích vyvedennya do přístavu.

Přístav P0 - Univerzální obousměrný port

úvod-prohlížení. Za sim portem

opravena funkcí organizace externích sběrnic adresa a

Malý 3.3. Funkční schéma portu mikrokontroléru

data pro rozšíření programové paměti a datové paměti

mikrokontrolér. Když je program stažen do externí paměti nebo je dokončen příkaz ke stažení externí datové paměti, mladší část adresy (A0...A7) se nainstaluje na port záhlaví, což je spuštěno vysokou úrovní ALE výstup. Poté, při zápisu dat do paměti, informace, která je zapsána z interní sběrnice MK, jde na pinový port P0. Při operacích čtení však informace z hlavního portu jdou na interní sběrnici. Zvláštností portu P0 je přítomnost „pull-up“ tranzistoru N2, který zajišťuje napájení terminálu. Při zápisu na pinový port jedné jednotky se hodnoty jednoduše přenesou do vysokoimpedančního stavu, který je nezbytný pro normální provoz datové sběrnice. Je-li to nutné, napájejte přes výstupy jakýchkoliv externích zařízení a poté přeneste externí odpory z Lanczug do výstupního portu.

Přístav P1 – univerzální obousměrný vstupní/výstupní port bez alternativních funkcí.

Přístav P2 – univerzální obousměrný port/vstup/výstup, což je alternativní funkce pro zobrazení vysoké části adresy (A8…A15) při přenosu do externí paměti.

Přístav P3 – univerzální obousměrný vstupně-výstupní port, který přenáší i různé alternativní funkce. Alternativní funkce jsou implementovány pouze v případě, kdy je jedna zapsána na piny hlavního portu, v ostatních případech je vstup alternativních funkcí blokován. Pojďme je identifikovat na základě kůže:

P3.0 RxD (Rčíst e X vnitřní D ate, read externí data) – vstup nového sériového přijímače.

P3.1 TxD (T ano e X vnitřní D ate, broadcast external data) – výstup přijatého sériového příjmu-vysílání.

P3.2 INT0' (INT Errupt, přerušení) – vstup externího přerušení 0.

P3.3 INT1' - Vstup externího přerušení 1.

P3.4 С/T0 - Vstup nulového spouštěcího časovače/dávkovače.

P3.5 C/T1 - Zadání prvního aktivovaného časovače/klinika.

P3.6 WR' (W rite, write) – zobrazí řízení cyklu zápisu do datové paměti.

P3.7 RD' (R ead, read) – odvozeno cyklem čtení z paměti dat.

Piny k portu P1, P2 a P3 v jedné jednotce uvidí proud asi 0,2 mA a při nule obdrží proud 3 mA, piny do portu P0 se dotáhnou a budova v jedné uvidí proud přibližně 0,8 mA a při nule odeberte proud 5 mA. Stručné informace o přiřazení komponent mikrokontroléru jsou uvedeny v tabulce 3.6.

Tabulka 3.6.

Jmenování

Přiřazeno k visnovce

8bitový obousměrný port P1. Vstupní adresy A0-A7 v hodinu kontroly vnitřní paměti ROM (RPM)

Přihlášení přihlášení

Signál odhození zagalného. Zavedení rezervní životnosti OZP z externího tělesa (pro 1816)

8bitový obousměrný port P3 s dalšími funkcemi

Přihlášení přihlášení

Nejnovější data příjmu - RхD

Poslední přenosová data - ТхD

Vstup externího přerušení 0-INT0`

Vstup externího přerušení 1-INT1`

Vstup časovače/dávkovače 0: - T0

Vstup časovače/dávkovače 1: - T1

Výstup zábleskového signálu v hodině záznamu dat z externí paměti: - WR`

Výstup zábleskového signálu v hodině čtení z externí datové paměti – RD`

Přípojky pro připojení křemenného rezonátoru.

výstupní vstup

Zagalny visnovok

8bitový obousměrný port P2. Výstup adres A8-A15 v režimu robota z externí paměti. V režimu interního ověření ROM jsou jako vstupní adresy A8-A14 zvoleny verze P2.0 – P2.6. Višnovok R2.7 - povoleno číst ROM.

Přihlášení přihlášení

Povolená programová paměť

Výstupní signál pro povolení opravit adresu. V hodině programování signál RPOM: PROG

Přihlášení přihlášení

Blokování robota z vnitřní paměti. Při programování RPZP je dán signál UРR

Přihlášení přihlášení

8bitový obousměrný port P0. Adresová/datová sběrnice z externí paměti. Datový výstup D7-D0 v režimu kontroly interního PPP (IPPP).

Přihlášení přihlášení

Vividennya v dzherel napětí +5V

PLÁN PŘEDNÁŠEK

1. Úvod

2. Aritmetické a logické instrukce

3. Příkazy pro přenos dat

4. Booleovské operace

5. Přechodové instrukce

1. Úvod

Příkazový systém MCS-51 podporuje jedinou sadu instrukcí, tedy až do instalace 8bitových algoritmů pro ovládání zařízení. Je možné použít flexibilní metody pro adresování vnitřní paměti RAM, provádění bitových operací na malých datových strukturách. Byl aktivován systém pro adresování jednobitových měnitelných dat jako samostatný datový typ, který umožňuje výběr bitových hran v příkazech logické a jádrové booleovské algebry.

Režimy adresování : vytáčení příkazů MCS-51 podporuje takové režimy adresování. Přímé adresování: operand je určen 8bitovou adresou v instrukci Přímé adresování je omezeno na mladší polovinu vnitřní datové paměti a registrů SFR. Nepřímé adresování: Instrukce adresuje registr, který odpovídá adrese operandu.Tento typ adresování se používá pro externí a interní OCP. Pomocí registrů lze vkládat 8bitové adresy R0і R1 vybraná banka registru nebo indikátor zásobníku SP. Pro 16bitové adresování je registr indikátoru dat odstraněn DPTR.

Pokyny k registru : Registrovat R0-R7 Aktuální banka registrů může být adresována prostřednictvím specifických instrukcí vložením 3bitového pole, které ukazuje na číslo registru v samotné instrukci. Tento typ pole nemá v příkazu adresu. Operace se speciálními speciálními registry: Akční instrukce vikorist jednotlivých registrů (například operace s baterií, DPTR, atd.). Kdykoli je adresa operandu uvedena v příkazu. VIN je indikováno operačním kódem.

Bez středních konstant : Konstantu lze umístit přímo vedle příkazu za operační kód.

Indexové adresování : Indexové adresování lze použít pouze pro přístup do paměti programu nebo v režimu čtení. V jakém režimu si můžete prohlížet tabulku v paměti programu. 16bitový registr ( DPTR nebo softwarový léčitel) ukazuje na základní adresu požadované tabulky a akumulátor ukazuje na vstupní bod před ní.

Vytáčení příkazůExistuje 42 mnemotechnických příkazů pro specifikaci 33 funkcí systému. Syntaxe většiny příkazů v jazyce symbolických instrukcí sestává z přiřazení mnemotechnické funkce, za nímž následují operandy, které označují metody adresování a datové typy. Různé datové typy a režimy adresování jsou indikovány vkládáním operandů, nikoli změnami mnemotechnických hodnot.

Příkazový systém lze myšlenkově rozdělit do pěti skupin: aritmetické příkazy; logické příkazy; přenosové příkazy; příkazy bitového procesoru; příkazy pro demontáž a předání řízení. Symboly, které se používají v příkazovém systému, jsou uvedeny níže.

Stůl. Významy symbolů, které se používají v příkazovém systému

Schůzka, symbol

Úkol

baterie

Registr tokové banky registrů

Číslo přiděleného registru určené týmem

Přímo

Přímo je adresována 8bitová interní datová adresa, což může být střed interní datové RAM (0-127) nebo speciální funkční registr SFR (128-255)

Nepřímé adresování 8bitového středu interní datové paměti RAM

8bitový bez středu Co je zahrnuto v operačním kódu (OPC)

dataH

Vysoké bity (15–8) středních 16bitových dat

dataL

Young beats (7–0) střední 16bitová data

11bitové cílové adresy

addrL

Adresy uznání mladých lidí

8bitový bajt posunutí se znaménkem

Bit z přímého adresování, na jehož adrese je umístěn COP, který je umístěn v interní datové RAM nebo registru speciálních funkcí SFR

a15, a14...a0

Bitové adresy a přiřazení

Místo prvku X

Místo adresy, která je uložena v prvku X

Vypouštění prvku X


+

*
A
NEBO
XOR
/X

Operace:
další
vidnіmannya
násobení
níže
logické násobení (operace I)
logické skládání (operace ABO)
Přidáno po modulu 2 (který zahrnuje ABO)
Inverze prvku X

Přiřazení mnemotechnických funkcí je jednoznačně spojeno se specifickými kombinacemi metod adresování a datových typů. Systém příkazů může mít 111 takových záznamů.

2. Aritmetické a logické instrukce

Yak p příklad aritmetické instrukce, Přidanou operací může být jeden z následujících příkazů.

PŘIDATA,7 F 16 - Místo toho přidejte číslo 7 do registru A F 16 uložit výsledek s registrem A;

PŘIDATA,@ R0 – přidat do registru A číslo, jehož adresu (@ – komerční na ) je uložen v registru R 0 (nepřímé adresování) a výsledek uložte do registru A;

PŘIDAT A,R7– přidat do místo registru A místo registru R 7 a výsledek uložte do registru A;

PŘIDAT A, #127- Přidat do registračního čísla A, úsporná adresa 127 ( # – číselný symbol) a výsledek uložte do registru T- Re A.

Všechny aritmetické instrukce jsou dokončeny v jednom strojovém cyklu pro každou instrukci INC DPTR(Posun ukazatele dat DPTR na další bajt), což trvá dva strojové cykly a také operaci násobení, která trvá 4 strojové cykly. Libovolný bajt v interní paměti dat lze inkrementovat nebo dekrementovat bez potřeby baterie.

Instrukce MUL AB Dochází k násobení dat v baterii na datech, která jsou v registru B, umístěním dat do registru A (mladší polovina) a B (starší polovina).

Instrukce DIV AB dělit (dělení - podsekce) místo akumulátoru na hodnoty registru B, přebytek ponechat v B a zejména v akumulátoru.

Instrukce DA A určeno pro aritmetické operace dvě desítky (početní operace s čísly zadanými v kódu dvě desítky). Nebojte se změnit dvojku na dviykovo-desyatkovo, A také zajistí správný výsledek při sčítání dvou dvou desetinových čísel.

zadek logický příkaz: Logickou operaci lze použít jako jeden z následujících příkazů:

ANLA,7 F 16 - Je logické násobit místo registru A číslem 7 F 16 a výsledek se uloží do registru A;

ANLA,@ R1 - Je logické násobit místo registru A číslem, jehož adresy jsou v registru uloženy R 1 (nepřímé adresování) a výsledek uložte do registru A;

ANL A,R6- Je logické násobit místo registru A číslem místo registru R 6, uložte výsledek do registru A;

ANL A,#53 – logické násobení místo registru A číslem, adresou obchodu, která je 53 16 a výsledek se uloží do registru A.

Všechny logické operace na prostoru baterie trvají jeden strojový cyklus, ostatní dva. Logické operace lze provádět na kterémkoli z nižších 128 bajtů vnitřní datové paměti nebo na libovolném registru SFR (registry speciálních funkcí) v režimu přímého adresování bez výměny baterie.

Operace cyklického ukládání RL A, RLC A se pak přesunou místo baterie o jeden bit doprava nebo doleva. V případě levého cyklického spoje se mladší bit přesune na starší pozici. V případech pravého cyklického sinu dochází k obratu.

Úkon SWAP A Současná výměna mezi mladými a starými je v baterii.

3. Příkazy pro přenos dat

tým MOV dest, src umožňuje přenášet data mezi středem vnitřní paměti a oblastí registru speciálních funkcí SFR bez vikoristánské baterie. V tomto případě může robot s horní polovinou vnitřního OZP pracovat pouze v režimu nepřímého adresování a lze jej rozšířit na registry SFR– již není k dispozici v režimu přímého adresování.

Pro všechny mikroobvody MCS-51 Zásobník je umístěn hned vedle rezidentní datové paměti a roste do výše. Instrukce TAM Zpočátku jsou hodnoty v registru indikátoru zásobníku větší SP a poté zapíše datové bajty do zásobníku. tým TAMі POP pouze v režimu přímého adresování (zápis nebo aktualizace bajtů), ale zásobník je vždy dostupný v nepřímém adresování prostřednictvím registru SP. Tímto způsobem může zásobník využívat horních 128 bajtů datové paměti. Tato označení zahrnují schopnost používat řetězcové příkazy k adresování registrů SFR.

Instrukce pro přenos dat zahrnují 16bitovou přenosovou operaci MOV DPTR,#data16, který se používá k inicializaci registru indikátoru dat DPTR Za hodinu se podívám na tabulku v paměti programu nebo na přístup do externí datové paměti.

Úkon XCH A,byte Je nastaven pro výměnu dat mezi baterií a bytem, ​​který je adresován. tým XCHD A, @Ri je podobný tomu přednímu, ale výměny operandů se účastní pouze ty pro mladší.

Pro přístup k externí datové paměti se používá nepřímé adresování. Každá jednobajtová adresa má registr vikoristů R0 nebo jinak R1 banka průtokových registrů a pro 16bitový registr zobrazení dat DPTR. Při jakémkoli přístupu k externí datové paměti hraje roli přijímání informací baterie.

Pro přístup k tabulkám umístěným v paměti programu použijte následující příkazy:

MOVC A,@A+ DPTR ;

MOVC A,@A+ PC .

Jak je základní adresa tabulky vikory přiřazena registru indikátoru dat DPTR nebo jinak PC(léčitel programu) a přemístění je převzato z A. Tyto příkazy se používají pouze pro čtení dat z paměti programu, nikoli však pro zápis do ní.

4. Booleovské operace

Mikroobvody MCS-51 nainstalujte do svého skladu „booleovský“ procesor. Interní RAM má 128 přímo adresovatelných bitů. Rozsah registrů speciálních funkcí SFR může podporovat až 128bitová pole. Biologické instrukce zahrnují inteligentní přechody, přesměrování, vyřazení, inverze, operace „I“ a „ABO“. Všechny tyto bity jsou dostupné v režimu přímého adresování.

Bit přenesen CF u rejstříku speciálních funkcí „se slovo stane programem P.S.W.» je popsán jako jednobitový akumulátor booleovského procesoru.

5. Přechodové instrukce

Adresy přechodových operací určuje assembler samostatně a referenčními hodnotami v paměťovém prostoru programu. Adresy inteligentních přechodů jsou sestavovány s referenčním posunem - znakovým bajtem, který je předán softwarovému procesoru. PC V době Vikonannya, mysli přechodu. Hranice mezi takovými přechody leží mezi mínus 128 a 127, těsně před prvním bajtem následujícím po instrukci. V registru speciálních funkcí „slovo se stane programem“ P.S.W.» den je ve znamení nuly, návod k tomu JZі JNZ Ověřte mysl „přesně nula“ při testování dat v baterii.

Existují tři typy příkazů pro šílený přechod: SJMP, LJMPі AJMP- Liší se formátem adresy a účelem. Instrukce SJMP zakóduje adresu jako zjevně zapomenutou a zabere dva bajty. Přechodová vzdálenost je omezena rozsahem od minus 128 do 127 bajtů na instrukci SJMP.

V návodu LJMP Vikorist identifikuje cílovou adresu jako 16bitovou konstantu. Celkový příkaz má celkem tři bajty. Adresy přiřazení lze přiřadit libovolnému místu paměti programu.

tým AJMP Vikoristova 11bitová adresová konstanta. Příkaz se skládá ze dvou bajtů. Když je tato instrukce odstraněna, mladší 11bitová adresa léčitele je nahrazena 11bitovou adresou příkazu. Pět starších kousků softwarového léčitele PC se stane neměnným. K přechodu tedy může dojít uprostřed 2K-bytového bloku, do kterého je vložena instrukce, která následuje za příkazem. AJMP.

Existují dva typy příkazů podprogramu: LCALLі HOVOR. Instrukce LCALL 16bitová adresa vikoristu podprogramu, který je volán. V každém případě lze podprogram odstranit z libovolného místa v paměti programu. Instrukce HOVOR Adresa 11bitového podprogramu Vikorist. V tomto případě musí být podprogram, který je vyvolán, zabalen do jednoho 2K-bytového bloku s následujícími instrukcemi HOVOR. Možnosti útočného příkazu jsou umístěny do zásobníku na adresu útočícího příkazu a očarovány softwarovým léčitelem PC nový význam.

Podprogram končí instrukcí RET, která vám umožňuje vrátit se k pokynům a postupovat podle příkazu VOLÁNÍ. Tato instrukce zobrazí adresu vrácenou ze zásobníku a vloží ji do čističe programu. PC . Instrukce RETI Vikoristovatsya otočit z podprogramů k přerušení zpracování. Jednota RETI Pohled RET tomu věří RETI Informuje systém, že zpracování bylo dokončeno. Yakshcho v době viconny RETI Nejsou žádná další přerušení, pak je to stejné RET.

Instrukce DJNZ určené pro keruvannya cykly. Pro cyklus Vikonanny N Jakmile budete muset přidat bajty a hodnoty lékaři N poté zavřete tělo smyčky příkazem DJNZ, který označuje začátek cyklu.

tým CJNE vyrovná své dva operandy jako cíle bez znaménka a poté skočí na adresu v něm specifikovanou, protože zarovnané operandy nejsou stejné. Pokud je první operand menší než druhý, bit se přenese CF je nainstalován na „1“.

Všechny příkazy v sestavené podobě zabírají 1, 2 nebo 3 bajty.

MDT 681,5, 681,325,5 (075,8)

BBK 32.973.202-018.2 i 73

Ščerbina O. N.Výpočetní stroje, systémy a opatření. Mikrokontroléry a mikroprocesory v řídicích systémech: cheb. Pos_bnik/O.M. Shcherbina, P.A. Nechaev-SPb.: Ústav polytechniky. Univ., 2012.-226 s.

Ukazuje nahrazení národního standardu školení a odborností v oblasti managementu v technických systémech, energetice a elektrotechnice a nahrazení vzdělávacího počátečního programu oboru „Výpočetní technika“ bez strojů, systémů nebo opatření.“

Základní výživa logické organizace mikroprocesorových systémů je zkoumána pomocí základní architektury řady mikrokontrolérů MCS-51 od Intelu. Je popsána technologie programování mikrokontrolérů pomocí jazyků Assembler a CI.

Může být užitečný pro studenty a vývojáře pokročilých technických znalostí, specialisty na automatizaci procesů a výrobu, stejně jako pro konstruktéry mikroprocesorových systémů.

Nahrazuje také národní standard oborů „Mikrokontroléry a mikroprocesory v řídicích systémech“ a „Elektronická automatizační zařízení“ pro bakalářské, inženýrské a magisterské studium přímo 1404 00 „Elektrotechnika a elektrotechnika“.

Souhlaste s redakčními a redakčními rozhodnutími

Petrohradská státní polytechnická univerzita.

© Shcherbina A. N., Nechaev P. A., 2012

© St. Petersburg

Polytechnická univerzita, 2012

ISBN 978-5-7422-3553-8


Vstup.. 7

Sekce 1. Architektura rodiny MCS51. 10

1.1 Charakteristika plynu 10

1.2 Blokové schéma 11



1.3 Účel komponent mikrokontroléru 8051 15

1.4 Organizace paměti 17

1.4.1 Paměť programu (PPM) 18

1.4.2 Datová paměť (DMS) 19

1.4.3 Registry speciálních funkcí. 20

1.4.4 Registr warrantů (PSW) 23

1.5 Instalace a synchronizace 26

1.6 Organizace vstupních a výstupních portů 27

1.6.1 Zprávy ze zákulisí. 27

1.6.2 Alternativní funkce. 27

1.7. Časovače / mikrokontroléry řady 8051. 28

1.7.1. Struktura časovačů ošetření. 28

1.7.2 Režimy činnosti časovačů ošetření. třicet

1.8. Sériový port 32

1.8.1. Struktura sériového portu. 32

1.8.2. Registr servisního/cenového stavu SCON.. 34

1.8.3. PCON.. registr 36

1.9. Systém 37

1.9.1. Změňte strukturu systému. 37

1.9.2 Vikonannya podprogramy perervaniya. 40

Kapitola 2. Vlastnosti mikrokontroléru 80C51GB.

2.1 Funkční vlastnosti 42

2.2 I/O porty P0-P5 43

2.2.1 Funkce I/O portů. 43

2.2.2 Nahrávání v přístavu.

2.3 Vlastnosti systému přerušení 8XC51GB.

Povoleno / plot k přerušení. 50

Přerušit správu priorit. 51

Vnější přerušení. 54

2.3. Vuzol ADC 56

2.4. Hlídací pes hardwaru 61

2.5. Odhalená porucha generátoru hodin 63

2.6. Matice naprogramovaných lékařů RSA 64

2.6.1. Struktura PCA..64

2.6.2. Registr praktických lékařů RSA (CMOD) 66

2.6.3. Registr lékařského vedení PCA (CON) 67

2.6.4. Vyrovnávací/fixační moduly. 68

2.7. Rozšíření sériového portu 76

2.8. Časovače/dávkovače 79

Umístění mikrokontrolérů skupiny 8XC51GB.

Část 3. Programování MK 8051GB.

3.1. Softwarový model 89

3.2 Typy dat 93

3.3 Způsoby adresování dat 93

3.4 Příkazový systém 95

3.4.1. Zagalny charakteristika. 95

3.4.2 Typy příkazů. 96

3.4.3 Typy operandů. 97

3.4.4 Příkazy pro potlačení dat mikrokontroléru. 98

3.4.5 Instrukce pro aritmetické operace 8051. 101

3.4.6 Příkazy logických operací mikrokontroléru 8051. 104

3.4.7 Příkazy pro operace s bity mikrokontroléru 8051. 106

3.5 Nastavení programu 111

Část 4. Jazykové programování ASM-51. 112

4.2 Nahrávání textového programu 113

4.3. Jazyková abeceda. 114

4.4 Identifikátor. 115

4.5 Čísla 117

4.6 Směrnice 118

4.7 Implementace podprogramu ASM51 122

4.7.1 Struktura procedury podprogramu mého ASM51. 122

4.7.2 Přenos měnitelných parametrů do podprogramu. 123

4.7.3 Implementace funkce podprogramu mého ASM51. 123

4.7.4 Implementace procesních rutin pomocí mého ASM51. 124

4.8 Strukturálně naprogramovaný assembler. 125

4.9 Vlastnosti vysílání bohatě modulárních programů. 126

4.10 Výběr segmentu 128

4.10.1 Rozdělení paměti MK na segmenty. 128

4.10.2. Absolutní paměťové segmenty. 129

4.10.2 Přesunuté segmenty paměti. 131

Kapitola 5. Programování jazyků S-51. 134

5.1 Zagalnaya charakteristika filmu 134

5.3 Struktura programu S-51 136

5.3. Programování filmů Elementi S-51 138

5.3.1. Symboly.. 138

5.3.2. Lexikální jednotky, separátory a paseky. 141

5.3.3 Identifikátor 142

5.3.4 Klíčová slova. 143

5.3.5 Konstantní.. 143

5.4. Virazi ve filmových operátorech 146

programování C-51 146

5.5. Priority vojenských operací 148

5.6. Programování filmů operátorů C-51 149

5.6.1. Operátoři jsou ohromeni. 150

5.6.2 Operátoři, co podepsat. 150

5.6.3 Operátor přidělení. 151

5.6.4 Mentální operátor. 151

5.6.5 Strukturální operátor (). 152

5.6.6 Operátor pro smyčku. 152

5.6.7 Operátor pro smyčku s převrácením smyčky while. 153

5.6.8 Operátor smyčky z obrácení mysli za tělem do smyčky do while. 154

5.6.9. Přestávka operátora. 155

5.6.10 Pokračovat operátor. 155

5.6.11 Přepnout operátora výběru. 155

5.6.12 Přejít na operátora. 157

5.6.13 Operátor Virazu. 158

5.6.14 Návrat rotačního operátoru z podprogramů. 158

5.6.15 Prázdný operátor. 158

5.7. Ohromený mými změnami v programování C-51. 159

5.7.1. Ohromený změnou. 159

5.7.3 Účely datových typů. 161

5.7.4 Čísla s plovoucí hrudkou. 162

5.7.5 Bezbožné typy, abyste hráli na jistotu. 162

5.7.6. Ohromené masivy v programu C-51. 164

5.7.7. Struktury.. 165

5.7.8. Ob'ednannya (sumishi) 166

5.8. Vikoristannya představuje v movі C-51 167

5.8.1. Ohromení zobrazovači. 167

5.8.2. Netypové indikátory. 168

5.8.3. Paměť zastaralých displejů. 169

5.9. Ohromující nové typy změn 169

5.10. Inicializace dat 170

5.11. Podprogram Vikoristannya u movі programování S-51. 170

5.11.1. Důležitý podprogram.. 171

5.11.2. Parametry firmwaru 173

5.11.3. Dopředné podprogramování 174

5.11.4 Podprogram Viklik.. 176

5.11.5 Podprogram rekurzivního volání. 176

5.11.6 Přerušení podprogramů. 177

5.11.7 Oblasti změn a podprogramy. 178

5.12. Bohaté modulové programy 179

Kapitola 6. Příprava programů pro integrované jádro Keil μVision2. 182

6.1 Vytvoření mého projektu ASM-51 182

6.2 Aplikace vytvořená mým projektem C pro počáteční ovladač v integrovaném jádru Keil μVision2 188

Kapitola 7. Popis výchozího ovladače. 199

7.1. Struktura ovladače 199

7.2. Adresní prostor 200

7.2.1. Rozdělil paměť. 200

7.2.2 Externí paměť. 201

7.2.3. Vnitřní paměť dat. 202

7.3. Seznam portů pro vkládání a vyjímání 202

7.4. Sekvenční port…………………………………...203

7.5. Robot z RKI 205

7.6. Ovládací panely……………………………………………………………………… 213

DOPLNĚK P2 STRUKTURA ZPRÁVY O LAB ROBOTU……..217

Dodatek P3 strojové příkazy Kodi. 217

Reference... 224


Vstupte

Ve zvládnutých specializacích souvisejících s automatizací technologických procesů a výroby je vývoj mikrokontrolérů jednou z důležitých oblastí.

Svět zažívá neustálý vývoj a vznik nových a nových 16- a 32bitových mikrokontrolérů a mikroprocesorů, ale největší část trhu s lehkými mikroprocesory se stále ztrácí pro 8bitová zařízení. Podle všech prognóz analytických společností zůstane vedoucí pozice 8bitových mikrokontrolérů na trhu osvětlení i v blízké budoucnosti.

V současné době je mezi všemi 8bitovými mikrokontroléry rodina MCS-51 nesporným lídrem v počtu odrůd a počtu společností, které vyrábějí její modifikace. Svůj název převzal po prvním zástupci své rodiny – mikrokontroléru 8051. Kromě sady periferních zařízení také možnost výběru buď externí nebo interní programové paměti a rozumná cena za Úspěch tohoto mikrokontroléru v roce nám nezajímal. trh.

Výhody rodiny MCS-51:

· architektura, která je de facto standardem;

· Extrémní šíře rodiny a rozmanitost možností;

· Dostupnost vysoce produktivních a pokročilých verzí procesorů;

· Počet široce dostupných softwarových a hardwarových možností je významný;

· Snadné programování hardwaru, včetně programování vnitřních obvodů;

· Levnost a dostupnost základních čipů;

· Dostupnost speciálních verzí ovladačů pro speciální mysli

· Dostupnost verzí ovladačů se sníženou úrovní elektromagnetických přechodových jevů;

· Široká obliba u starší generace dětí jak ve světě, tak v zemích LIC;

· Podpora architektury s hlavními principy světla.

A, víte, hlavní výhoda: po zvládnutí základního čipu rodiny je snadné začít pracovat s takovými výpočetními monstry, jako jsou mikrokontroléry od Cygnal, Dallas Semiconductor, Analog Devices, Texas Instruments.

Pažba rodiny MCS-51 zahrnuje celou řadu mikroobvodů od nejjednodušších mikrokontrolérů až po několik skládacích. Dnes existuje přes 200 modifikací mikrokontrolérů rodiny 8051, které vyrábí přibližně 20 společností. Brzy se objevují nové varianty zástupců této čeledi.

Hlavní směry vývoje jsou:

· Zvýšený rychlostní kód (zvýšená frekvence hodin a přepracovaná architektura);

· Snížené napětí a spotřeba energie;

· Zvýšené využití paměti RAM a FLASH na čipu s možností programování vnitřních obvodů;

· Seznámení se skladem periferií mikrokontrolérů pro skládací zařízení, jako jsou systémy pohonů, rozhraní CAN a USB atd.

Mikrokontroléry řady MCS-51 umožňují konfigurovat ovládání různých zařízení a implementovat různé komponenty analogových obvodů. Všechny mikroobvody této rodiny pracují se stejným řídicím systémem. Většina z nich je instalována v nových pouzdrech se základnou, která je vyloučena (číslování základny pro pouzdro). To umožňuje používat mikroobvody od různých společností - výrobců bez přepracování schémat zapojení zařízení a programů.

Hlavními producenty druhů 51. rodiny na světě jsou Philips, Siemens, Intel, Atmel, Dallas, Temic, Oki, AMD, MHS, Gold Star, Winbond, Silicon Systems a další.

Charakteristiky analogů mikrokontrolérů řady MCS-51 (Intel 8XC51FA, 8XC51GB, 80C152) s rozšířenými možnostmi jsou uvedeny v tabulce. V 1.

Tabulka B.1

RAM ROM RSA ADC WDT T/C Skluzavka Kanály Funkce
Atmel: AT89C2051
- - - - UART Flash 2 kB
AT89C4051 - - - - UART Flash 4 kB
AT89S4D12 128 tis - - - UART, SPI Flash 4 kB
Polovodič DALLAS: DS5000FP
- - - + UART Bootstrap loader
DS5001FP - - - + UART Bootstrap loader
DS8xC520 16 tis - - + 2xUART 2 DPTR
SIEMENS: C505C
16 tis - + + UART, CAN 8 DPTR
C515C 64 tis - + + UART+ SSC+CAN 4 PWM, 8 DPTR
Philips: *89C51RA+
- + - + UART 2 DPTR, 4 lvl. rev., hodiny mimo, Flash 8K
P51XAG1x 8 tis - - + 2 UART
Intel: 8xC51RA
8 tis - + + UART 4 úrovně IRQ, hodiny mimo
8XC196KC 64 tis 16 tis - + - UART 3 PWM
80C196KB 64 tis 8 tis - + - UART PWM

Sekce 1. Architektura rodiny MCS51

8bitové jednočipové mikrokontroléry rodiny MCS-51 si získaly velkou oblibu mezi vývojáři mikroprocesorových řídicích systémů v závislosti na návrhu architektury. Architektura mikrokontroléru je souborem interních a externích hardwarových zdrojů a příkazových systémů dostupných k softwaru. Architektura rodiny MCS-51 je výrazně řízena jejími cíli vytvářet kompaktní a nízkonákladová digitální zařízení. Mikrokontroléry, které spojují všechny funkce mikro-EOM do jediného mikroobvodu, se nazývaly jednočipové EOM (SOC).

Intel vydal téměř 50 modelů založených na operačním jádře mikrokontroléru Intel 8051. Současně s výrobou vlastních mikrokontrolérů, rozdělených do standardu MCS-51, začalo mnoho dalších společností, jako je Atmel, Philips.

podzemní vlastnosti

Hlavní rysy rodiny:

· 8bitový centrální procesor (CPU), orientovaný na ovládání počítačových zařízení;

· CPU je vybaveno 8bitovým hardwarovým násobícím obvodem;

· Skutečnost, že instrukční sada má velké množství operací pro práci s přímo adresovanými bity, umožňuje hovořit o procesoru pro práci s bitovými daty (Booleovský procesor);

· Vnitřní (otočená na krystalu) programová paměť maskovaného nebo přeprogramovaného typu, která může být pro různé krystaly o objemu 4 až 32 KB, v některých verzích každý den;

· Minimálně 128 bajtů rezidentní datové paměti RAM, která se používá pro organizaci, banky registrů, zásobník a ukládání dat;

· Nejméně 32 obousměrných linek rozhraní (portů), které lze individuálně nakonfigurovat pro vstup nebo výstup informací;

· dva 16bitové multimódové healery/časovače, které se používají k udržování externích procesů, organizování časových hodin a časování komunikačního portu;

· Obousměrný duplexní asynchronní přijímač (UART), používaný pro organizaci komunikačních kanálů mezi mikrokontrolérem a externími zařízeními s širokým rozsahem rychlostí přenosu informací. Є funkce pro hardwarovou a softwarovou integraci mikrokontrolérů v přidruženém systému;

· domácí prioritní systém zavlažování, který podporuje minimálně 5 vektorů zavlažování ze 4 vnitřních a 2 vnějších vodních trysek;

· Generátor vnitřních hodin.

Blokové schéma

Blokové schéma regulátoru je uvedeno na obr. 1.1 a skládá se z následujících hlavních funkčních jednotek: řídící jednotka, aritmeticko-logická jednotka, blok časovače/výdejního stojanu, blok sériového rozhraní a přerušení, programový regulátor, paměť datovou a programovou pamětí. Obousměrná komunikace probíhá přes interní 8bitovou datovou sběrnici. Téměř všichni zástupci rodiny MCS-51 byli vytvořeni v rámci tohoto schématu. Různé mikroobvody této rodiny jsou rozděleny do registrů zvláštního určení (registry a počet portů).

Časovací a řídicí blok- účely pro vibrační synchronizační a řídicí signály pro zajištění koordinace integrovaného provozu jednotek OEOM ve všech přípustných provozních režimech. Řídicí jednotka skladu obsahuje:

budoucí tvorba hodinových intervalů;

vstupně-výstupní logika;

příkazový registr;

registr řízení dodávek elektřiny;

příkazový dekodér, logika řízení EOM.

Malý 1.1. Blokové schéma regulátoru I8051.

Zařízení pro formování hodinových intervalů Určeno pro vytváření a vytváření interních fázových hodinových signálů, hodinových cyklů a cyklů. Počet cyklů stroje znamená složitost posloupnosti příkazů. Téměř všechny příkazy OEOM se provádějí v jednom nebo dvou strojových cyklech, s výjimkou násobení příkazů, jejichž triviálnost probíhá v několika strojových cyklech. Výrazně frekvence generátoru, která se nastavuje přes F r. Frekvence cyklu stroje je 12/F nebo nastavte 12 period na signál generátoru, který se nastavuje. Vstupně-výstupní logika je navržena pro příjem typů signálů, které zajišťují výměnu informací z externích zařízení přes vstupně-výstupní porty P0-P3.

Registr příkazůÚčelem záznamu je uložit 8bitový operační kód přidávaného příkazu. Operační kód je pomocí příkazového dekodéru a řídicí logiky EOM převeden na mikroprogram příkazu.

Členský kontrolní registr (PCON) Umožňuje změnit robota s mikrokontrolérem za účelem změny množství spotřebované elektrické energie a změny úrovně vstupu z mikrokontroléru. Ještě větší změny množství elektrické energie a změny transkódu lze dosáhnout odpojením generátoru mikrokontroléru, který jej nastavuje. Toho lze dosáhnout pomocí obrácení bitového registru ve spojení s PCON. U verze vyráběné technologií n-MOS (řada 1816 nebo zahraniční mikroobvody, jejichž názvy mají uprostřed písmeno „c“) obsahuje registr registru PCON pouze jeden bit, který zajišťuje hladký přenos sériového portu SMOD a být každý den připojen k elektrické síti.

Aritmetická logická jednotka (ALU) je paralelní osmibitové zařízení, které poskytuje širokou škálu aritmetických a logických operací. ALU se skládá z:

registry baterie, registry pro úsporu času TMP1 a TMP2;

PZP konstanty;

sumatora;

doplňkový registr (registr B);

baterie (ACC);

z registru se stane program (PSW).

Registr registr šetřící baterii a čas- osmibitové registry, určené k zachycování a ukládání operandů za hodinu provádění operací na nich. Tyto registry nejsou programově přístupné.

Konstantní ROM zajistí generování opraveného kódu při předávání subdesátých dat, kódu masky při bitových operacích a konstantního kódu.

Paralelní osmibitový sumátor je schéma kombinačního typu s následným převodem, určené pro výpočet aritmetických operací sčítání, sčítání a logických operací sčítání, násobení, nejednoznačnosti a identity.

Registrovat B- osmibitový registr, který je modifikován během operace násobení. Pro ostatní instrukce může být považován za dodatečný provozní registr.

baterie- osmimístný registr pro příjem a uložení výsledku získaného při provádění aritmeticko-logických operací nebo operací.

Blok sériového rozhraní (SIP)účely pro organizaci vstupu - zobrazení následných toků informací a organizace systému přerušení programu. Součástí skladového bloku je:

PIP buffer;

logika keruvannya;

řídicí registr;

přenosová vyrovnávací paměť;

primární pufr;

akceptor sériového portu;

přerušit prioritní registr;

je povoleno přerušení registru;

Logika zpracování praporců je přerušena a schéma vektorového chvění.

Počítadlo příkazů (počítadlo programů)Účely pro vytvoření vláknové 16bitové adresy vnitřní programové paměti a 8/16bitové adresy externí programové paměti. Sklad příkazů obsahuje 16bitovou vyrovnávací paměť PC, registr PC a schéma přírůstku (zvýšené o 1).

Datová paměť (RAM) Navrženo pro časové ukládání informací shromážděných během procesu instalace programu.

Porti P0, P1, P2, P3 Má kvazi-obousměrné vstupně-výstupní porty pro zajištění výměny informací OEOM s externími zařízeními, čímž vzniká 32 vstupně-výstupních linek.

Registrace se stane programem (PSW)Účely pro uložení informací o závodě LSA během instalace programu.

Programová paměť (EPROM) Určeno pro ukládání programů a permanentních paměťových zařízení (ROM). Některé mikroobvody mají stagnující masky, které lze vymazat ultrafialovým zářením nebo FLASH ROM.

Registr zobrazení dat (DPTR)účel pro uložení 16bitové adresy externí datové paměti.

Indikátor zásobníku (SP) Jedná se o osmibitový registr sloužící k uspořádání speciální oblasti datové paměti (stack), do které můžete rychle uložit libovolné množství paměti.

1.3 Účel komponent mikrokontroléru 8051(obr. 1.2)

· U ss - potenciál podzemního drotu ("země");

· U cc - síťové napájecí napětí +5 V;

· X1, X2 – konektory pro připojení křemenného rezonátoru;

· RST - vstup mikrokontroléru;

· PSEN - povoleno, aby byla externí programová paměť viditelná pouze při upgradu na novou ROM;

· ALE – stroboskop adresy externí paměti;

· EA - povolení vnitřní programové paměti; Úroveň 0, při které vstup způsobí, že mikrokontrolér ukončí program pouze z externího PZP; Ignorování interního (jak to zůstává);

Malý 1.2. Přiřazení pinů 8051.

· P1 - osmibitový kvazi-obousměrný vstupní/výstupní port, každý port lze naprogramovat pro vstup i výstup informací, nezávisle na jiných kategoriích;

· P2 je osmibitový kvazi-obousměrný port, podobný portu P1, jehož kolíky se používají k zobrazení informací o adrese při stahování programu nebo dat do externí paměti (při použití 16bitového adresování). zůstat). Kromě toho jsou při naprogramování vybrány piny portu pro zadávání adres vyššího řádu do mikrokontroléru;

· РЗ - osmibitový kvazi-obousměrný port, podobný P1, jehož piny mohou být vybaveny řadou alternativních funkcí, jako jsou funkce používané při ovládání časovačů, sériový vstupně-výstupní port, řadič přerušení a poplatky externí paměti programu;

· P0 - multiplexní osmibitový obousměrný port pro vstup-výstup informací, přes tento port je v různých časech vyveden dolní bajt adresy a dat.

Organizace paměti

Celá řada MCS-51 využívá Harvardskou architekturu k poskytování adresovatelné paměti programů a dat. Struktura paměti je znázorněna na obr. 1.3.

Velikost vnitřní (rezidentní) programové paměti (ROM, EPROM nebo OTP ROM), která je uložena na krystalu, lze nastavit na 0 (ROMless), 4K (základní krystal), 8K, 16K nebo 32K v závislosti na typu mikroobvodu. Pro spotřebu můžete rozšířit programovou paměť instalovaného externího PZP. Přístup k internímu nebo externímu PZP je přiřazen hodnotám signálu na výstupu EA (External Access):

EA = V cc (životní napětí) - přístup k vnitřnímu PZP;

EA = V ss (zemní potenciál) – přístup k externí ROM.

U krystalů bez PZP (ROMless) je nutné připojení EA trvale připojit k V ss.

Malý 1.3. Organizace paměti rodiny MCS-51

Stroboskop pro načtení externího PZP - (Program Store Enable) je generován při stahování programu do externí paměti a po dobu stahování do PZP umístěného na čipu je neaktivní. Oblast nižších adres paměti programu je přerušena systémem. Architektura jádra čipu 8051 podporuje pět funkcí:

· přerušit dvě externí;

· dvakrát přerušit časovače;

· Přerušení sériového portu.

Na Obr. Obrázek 1.4 ukazuje mapu spodní oblasti programové paměti.

Malý 1.4. Mapa spodní oblasti paměti programu

Programová paměť (PPM)

V mikrokontrolérech řady 8051 jsou programová paměť a datová paměť nezávislá a nezávislá zařízení, která jsou řízena různými příkazy a signály.

Objem uložené programové paměti umístěné na čipu mikrokontroléru 8051 je až 4 KB (v rodině až 32). Při flashování programů do nové paměti budou všechny mikrokontroléry rodiny 8051 vždy používat 16bitovou adresu, která poskytne přístup až k 64 KB ROM. Mikrokontrolér se přepne do paměti programu v okamžiku načtení provozního kódu a operandů (příkazový procesor PC) a odešle příkazy ke zkopírování bajtu z paměti programu do baterie. Při použití těchto příkazů je kopírování dat adresováno uprostřed paměti programu, ze kterého budou data čtena, může spolupracovat s PC datovým kontrolérem a speciálním dvoubajtovým datovým registrem DPTR.

Vzpomínka na pocty (MP)

Objem datové paměti uložené na čipu je 128 bajtů. Objem externí datové paměti může dosáhnout až 64 KB. Prvních 32 bajtů je uspořádáno do čtyř bank registrů primárního významu, které jsou označeny jako banka 0 - banka 3. Každá z nich se skládá z osmi registrů R0-R7. V každém okamžiku má program při adresování registrů k dispozici pouze jednu banku registrů, jejichž číslo se nachází ve třetím a čtvrtém bitu slova se stane programem PSW.

Adresy oblasti bitové paměti mikrokontroléru 8051

Tabulka 1.1

Bajtové adresy (hexadecimální) Adresy bitev podle hodností
D7 D6 D5 D4 D3 D2 D1 D0
2F 7F 7E 7D 7C 7B 7A
2E
2D 6F 6E 6D 6C 6B 6A
2C
2B 5F 5E 5 D 5C 5B 5A
2A
4F 4E 4D 4C 4B 4A
3F 3E 3D 3C 3B 3A
2F 2E 2D 2C 2B 2A
1F 1E 1D 1C 1B 1A
0F 0E 0D 0C 0B 0A
20h

Adresní prostor, který je ztracen, může být konfigurován vývojářem podle svého uvážení: může pojmout zásobník, systém a oblasti osobních dat. Vyvolání paměti těchto dat lze provést dvěma způsoby. První metodou je přímé adresování do středu paměti. Který typ adresy uprostřed je operandem vstupního příkazu. Další metodou je nepřímé adresování přídavných indikátorových registrů R0 nebo R1: před výstupem externího příkazu lze do jednoho z nich zadat adresy uprostřed, dokud není nutné je otevřít.

Pro přenos dat do externí paměti je vyžadováno nepřímé adresování pro další registry R0 a R1 nebo 16bitový indikátorový registr DPTR.

Součástí datové paměti je bitová oblast, v ní je možnost řešit kožní vybití střední paměti pomocí speciálních bitových příkazů. Stejným způsobem lze zaznamenat i adresy přímo adresovaných bitů (AddressByte). (Vybít). Relevanci těchto dvou metod adresování lze vidět v tabulce. 1.1.

Architektura mikrokontroléru

Propracovaná architektura mikrokontrolérů je klíčem k programování typu sestavy. Struktura assembleru, formát jeho instrukcí, adresování operandů jsou také přímo určeny architekturou. Způsob úpravy architektury je:

· Identifikace sady registrů dostupných pro programování, jejich funkční účel a struktura;

· rozumná organizace operační paměti a pořádku;

· Povědomí o typech dat;

· Vivchenya formát strojových příkazů;

· Přerušit organizaci práce.

Architektura rodiny MCS-51 je výrazně řízena jejími cíli vytvářet kompaktní a nízkonákladová digitální zařízení. Všechny funkce MK jsou realizovány pomocí jediného mikroobvodu. Pažba rodiny MCS-51 zahrnuje celou řadu mikroobvodů od nejjednodušších mikrokontrolérů až po několik skládacích. Mikrokontroléry řady MCS-51 umožňují konfigurovat ovládání různých zařízení a implementovat různé komponenty analogových obvodů. Všechny mikroobvody této rodiny pracují se stejným řídicím systémem, většina z nich je instalována v nových skříních s vynechanou základnou (číslování základen pro skříň). To umožňuje používat mikroobvody od různých výrobců (např. Intel, Dallas, Atmel, Philips atd.) bez přepracování schémat zapojení zařízení a programů.

MCS-51 je založen na Harvardské architektuře, kde jsou odděleny adresovatelné prostory programové paměti a dat.

Blokové schéma regulátoru je uvedeno na obr. 2.3 a skládá se z následujících hlavních funkčních celků: řídicí jednotka, aritmeticko-logické zařízení, blok časovačů/výdejních stojanů, sériové rozhraní a přerušení, seznam příkazů dávkovače programu) , paměť dat a paměť yati programů

Obousměrná komunikace probíhá přes interní 8bitovou datovou sběrnici. Pojďme se podívat na zprávu o významu kožního bloku. Téměř všichni zástupci rodiny MCS-51 byli vytvořeni v rámci tohoto schématu. Různé mikroobvody této rodiny jsou rozděleny do registrů zvláštního určení (registry a počet portů). Povelový systém všech ovladačů řady MCS-51 obsahuje 111 základních povelů ve formátu 1, 2 nebo 3 bajty a při přechodu z jednoho mikroobvodu na druhý se nemění. To zajistí zázračnou přenositelnost programů z jednoho mikroobvodu do druhého.

Řídicí a synchronizační jednotka(Timing and Control) slouží ke generování synchronizačních a řídicích signálů pro zajištění koordinace celkového provozu jednotek OEOM ve všech přípustných provozních režimech. Řídicí jednotka skladu obsahuje:


  • zařízení pro vytváření hodinových intervalů,
  • kombinační schéma zavedení a vysazení,
  • příkazový registr,
  • příkazový dekodér.

Víkendy a víkendy signály do řídicí a synchronizační jednotky:

1 PSEN- Samostatné ukládání programové paměti;

2 ALE- Výstupní signál pro povolení opravit adresu;

3 PROG- Programování signálů;

4 E.A.– blokování robota z vnitřní paměti;

5 VPP- Programování napětí;

6 RST- Signál odhození zagalného.

Zařízení vytváří hodinové intervaly, které jsou nezbytné pro synchronizaci sekvence zastavení CPU, udržení strojového cyklu a zajištění správného provozu všech interních terminálů a vyrovnávacích pamětí výstupních portů. Cyklus stroje se skládá ze šesti konečných stavů (stavů) od S1 do S6, které jsou naopak rozděleny do dvou fází:

fáze 1 (Fáze 1 - P1) a fáze 2 (Fáze 2 - P2). Cyklus stroje lze tedy měřit jako sled hodinových intervalů S1P1, S1P2, S2P1, ..., S6P2. Doba trvání fáze je stejná jako perioda přímých hodinových pulsů, takže cyklus stroje trvá 12 hodinových period.

Počet cyklů stroje znamená složitost posloupnosti příkazů. Téměř všechny příkazy se provádějí v jednom nebo dvou strojových cyklech, kromě násobení příkazů, které lze provést v několika strojových cyklech. Vstupně-výstupní logika je navržena pro příjem typů signálů, které zajišťují výměnu informací z externích zařízení přes vstupně-výstupní porty P0-P3.

Registr příkazůÚčelem záznamu je uložit 8bitový operační kód přidávaného příkazu. Operační kód je pomocí příkazového dekodéru a řídicí logiky EOM převeden na mikroprogram příkazu.

Rýže. 2.3. Blokové schéma jednočipového mikrokontroléru Intel 8051

(domov MCS-51)

Aritmeticko-logické zařízení(ALU) je paralelní osmibitové zařízení, které poskytuje řadu aritmetických a logických operací. ALU se skládá z:

  • registry šetřící čas -TMP1 a TMP2,
  • ROM konstanty,
  • sumatora,
  • další registr - registrace,
  • baterie - ACC,
  • z rejstříku slova se stane program (rejstřík praporčíků) - PSW.

Registr úspory času TMP1, TMP2- osmibitové registry, určené k zachycování a ukládání operandů za hodinu provádění operací na nich. Tyto registry nejsou programově přístupné.

Konstantní ROM zajistí generování opraveného kódu při předávání subdesátých dat, kódu masky při bitových operacích a konstantního kódu.

Paralelní osmibitový sumátor je schéma kombinačního typu s následným převodem, určené pro výpočet aritmetických operací sčítání, sčítání a logických operací sčítání, násobení, nejednoznačnosti a identity.

Registrovat B- osmibitový registr, který je modifikován během operace násobení. Pro ostatní instrukce může být považován za dodatečný provozní registr.

baterie- osmimístný registr pro příjem a ukládání výsledku získaného z aritmeticko-logických operací nebo operací ukládání.

Registrace se stane programem PSW (Programm Status Word) Abych zachránil slovo, stanu se příkazy, které budou podepsány. Při zadání velkého počtu ALU příkazů se vytvoří řada operačních symbolů (znaků), které se zaznamenají do registru programového slova (PSW). Ve stole 1 je nastíněn překlad vlajek PSW, uvedena jejich symbolická jména a popsána mentální formace.

Blok pro přerušení sériového rozhraní - UART (Universal Asynchronous Receiver/Transmitter)účely pro organizaci vstupu - zobrazení následných toků informací a organizace systému přerušení programu.

Přerušení totiž znamená časově náročnou realizaci hlavního procesu výpočtu provádění různých plánovaných i neplánovaných akcí, spouštěných robotickým zařízením a programy.

Tyto akce mohou být servisní povahy, mohou být poháněny souběžnými servisními programy nebo reagovat na rutinní situace.

Příkazový systém OMEOM poskytuje skvělé možnosti zpracování dat, zajišťuje provádění logických, aritmetických operací a také řízení v reálném čase. Implementováno bit-by-bit, tetrad-by-bit (4 bity), byte-by-byte (8 bitů) a 16-bitové zpracování dat.

BIS rodiny MCS-51 je 8bitový OMEOM: ROM, RAM, speciální registry, ALU a externí sběrnice mají bajtovou organizaci. Dvoubajtová data zpracovává pouze registr displeje (DPTR) a příkazový čistič (PC). Všimněte si, že datovým registrem může být buď dvoubajtový registr DPTR, nebo dva jednobajtové speciální registry DPH a DPL. Příkazový čistič se vždy používá jako dvoubajtový registr.

Sada příkazů OMEOM obsahuje 42 mnemotechnických příkazů pro specifikaci 33 funkcí systému.

Syntaxe většiny příkazů v jazyce symbolických instrukcí sestává z přiřazení mnemotechnické funkce, za nímž následují operandy, které označují metody adresování a datové typy. Různé datové typy a režimy adresování jsou indikovány vkládáním operandů, nikoli změnami mnemotechnických hodnot.

Příkazový systém lze mentálně rozdělit do pěti skupin:

Existují následující typy adresovacích operandů:

  • Nepřímé adresování registrů mimo součet základních a indexových registrů

Tabulka symbolů používaných v příkazovém systému

Schůzka, symbol Úkol
A baterie
Rn Registr tokové banky registrů
r Číslo přiděleného registru určené týmem
Přímo 8bitová interní datová adresa je adresována přímo, což může být střed interní datové RAM (0-127) nebo SFR (128-255)
@Rr Nepřímé adresování 8bitového středu interní datové paměti RAM
údaje8 8 bitů bez středu se zadává před COP
dataH Vysoké bity (15-8) středních 16bitových dat
dataL Young beats (7-0) střední 16bitová data
adr11 11bitové cílové adresy
addrL Adresy uznání mladých lidí
disp8 8bitový bajt posunutí se znaménkem
bit Bit z přímého adresování, na jehož adrese je umístěn COP, který se nachází v interním OCP dat nebo SFR
a15, a14...a0 Bitové adresy a přiřazení
(X) Místo prvku X
((X)) Místo adresy, která je uložena v prvku X
(X)[M] Vypouštění prvku X

+
-
*
A
NEBO
XOR
/X
Operace:
další
vidnіmannya
násobení
níže
logické násobení (operace I)
logické skládání (operace ABO)
Přidáno po modulu 2 (který zahrnuje ABO)
Inverze prvku X

Přiřazení mnemotechnických funkcí je jednoznačně spojeno se specifickými kombinacemi metod adresování a datových typů. Systém příkazů může mít 111 takových záznamů. Tabulka obsahuje seznam příkazů seřazených podle abecedy.

Mnemotechnické pomůcky Funkce Prapori
příkaz ACALL Absolutní podprogramy wiklik
Dodavannya AC, C, OV
Přidáno k tomu, co bylo přeneseno AC, C, OV
Tým AJMP Absolutní přechod
logické "já"
„Já“ je logičtější pro změny C
Vyrovnání a přechod, protože existuje více než jeden C
Příkaz CLR A Pád baterie
příkaz CLR Skidannya bita C, bit
Tým CPL A Inverze baterie
Tým CPL Bitová inverze C, bit
Tým DA A Desítky korekce baterie pro skládání AC, C
Tým DEC<байт> Dekrementovat
Tým DIV AB Podil C, OV
Tým DJNZ<байт>, <смещение> Úbytek a přechod, které se nerovnají nule
Tým INC<байт> Přírůstek
Příkaz INC DPTR Přírůstek indikátoru dat
Tým JB , Přechod, když je bit nastaven
Tým JBC , Přechod, jako kousek vložení a vymazání tohoto bitu
Tým JC Přechod, pokud je přenos nainstalován
Příkaz JMP @A+DPTR Nepřímý přechod
Tým JNB , Přechod, pokud bit není nastaven
Tým JNC Přechod, pokud přenos není nainstalován
Tým JNZ Přechod, pokud se místo baterie nerovná nule
Tým JZ Přechod, pokud je místo baterie nová 0
příkaz LCALL Dovgy Viklik
Tým LJMP Dlouhý přechod
Vpřed zminna-byte
Přeposlat bitová data C
Příkaz MOV DPTR, #data16 Označte indikátor dat 16bitovou konstantou
Příkaz MOVC A, @ A + ( ) Odeslání bajtu z paměti programu
Přenos dat do externí paměti (z externí paměti)
Nejde to