Kontakty

V spôsobe navrhovania mikroprocesorových systémov. Hlavné štádiá dizajnu. Výpočet spotreby energie

Úvod

Špeciálne "počítačové systémy a siete" je jedným z najdôležitejších a najuniverzálnejších v modernom vzdelávacom systéme. Rozsah svojich záujmov zahŕňa širokú škálu objektov a riadiacich zariadení - od základných regulátorov až po najkomplexnejšie systémy riadenia pre priemyselné procesy a experimentálne štúdie.

Vzhľadom na viacúčelový charakter vývoja a výroby výpočtových zariadení sa problém ďalej zvyšuje ich účinnosť, určená systémom štrukturálnych a funkčných charakteristík, sa stáva nevyhnutným.

V posledných rokoch, v mikroelektronike, rýchly vývoj prijal smer spojený s uvoľňovaním mikrokontrolérov, ktoré sú určené pre "intelektualizáciu" rôznych zariadení. Mikrokontroléry sú zariadenia, ktoré sú štruktúrne vyrobené vo forme bis a zahŕňajú všetky hlavné časti nahého microevm: mikroprocesor, programová pamäť a dátová pamäť, ako aj programovateľné obvody rozhrania pre komunikáciu s vonkajším prostredím. Použitie mikrokontrolérov v riadiacich systémoch zabezpečuje úspechy mimoriadne vysoko výkonných ukazovateľov pri takých nízkych nákladoch (v mnohých aplikáciách, môže systém pozostávať len z jedného bis mikrokontroléra), že mikrokontroléry zrejme neexistuje žiadna primeraná alternatívna základňa prvkov na konštrukciu kontrole a / alebo regulačné systémy.

K dnešnému dňu, viac ako dve tretiny globálneho trhu s mikroprocesorom tvoria mikrokontroléry.

Štrukturálna organizácia, súbor príkazov a hardvéru I / O informácie o mikrokontroléri informácie je najlepšie prispôsobené na riešenie riadiacich a riadiacich úloh v zariadení a automatizačných systémoch, a nie na riešenie úloh spracovania údajov.

1. Analýza technickej úlohy

V tomto kurze je potrebné navrhnúť mikrokontrolér-založený mikrokontrolérny systém podľa K1816v31. Je potrebné opísať a vyvinúť štrukturálnu a funkčnú schému navrhovaného zariadenia (systému), odôvodniť výber špecifických položiek, rozvíjať základnú schému navrhovaného zariadenia (systém), vypracovať program inicializácie hlavných zložiek, ako ako aj program fungovania v jazyku montáže mikrokontroléra.

2. Rozvoj štrukturálnej schémy navrhovaného zariadenia

Základom konštrukčného okruhu mikrokontroléru (obrázok 1) tvorí vnútornú obojsmernú 8-bitovú zbernicu, ktorá spája všetky hlavné uzly a zariadenia: rezidentná pamäť, ALU, blok registra registre špeciálnych funkcií, riadiaceho zariadenia a I / O porty.

Aritmetické logické zariadenie. 8-bitové ALU môže vykonávať aritmetické operácie na pridanie, odčítanie, násobenie a rozdelenie; Logické operácie a alebo okrem alebo, ako aj operácie cyklického posunu, reset, invert, atď. ALLU má programovo neprístupné registre T1 a T2 určené na dočasné uskladnenie operandov, systému desatinnej korekcie a systém indikácie.

Najjednoduchšia prevádzka pridávania sa používa v Allu, aby sa zvýšil obsah registrov, podporovať ukazovateľ dát a automatický výpočet nasledujúcej adresy RPP. Najjednoduchšia operácia odčítania sa používa v ALLU na registráciu a porovnanie premenných.

Najjednoduchšie operácie automaticky vytvoria "Tandems" na vykonávanie takýchto operácií v Allu, ako je napríklad prírastok 16-bitových párov registrácie. Mechanizmus kaskády, ktorým sa vykonáva najjednoduchšie operácie na implementáciu komplexných tímov, sa vykonáva v Allu. Napríklad pri vykonávaní jedného z príkazov podmieneného prenosu kontroly v dôsledku pridávania v ALLU sa SC postupne zvýši trikrát, číta sa dvakrát z rapu, vykonáva sa aritmetické porovnanie dvoch premenných, a Vytvorí sa 16-bitová adresa prechodu a rozhodnutie je urobené, aby sa alebo nestalo prechod. Programom. Všetky uvedené operácie sa vykonávajú v ALU len pre 2 μs.

Dôležitou črtou Allu je jeho schopnosť prevádzkovať nielen bajtov, ale aj bity. Samostatné softvérové \u200b\u200bbity môžu byť nainštalované, resetovať, obrátené, prenášané, kontrolované a používané v logických operáciách. Táto schopnosť Allu prevádzkovať bity je taká dôležitá, že v mnohých opisoch mikroprocesora sa hovorí o prítomnosti "boolean procesor" v ňom. Algoritmy obsahujúce operácie na vstup a výstup podľa booleovských premenných sa často používajú na správu objektov (pravdy / lží), ktorých realizácia prostredníctvom konvenčných mikroprocesorov je spojená s určitými ťažkosťami.



Obrázok 1. Štrukturálna schéma KR1816v31

ALU môže pracovať so štyrmi typmi informačných objektov: boolean (1 bit), digitálne (4 bity), obchvat (8 bitov) a cielené (16 bitov). V ALU sa vykonáva 51 rôznych transferov alebo transformácie týchto údajov. 11 Readingové režimy (7 pre údaje a 4 pre adresy) sa používajú kombináciou "režimu prevádzky / adresovania", základný počet príkazov 111 je možné rozšíriť na 255 z 256 možných, keď je kód operácie

Rezidentná pamäť . Pamäť programov a dátovej pamäte, umiestnenej na kryštálu KR1816v31, sú fyzicky a logicky rozdelené, majú rôzne mechanizmy adresovania, pracujú pod kontrolou rôznych signálov a vykonávajú rôzne funkcie.

Pamäť programu (ROM alebo SPPU) má kapacitu 4kb, a je určený na ukladanie príkazov, konštanty, inicializáciu slov, vstupných a výstupných premenných premenných tabuliek, atď. RPP má 16-bitovú adresovú zbernicu, cez ktorú je prístup uvedený z meraču príkazu alebo z registra dátového ukazovateľa. Ten vykoná funkcie základného registra, keď sú nepriame prechody podľa programu alebo sa používajú v príkazoch pracujúcich s tabuľkami.

Dátová pamäť (RAM) je určená na ukladanie premenných v procese vykonávania aplikačného programu, je adresovaný na jeden bajt a má kontajner 128 bajtov. Okrem toho adresný priestor RPD priýva adresy registra špeciálnych funkcií (RSF), ktoré sú uvedené v tabuľke 3.

Pamäť programov, ako aj dátová pamäť, možno rozšíriť na 64 kB pripojením externého bis.

Batéria a sp. . Batéria je zdrojom operandu a miesto upevnenia výsledku pri vykonávaní aritmetických, logických operácií a radu operácií prenosu dát. Okrem toho je možné vykonať iba šmykové operácie pomocou batérie, vytvorenie príznaku parity atď.

Tabuľka 3.1

Symbol názov Adresa
* Zadok Batéria 0E0N.
* V Expandér batérie 0f0n.
* Psw. Stavové slovo programu 0d0h
Sp. Stoh-ukazovateľ 81n
Dptr.

Data Ukazovateľ (DPH)

* P0. Port 0. 80n
* P1 Port 1. 90n
* P2 Port 2. 0A0N.
* P3. Port 3. 0v0n.
* IP. Register priorít 0V8N
* IE. Register rušnej masky 0A8N
Tmod. Register režimu časovača / počítadla 89n
* TCON. Register správy časovača / Stav 88n
Th0. Časovač 0 (Senior Byte) 8sh
TL0. Časovač 0 (Junior Byte) 8un
Th1 Časovač 1 (Senior Byte) 8dn
TL1 Časovač 1 (Junior Byte) 8BN
Symbol názov Adresa
* SCON. Riadiaci register transceiveru 98n
SBUF. Transceiver vyrovnávacej pamäte 99n
PCON. Register riadiaceho výkonu 87n

Poznámka. Registre, ktorých mená sú označené znakom (*), umožňujú adresovanie jednotlivých bitov.

Tabuľka. 3.2

Symbol Pozícia Meno a účel
Z Psw.7. Dopravná vlajka. Pri vykonávaní aritmetických a logických operácií nainštalované a resetované hardvérom alebo programom
Striedavý Psw.6. Vlajka pomocného prevodu. Pri vykonávaní príkazov navyše a odčítania sa nainštaluje a resetuje len hardvérové \u200b\u200bnástroje a signalizujú prenos alebo úver v BATE 3.
F0. Psw.5. Flag 0. Môže byť nainštalovaný, resetovať alebo overený programom ako zadaný používateľ.
Výber registra Bank. Nainštalovaný a obnoví program na výber pracovnej banky registrov (pozri poznámku)
Ov. Psw.2. Vlajka pretečenia. Pri vykonávaní aritmetických operácií nainštalované a resetujte hardvér.
Psw.1. Nepoužité.
Ročník Psw.0 Vlajka parity. Nainštalovaný a resetovaný hardvér v každom cykle príkazového cyklu a opravuje nepárny / párny počet jediných bitov v batérii, t.j. Vykonáva v parite.

Poznámka. Výber pracovnej banky registrov

RS1 Rs0. breh Hraničné adresy
0 0 0 00n-07n
0 1 1 08H-0FH.
1 0 2 10H-17h.
1 1 3 18H-1FH.

Pri vykonávaní mnohých tímov v ALU sa vytvorí množstvo príznakov prevádzky (vlajky), ktoré sú zaznamenané v registri SSP. Tabuľka 4 poskytuje zoznam vlajok SSP, sú uvedené ich symbolické názvy a sú opísané podmienky ich tvorby.

Najviac "aktívna" vlajkou SSP je prenosová vlajka, ktorá sa zúčastňuje a je upravený v procese vykonávania množstva operácií, vrátane dodatku, odčítania a posunov. Okrem toho, Transfer Flag (C) vykonáva funkcie "Booleovskej batérie" v príkazoch, ktoré manipulujú s bitmi. Flag Flag (OV) opravuje aritmetický prepad počas operácií cez celé čísla so znakom a umožňuje použiť aritmetikum v dodatočných kódoch. ALU nespravuje výberové vlajky registra Bank (RS0, RS1) a ich hodnota je plne určená v aplikačnom programe a používa sa na výber jedného zo štyroch bánk registra.

Bloková schéma systému mikrokontroléra je uvedená v grafickej časti projektu kurzu A

3. Vývoj funkčnej schémy systému mikrokontroléra

Vývoj podsystému pamäte

V mikrokontrolérnych systémoch, ktoré sú postavené na základe KR1816v31, je možné použiť dva typy externej pamäte: Trvalá pamäť pamäte (Runway) a dátová pamäť (FPD). Prístup k WPP sa vykonáva pomocou riadiaceho signálu RD, ktorý vykonáva funkciu čítania signálu Strobe. Prístup k FMD je zabezpečený riadiacimi signálmi RD a WR, ktoré sú vytvorené v riadkoch P3.7 a P3.6, keď je možné port 3 alternatívne funkcie.

Pri prístupe k dráhe sa vždy používa 16-bitová adresa. APP APPLY je možné pomocou 16-bitovej adresy (MOVXA, @ DPTR) alebo 8-bitová adresa (MOVXA, @ RI).

V prípadoch, použitie 16-bitovej adresy staršieho bajtu adresy je pevná (a je uložená nezmenená počas jedného záznamu alebo cyklu čítania) v registri portov 2.

Ak nasledujúci externý pamäťový cyklus (MOVXA, @ dptr) nie je okamžite v predchádzajúcom externom pamäťovom cykle, nemenný obsah západky portu 2 sa obnoví v nasledujúcom cykle. Ak sa používa 8-bitová adresa (MOVXA, @ RI), obsah registra portu 2 zostáva nezmenený na svojich externých výstupoch počas celého externého cyklu pamäte.

Prostredníctvom portu 0 v režime dočasného multiplexovania sa vydávajú adresa mladšej adries a prenos dátového bajtu. Signál SAVP musí byť použitý na zaznamenanie adresného bajtu v externom registri. Potom v cykle nahrávania sa na externých portoch portu zobrazí, zobrazí sa displej dátového bajtu len pred zobrazením signálu. V čítacom cykle sa zadaný Byte data dostane v porte 0 na prednú časť gatečného signálu.

Ak je akýkoľvek prístup k externej pamäti, riadiaca jednotka KR1816v31 načíta port portu 0 kód 0ffh do registra, vymazanie informácií, ktoré by mohli byť uložené v ňom.

Prístup do dráhy je možný pri vykonávaní dvoch podmienok: Buď aktívny signál sa dodáva k vypínaniu pamäte odpovede () alebo obsahu príkazového počítadla presahuje 0FFFH. Prítomnosť signálu je potrebná na poskytovanie prístupu k mladším 4K adries adresového priestoru UPP pri používaní KR1816v31.

Hlavnou funkciou signálu SAVP je poskytnúť dočasný prenos z portu 0 do externého registra mladšej adresy adresy v cykle čítania z dráhy. Signál SAVP získa 1 dvakrát v každom cykle stroja. To sa deje aj vtedy, keď nie je odvolanie na dráhu vo vzorkovom cykle. Prístup k VPD je možné len vtedy, ak chýba signál SAVP. Prvý signál SAVP v druhom cykle stroja príkazu MOVX je zablokovaný. V dôsledku toho, v akomkoľvek systéme MC, ktorý nepoužíva FPD, sa Signál SAVP vytvára s konštantnou frekvenciou 1/16 frekvencie rezonátora a môže byť použitý na synchronizáciu externých zariadení alebo na implementáciu rôznych funkcií.

Keď sa odkazuje na RPP, signál nie je generovaný a pri prístupe k dráhe, vykonáva funkciu signálu čítania Strobe. Úplný cyklus čítania FMD, vrátane inštalácie a odstránenia signálu, trvá 12 periód rezonátora.

Špeciálny spôsob prevádzky KR1816VE31 . Obsah pamäte programov KR1816v31 je naplnený jedným vo fáze vývoja systému MK a nemôže byť upravený v dokončení výrobku. Z tohto dôvodu nie sú mikrokontroléry vozidlami klasického "pozadia-neimanovskaya" architektúry. Údaje prevádzková pamäť nie je možné použiť na uloženie programových kódov. Táto funkcia architektúry MK je vysvetlená skutočnosťou, že vo väčšine aplikácií MK vyžaduje jeden nemenný aplikačný program, uložený v ROM, prítomnosť malej kapacity RAM pre dočasné uskladnenie premenných a účinné, a preto rôzne metódy riešenia pamäte programov a pamäte údajov.

Microcontroller KR1816V31 nemá interné programy programov, a preto používa iba externú pamäť, ktorá môže byť upravená prestavaným vonkajším mikroobvodom ROM.

Mikroprocesor typu K1816v31. Objem externej RAM - 4KB. V tomto mikroprocesore (v súlade s príkazovou štruktúrou) vám externé adresovanie dátovej pamäte umožňuje riešiť 64-Kúpiť externú pamäť. Ak chcete vytvoriť pamäťový podsystém, vyberte si čip v súlade so zoznamom položiek uvedených v dodatku G.

Rozvoj subsystému dočasných charakteristík

Registre špeciálnych funkcií . Registre so symbolickými názvami IP, tj Tmod, TCON, SCON a PCON sa používajú na opravu a zmeny softvéru a bity prerušenia okruhu, časovač / meter, sériový vysielač a pre riadenie napájania KR1816v31

Sériový port K1816v31 môže pracovať v štyroch rôznych režimoch.

Režim 0. V tomto režime sa informácie a prenášajú a prijímajú prostredníctvom externého výstupu vstupu prijímača (RXD). Prijíma alebo prenáša osem dátových bitov. Prostredníctvom externého výstupu vysielača (TXD) sa vydávajú zmesi pulzy, ktoré sprevádzajú každú dávku. Prenosová frekvencia informačného bitu je 1/12 frekvencia rezonátora.

Režim 1. . V tomto režime sa desať bitov informácií prenáša cez TXD alebo z RXD: Start-bit (0), osem dátových bitov a zastavenia bitov. Rýchlosť prijímania / prenosu je hodnota premennej a nastaví časovač.

Režim 2. . V tomto režime sa v tomto režime dostane jedenásť bitov informácií v tomto režime alebo z RXD: štart-bit, osem dátových bitov, programovateľných deviateho bitového a zastavenia bitov. Pri prenášaní, deviatym bitom údajov môže byť 0 alebo 1, alebo napríklad na zvýšenie spoľahlivosti prenosu monitorovaním parity v ňom, hodnota parity zo slova stavu programu môže byť umiestnená (PSW. 0). Frekvencia príjmu je vybratá programom a môže sa rovnať buď 1/32 alebo 1/64 frekvencie rezonátora v závislosti od kontroly SMOD.

Režim 3. . Sa zhoduje s režimom 2 vo všetkých častiach, s výnimkou frekvencie príjmu, ktorá je hodnota premennej a je nastavená časovačom.

Režim prevádzky UAPP je riadený špeciálnym registrom. Tento register obsahuje nielen kontrolné bity, ktoré určujú prevádzkový režim sériového portu, ale aj deviatym bitom prijatých alebo prenášaných (RB8 a TB8) a prerušovacích bitov transceiveru (RI a TI).

Aplikačný program stiahnutím 2-bitového kódu SCON v senioroch SCON SpecRegisture určuje režim prevádzky UAPP. Vo všetkých štyroch spôsoboch prevádzky je prenos z UPAP iniciovaný ľubovoľným príkazom, v ktorom je register vyrovnávacej pamäte SBUF uvedený ako bajtový príjemca. Príjem v UPAP v režime 0 sa vykonáva pod podmienkou, že ri \u003d 0 a rеn \u003d 1. V režime 1,2,3 sa recepcia začína pri príchode štart-bit, ak rе \u003d 1.

V bitoch TW8 je hodnota deviateho dátového bitov programicky nainštalovaná, ktorá bude prenášaná v režime 2 alebo 3. RV8 bit je fixovaný v 2 a 3 prijímaných dátových bitov. V režime 1, ak je SM2 \u003d 0, stop-bit sa zadáva do bitov RV8. V 0 režime sa bit RV8 nepoužíva.

Vlajka prerušenia vysielača je vytvrdzovanie na konci ôsmej bitovej prenosovej doby v režime 0 a na začiatku stop-bitového prenosu v režime 1.2 a 3. Zodpovedajúce servisné podprogram musí klesnúť Ti bity.

Vlajka prerušenia prijímača RIORTS hardvéru na konci ôsmej bitovej prenosovej doby v režime 0 a uprostred recepcie zastavenia bitov v režime 1.2 a 3. Subroutine Interucting Subroutine musí resetovať bity RI.

Rýchlosť prijímania / prenosu informácií o komunikačnej línii sa určuje na začiatku práce na projekte kurzu a je rovný 600 baud.

Programovateľný časovač je vo vnútri mikrokontroléra K1816v31.

Časovač / Počítadlo . V rámci fondov KR1816v31 sú registračné páry so symbolickými názvami TH0, TL0 a TH1, TL1, na základe ktorého fungujú dva nezávislé softvér a spravovaný 16-bitový časovač / udalosť.

Ako časovače alebo externé udalosti môžu byť použité dva programovateľné 16-bitové časovač / meter (T / C0 a T / C1). Pri práci ako časovač, obsah T / S sa zvyšuje v každom cykle stroja, t.j. Každých 12 období rezonátora. Pri práci ako meter, obsah T / C sa zvyšuje pod vplyvom prechodu od 1 do 0 vonkajšieho vstupného signálu, ktorý sa dodáva na zodpovedajúci (T0, T1) výstup K1816v31. Prieskum Hodnota externého vstupného signálu sa vykonáva v čase S5P2 každého stroja. Obsah pultu sa zvýši o 1 v prípade, že sa v predchádzajúcom cykle čítal vstupný signál (1), a v nasledujúcom signáli s nízkou úrovňou (0). Nová hodnota počítadla bude vytvorená v čase S3P1 v cykle, v ktorom bol detegovaný prechod signálu od 1 do 0. Keďže rozpoznávanie prechodu vyžaduje dva stroje, maximálna frekvencia počtu vstupného signálu je 1 / 24 frekvencie rezonátora. Neexistujú žiadne obmedzenia trvania obdobia vstupných signálov. Aby sa zabezpečilo, že čítanie vstupného signálu, ktorý sa má zaručiť, musí držať hodnotu 1 aspoň pre jeden strojový cyklus K1816v31.

Ak chcete spravovať prevádzkové režimy T / C a usporiadať interakciu časovačov s prerušeným systémom, sa používajú dva špeciálne funkcie (RRTS a RUST). Ako vyplýva z opisu kontrolných bitov RRTS, pre režimy T / C Ovládanie 0, 1 a 2 sú rovnaké. Režimy 3 pre T / C0 a T / C1 sú odlišné. Zvážte informovanie T / C vo všetkých štyroch režimoch.

Režim 0. . Preklad akejkoľvek T / C Mode 0 je podobný T / C Timer (8-bitový pult), pričom vstup je pripojený k 5-bitovej frekvencii frekvencie na 32. V tomto režime má register časovača trochu 13 bitov. Pri pohybe zo stavu "Všetky jednotky" na stav "ALL ZEROS" je príznak prerušenia nastavený z TF1 Časovač. Vstupný synchronizačný signál časovača 1 je povolený (vstupuje do vstupu T / C), keď je Control Bit TR1 nastavený na 1 a buď brána Control Bit (blokovanie) je 0, alebo výstup žiadosti o prerušenie je prijatá úroveň 1.

Tabuľka 8 Zobrazuje registre režimu časovača / počítadla a v tabuľke 9, registre registre / stavových registrov časovača.

Nastavenie bitového brány v 1 Umožňuje používať časovač na meranie trvania impulzného signálu dodávaného do vstupu žiadosti o prerušenie.

Tabuľka 4.2.1

Symbol Pozícia Meno a účel
Brány. Tmod.7 pre t / c1 a tmod.3 pre t / c0 Ovládanie zámku. Ak je bit nastavený, časovač / počítadlo "X" je povolené, kým je vstup "INTX" vysoký a TRX Control Bit je nastavený. Ak sa bit resetuje, potom je T / C povolený hneď po nastavení TRX Control Bit.
TMOD.6 pre T / C1 a TMOD.2 pre T / C0 TIMA VÝBER TIMA VEĽKOSŤ AKTUMENTU VÝBEROVACIE BITY. Ak sa bit resetuje, časovač pracuje z interného zdroja synchronizačných signálov. Ak je bit nastavený, počítadlo z externých signálov na vstupe "TX" funguje.
M1. TMOD.5 pre T / C1 a TMOD.1 pre T / C0 Prevádzkový režim (pozri poznámku).
M0. Tmod.4 pre t / c1 a tmod.0 pre t / c0
M1. M0. Prevádzkový režim
0 0 Časovač MK48. "TLX" funguje ako 5-bitový posun.
0 1 16-bitový časovač / pult. THX a TLX sú zahrnuté v sérii.
1 0 8-bit autotracking časovač / pult. THX ukladá hodnotu, ktorá musí byť reštartovaná do "TLX" zakaždým prepadom.
1 1 Časovač / počítadlo zastávok. Timer / Counter0: TL0 funguje ako 8-bitový časovač / počítadlo, a jeho režim je určený riadiacimi bitmi časovača TIMER0.H0 pôsobí len ako 8-bitový časovač a jeho režim je určený časovačom kontrolného bitdenia1.

Režim 1. . Práca akéhokoľvek T / C v režime 1 je rovnaká ako v režime 0, okrem toho, že register časovača má trochu 16 bitov.

Režim 2. . V režime 2 je práca organizovaná takým spôsobom, že prepad (prechod zo štátu "všetky jednotky" na štát "ALL ZEROS") 8-bitového počítadla TL1 prináša nielen na inštaláciu vlajky TF1, ale aj automaticky Reštartuje sa v TL1 Obsah staršieho Byte (Th1) Register, ktorý bol predtým definovaný softvérom.

Režim 3. . V režime 3 T / C0 a T / C1 pracujú rôznymi spôsobmi. T / C 1 si zachováva aktuálny obsah. Inými slovami, účinok je rovnaký ako pri resetovaní Control bit TR1 v nule.

V režime 3 TL0 a TH0, obe dve nezávislé 8-bitové počítadlo. Operácia TL0 určuje riadiace bity T / C 0 (, bránu, TR0), vstupného signálu a príznaku prepadnutia TF0. Prevádzka TN0, ktorá môže vykonávať iba funkcie časovača (počítanie stroje cyklov MK), určuje kontrolný bit TR1. Zároveň TN0 používa TF1 Overflow Flag.

Rozvoj subsystému komunikácie s centrálnym EUM

Navrhnuté zariadenie musí vydať obsah pamäte do centrálneho počítača, ako aj prijímanie informácií z centrálneho počítača.

Pretože Výmena informácií sa vykonáva na dlhé vzdialenosti, potom sa prenos musí vykonať v sekvenčnom formáte. Konverzia údajov z paralelného formátu na sériové a zálohy UP Vykonáva UAPP. UPAP - univerzálny asynchrónny vysielačok určený na implementáciu obojsmernej asynchrónnej výmeny údajov prezentovaných v paralelnom formáte a kontrolné slová s mikroprocesorom, ako aj obojsmerná asynchrónna výmena dát, prezentovaná v sekvenčnom formáte s inými modulmi systému, ako je video svorky, magnetické pásky a t .. Teda WAP konvertuje paralelný kód získaný zo systému cez dátovú zbernicu na sériovú, a otvára sa na komunikačný kanál a tiež vykonáva reverznú transformáciu.

UAPP, nazývaný často sériový port, obsahuje prijímanie a vysielanie rezacích registrov, ako aj špeciálny register vyrovnávacej pamäte (SBUF) vysielačky. Bajt vstup do vyrovnávacej pamäte vedie k automatickému bajtovému sčítaniu pre posunutím vysielača a iniciuje začiatok bajtu. Prítomnosť vyrovnávacej pamäte prijímača vám umožňuje kombinovať prevádzku čítania predtým akceptovaného bajtu s prijímaním ďalšieho bajtu. Ak do konca recepcie bajtu predchádzajúci bajt nečítal z SBUF, potom sa stratí.

Riadenie režimu WAPP sa vykonáva prostredníctvom špeciálneho registra s symbolickým názvom SCON. Tento register obsahuje nielen kontrolné bity, ktoré určujú prevádzkový režim sériového portu, ale aj deviatym bitom prijatých alebo prenášaných dát (RB8 a TB8) a bity prerušenia transceiveru (R1 a T1).


Tabuľka 4.5.1.

Symbol Pozícia Meno a účel
TF1 TCON.7. Vlajka pretečenia časovača. Nainštalovaný hardvér pri preprave časovača / počítadla. Resetovať pri zachovaní prerušenia hardvéru
Tr1 Tcon.6. Časovač Control Bity 1. Nainštalované / obnoví program Štart / Stop.
TF0. TCON.5. Vlajka pretečenia časovača. Nainštalovaný hardvér. Resetovať pri prerušení servisu
Tr0 Tcon.4. Časovač Timer Timer bit. Nainštalovaný / reset podľa programu pre štart / stop. Časovač / pult.
IE1 Tcon.3.
IT1 Tcon.2 Typ prerušenia Ovládanie typu 1. Nainštalovaný / Reset podľa programu pre špecifikáciu dotazu (obrazovka / nízka).
IE0. Tcon.1. Prerušenie prednej vlajky 1. Nainštalovaný hardvér, keď je detekovaný externý signál. Resetovať pri prerušení servisu
IT0. Tcon.0. Typ prerušenia Typ Ovládanie bit 0. Nainštalované / Reset podľa programu pre špecifikáciu dotazu (obrazovka / nízka).

Režim 3 sa používa v prípadoch použitia K1816v31, keď je potrebná prítomnosť ďalšieho 8-bitového časovača alebo elektromera udalosti. Môžeme predpokladať, že v režime 3 K1816VE31 má 3 časovač / meter v jeho zložení. V prípade, že sa T / C0 používa v režime 3, T / C1 môže byť buď povolený alebo vypnutý, alebo preložený do svojho vlastného režimu 3, alebo môže byť použitý sekvenčným portom ako generátor prenosovej frekvencie, alebo na Koniec sa môže použiť v akomkoľvek aplikácii, ktorá nevyžaduje prerušenie.

Po určovaní rýchlosti prenosu príjmu / prenosu informácií je potrebné poskytnúť hodinovú frekvenciu prijímania RXC, prenos TXC. Vydanie týchto signálov synchronizácie sa vykonáva pomocou kanálov programovateľného časovača. Zdrojová frekvencia prichádzajúce do programovateľného časovača sa rovná frekvencii vyvinutého mikroprocesora. Ak chcete určiť požadovanú hodnotu zaznamenanú v príslušnom kanáli programovateľného časovača, je potrebné určiť koeficient prepočítania zdrojovej frekvencie systému na recepciu frekvenciu / prenosovú rýchlosť, ako aj vybrať príslušný režim prevádzky časovača zapojené.

5. Vývoj koncepcie navrhovaného zariadenia

Výber elementárnej základne

V regulátore vyvinuté v tomto projekte kurzu sa ako centrálna časť používa jediný krištáľový mikroevm km1816ve31, vyrobený na základe vysokej úrovne n. -MOP Technológia a interakcia s médiom v štandardných systémoch TTL s tromi stavom výstupu. To vám umožní používať IC z mikroprocesorovej sady sériu série vysokorýchlostných TTL série. Ako je uvedené vyššie, mikrokontrolér obsahuje programovateľný časovač, asynchrónne sériové rozhranie (UAPPP) a kapacitu 1 kB.

Ak chcete vybudovať navrhnuté zariadenie, vybral nasledujúci základ prvok:

Programovateľná regulátor klávesnice a indikácia CR580BV79;

Statická rama s kapacitou 16kb AT28S128;

ALS318 SEVESTNICKÉ INDIKÁCIE INDIKÁCIE;

Registrácia vyrovnávacej pamäte K1533IR22;

ROM K573RU8;

Voľba týchto mikroobvodov je spôsobená ich kompatibilitou podľa úrovní, nízkej spotreby energie, dostatočne vysokej rýchlosti a hlukovej imunity.

6. Vývoj softvéru

Ak chcete vykonať úlohy systému mikroprocesora, je potrebný fungujúci program, podľa ktorého mikroprocesor vydá riadiaci signály riadiacej zbernici, adresy pamäťových buniek a prístroji na adresu zbernice a cvičenie údajov cez dátový autobus. Pretože Systém má tiež programovateľné regulátory, takzvaná inicializácia je potrebná na prácu s nimi, ktorá sa sťahuje do špeciálnych registrov kontrolných slov. Okrem toho, inicializácia všetkých regulátorov sa musí vykonať pred spustením systému úloh a po zapnutí napájania (výnimka je reset hardvérového systému). Inicializovať systém ako kontrolné slová sa používajú konštanty uložené v mikrokontroléri ROM.

Systém má tiež prerušenia hardvéru, v dôsledku čoho by sa mali vykonať akékoľvek opatrenia, po ktorom sa hlavný program pokračuje vo svojej realizácii. Takéto prerušenia sú obsluhované prerušením rušňovňa (v systéme existujú dva: rutina spracovania prerušenia z časovača a rutiny spracovania prerušenia zo sériového rozhrania).

Funkčný program je možné rozdeliť na dve časti: inicializácia a služobný cyklus.

Inicializácia je vstup do určitých registrov niektorých konštánt, ktoré určujú spôsoby prevádzky procesora a jednotlivých častí systému.

Pracovný cyklus je súbor postupov a operátorov vykonávaných v nekonečnom cykle a zabezpečenie toho, aby fungovali priradené do systému. Grafový systém algoritmu práce a podprogramov uvedených na hárku 4 grafickej časti.

Program Inicializácia regulátora a indikácie klávesnice

Používa sa vývoj PK580BV79 PKKKA. Jeho konfigurácia sa vykonáva načítaním riadiaceho slova "Nastavenie klávesnice a displeja regulátora" do príslušného registra riadiacej jednotky. Režim blokovania klávesnice Blokovanie: sekvenčný prieskum matice tlačidiel s dešifrovaním stavu počítadla skenovania a zákazom 2 alebo viacerých klávesov. Režim zobrazenia indikačného bloku: výstup znakov na 8-bitový displej s umiestnením zľava zľava doprava.

Obrázok 6.2 - Formát riadiaceho slova "Obnovenie programu"

Vypúšťa D7 - D5 - adresa riadiaceho slova "resetovanie programu";

Vypúšťanie D4 \u003d 0 - Kódy v indikácii vnútorného RAM sa vydávajú na výstupoch; D1 \u003d 1 - Vynulovanie územného registra klávesnice a na produkte IRQ - nízkym signálom; D0 ºd4.


Obrázok 6.4 - Formát riadiaceho slova "Záznam v indikácii RAM"

D7-D5 vypúšťanie - adresa riadiaceho slova; D3-D0 - adresa bunky indikácie RAM.

Formát riadiaceho slova "Reading Multi-Mode RAM Keyboard" je podobný formátu riadiaceho slova "čítanie z indikácie RAM" s výnimkou obsahu bitov D7-D5.

0 1 0 1 h. h. h. h.

Obrázok 6.5 - Formát riadiaceho programu klávesnice

D7-D5 vypúšťanie - adresa riadiaceho slova; D4 - Znamenie auto-prírastku; D3-D0 - Klávesnica RAM Cell Adresa.

Program inicializácie programovateľného paralelného rozhrania

Nastavenie PPP sa vykoná načítaním riadiaceho slova do registra riadiaceho slova. Nastavenie sa vykonáva nasledovne: Port A Pracuje v režime zadávania informácií zo senzorov cez ADC a port v výstupnom režime na DAC. Port C bude spravovať príjem a vydávanie informácií.

Rozvinutý systém PPP pracuje v 0 režime. Funkcie tohto režimu:

1) Dvaja 8 vypúšťanie a dva 4-bitové porty.

2) Všetky porty môžu byť vstupom aj výstupom.

3) Výstupné porty sú prasknuté, vstup - č.

Formát registra registra PPP je prezentovaný na obr. 6.6.

Obrázok 6.7 - Formát registrácie SCON.

SM1 a SM0 (D7, D6) - Určite prevádzkový režim sériového portu (režim 2: 9-bit asynchrónny transceiver, pevná rýchlosť transceiver);

REN (D4) - Riadenie rozlíšenia recepcie;

TB8 (D3) - Nastavenie stavu 9. bitu prijatých údajov;

RB8 (D2) - Analýza stavu 9. bitu prijatých údajov;

Ti (D1) - Bity prerušenia prenosu;

Ri (d0) - pripravenosť bit.

Klávesnica prieskumu programu

Programovateľný regulátor a indikátor klávesnice je nakonfigurovaný tak, aby čítal multi-režim RAM klávesnice s automatickým skrini, v metre zadajte počet buniek klávesnice RAM. Vyskytuje sa prieskum sériového klávesnice, potom, čo sú údaje na klávesniciach klávesnice zapísané do klávesnice RAM.

Podprogram vydávajúce údaje na ukazovatele

Pri prístupe k tomuto podprogramu sa meradlo obnoví a potom ho zvýši na daný počet ukazovateľov. Programovateľná regulátor klávesnice a indikácia je nakonfigurovaná na zapisovanie displeja v RAM indikácie a sekvenčný výstup informácií na indikátoroch. Výstup z podprogramu sa vyskytne po vydaní všetkých kódov znakov na ukazovatele.

Snímač prieskumu a výstupných signálov

Prieskum snímačov a vydávanie výstupných signálov sa vyskytuje podľa nasledujúceho algoritmu:

1) Počet skúmaných senzorov sa zadáva do metra;

2) Informácie sa čítajú zo snímačov v prístave A, ktorý bol predtým inicializovaný na prijímanie údajov;

3) Prijaté informácie Prepíšte cez batériu v špeciálne určenej bunke pamäte RAM pre informácie zo senzorov;

4) Zníženie počtu snímačov snímača do 1;

5) Ak došlo k prieskumu všetkých senzorov, PPP je prestavaný na vydávanie informácií z prístavu;

6) Počítadlo obsahuje počet výstupných signálov;

7) Informácie z bunky RAM cez batériu sa zadávajú do portu;

8) Informácie sú na výstupe.

Podprogram výmeny informácií s centrálnym EMM

V tomto podprograme sa vykoná prvý register stav UAAP. Po tom, kontrola: či je piaty bit registra nastavený na 1. Ak je nainštalovaný, to znamená, že UAPP je pripravený na prenos informácií a prenos údajov v súlade s komunikáciou, kým sa počítadlo informačných výbojov je nula. Akonáhle sú všetky informačné výboje prenesené do komunikačnej linky, budú produkované nové počiatočné inštalácie (počiatočná adresa RAM, počet informačných výbojov) a podprogram dokončí jeho implementáciu. Ak v prvej fáze, piaty bit registra nebude nastavený na 1, preto bude existovať cesta z podprogramu, pretože wapp nie je pripravený na prenos informácií v tomto prípade.

Subprogram Inicializácia časovača

Na ovládanie operácií časovača / počítadla a dva špeciálne registre sa používajú na usporiadanie interakcie časovačov s prerušením systému: TCON a TMOD.

Obrázok 6.9 - Formát registra TMOD.

Register TMOD nastaví spôsoby prevádzky T / C0 a T / C1. Inštalácia pre T / C1 Prvý režim prevádzky: 16-bitový časovač / meter. TH1 a TL1 sú zahrnuté postupne. Pri pohybe zo stavu "Všetky jednotky" na stav "ALL ZEROS" je príznak prerušenia nastavený z TF1 Časovač. Vstupný synchronizačný signál časovača 1 je povolený (vstupuje do vstupu T / C), keď je Control Bit TR1 nastavený na 1 a buď bitový bit (blokovanie) (blokovanie) je 0, alebo výstup žiadosti o prerušenie je prijatá úroveň 1 ,), Blokovanie je odpojené, časovač pracuje z interného zdroja. Synchronizačné signály.

Časovač 1 musí byť inicializovaný pre vydanie frekvencie synchronizácie prijímania sériového portu a na usporiadanie prerušenia, počas ktorého bude musieť subsystém previesť informácie o stave analógových snímačov a stavu klávesnice centrálneho počítača.

Časové registre sú plnenie:

V th1 napísané FEH

V TL1 zaznamenané EBH

Hodnoty TH1 a TL1 sa aktualizujú v príslušných postupoch prerušenia.


Z. Činnosť

V priebehu priebehu priebehu projektu kurzu, štrukturálna organizácia, prevádzkové režimy a algoritmy pre fungovanie mikroprocesorového zariadenia na báze mikrokontroléra série K1816.

V priebehu práce na projekte kurzu boli vyvinuté štrukturálne a schematické diagramy, ako aj jeho softvér, kompilovať systém príkazov a fungujúci algoritmus KM1816VE31. Čo umožnilo pochopiť, ktoré procesy sú v systéme mikrokontroléra a ako vykonávajú.

Zoznam zdrojov

1. Digitálne a analógové integrálne čipy: referencie / ed. S.V. Yakubovsky. - M: Rádio a komunikácia, 1990. - 496 p.

2. Mikroprocesory / K.G. Samofalov, O.V. Viktorov - Kyjev: technika, 1989. - 312 p.

3. Príručka digitálneho obvodu / i.v. ZUBUKH, V.P. Sigorsky. - K.: Spotrebiče, 1990 - 448 p.

4. Čipy DAC a ADC: Funkcia, parametre, aplikácie / B.G. Ferdorkov, V.A. Taurus - m.: ENERGOATOMIZDAT, 1990. 320 p.

5. STASHIN V.V., URUSOV I.A. MOGTHTSEVA I.A. Projektovanie digitálnych zariadení na jedno-čipový mikro-počítač. M. ENERGOATOMIZDAT-1990 - 285 p.

Projektovanie mikroproceszorových systémov

Úvod

Úlohou vývoja počítačových systémov využívajúcich mikrokontroléry vyžaduje znalosti a pochopenie princípov svojej práce, ale hlavnou vecou je vypracovať programy riadenia. Účelom tejto knihy sa naučí rozvíjať zariadenia mikrokontroléra.

Ako základný čip pre všetky príklady sa v knihe príkladov používa ATTHA 128 Mikroprocesor AVR AVR FIRH. Predpokladá sa, že čitateľ má základné myšlienky ako princípy mikroprocesorových zariadení a zvláštnosti architektúry tohto mikrokontroléra.

Program pre mikrokontrolér je súbor kódov, ktoré sú zaznamenané v jeho špeciálnej softvérovej pamäti. Program by mal napísať programátor, ktorý vyvíja určitý mikroprocesorový systém, ale nikdy sa nezaoberá kódmi. Pre osobu je vhodnejšie pracovať s tímami, z ktorých každý má zmysluplný názov. Preto sa programovací jazyk používa na napísanie programu.

Hlavnou úlohou je jednoznačne opísať postupnosť činností, ktoré musí mikrokontrolér vykonávať. Zároveň by mal byť jazyk chápaný osobou.

V procese vytvárania programu program len píše svoj text na počítači, rovnako ako akýkoľvek text. Programátor spustí špeciálny program - prekladateľ, Cowor prekladá text napísaný programátorom na strojové kódy, zrozumiteľné pre mikroprocesor.

Napísal program programátora zdrojalebo objektový kód. Kód získaný v dôsledku vysielania sa volá výsledok alebo kódový kód. Tento kód je zapísaný do softvéru Microcontroller. Pre nahrávanie výsledného kódu sa aplikujú špeciálne zariadenia - programátori.

Všetky programovacie jazyky sú rozdelené do dvoch skupín:

· Lacné jazyky (strojovo orientované);

· Jazyky na vysokej úrovni.

Typickým príkladom strojovo orientovaného jazyka je jazyk assembler. V nedávnej minulosti bol assembler jazyk jediným jazykom pre programovanie mikrokontrolérov. V súčasnosti sa zobrazia jazyky na vysokej úrovni kompilácie programov, ako napr Beysik, S.atď. Tieto jazyky naraz boli určené pre veľké počítače. Ale teraz široko používané pre mikrokontroléry.

Výhodou jazykov na vysokej úrovni je významným zrýchlením procesu vývoja programu. Zo všetkých jazykov na vysokej úrovni je najefektívnejší, možno, je to jazyk C. Preto v budúcnosti na ilustráciu vyberte tento jazyk. Pre rôzne rodiny mikroprocesorov boli vyvinuté ich verzie jazykov. Napríklad pre mikroprocesory rodiny AVR - s AVR.

Kapitola 1. Písanie programov pre mikrokontroléry

Prvky jazyka S.

Registre MK (registry sú bunky-bajty v pamäti AVR MK) v programe C, máte mená a pretože číslo väčšiny z nich je možné zmeniť - pre programové registrov sú v podstate premenné.
Premenlivý - Toto je súbor buniek v pamäti, v ktorej môžete uložiť číslo alebo čísla a zmeniť ich. Premenná má adresu a názov.

Konštantný - Je to ako premenná, ale nie je možné zmeniť obsah.

Konštanty

Konštanty sa nazývajú uvedené hodnoty v programe. V jazyku C sú oddelené štyri typy konštánt: celé konštanty, plávajúce konštanty, symbolické konštanty a reťazce literály.

Celá konštanta: Toto je desatinné, ok zcal, hexadecimálne alebo binárne číslo, čo predstavuje celú hodnotu v jednej z nasledujúcich foriem: desatinné, okthal, hexadecimálne alebo binárne.

Desatinná konštanta sa skladá z jednej alebo viacerých desatinných číslic a prvá číslica by nemala byť nula (inak bude číslo vnímané ako OCAL).

Oximovaná konštanta sa skladá z povinnej nulovej a jednej alebo viacerých oktálových číslic (medzi číslami, ktoré by nemalo byť osem a deväť, pretože tieto čísla nie sú zahrnuté v oktárskom čísle systému).

Hexadecimálna konštanta začína povinnou sekvenciou 0x alebo 0x a obsahuje jeden alebo viac ako hexadecimálne číslice (čísla sú súborom čísel šestnástich číslovacích systémov: 0,1,2,3,4,5,6,7, 8,9, A, B, C, D, E, F).

Binárna konštanta sa zaznamenáva pomocou binárnych znakov, na ktoré sa musí predchádzať sekvencia 0b.

napríklad - celé čísla Môže byť zaznamenaný:

V desiatkovej forme: 12 234 -5493

V binárnom formulári s predponou 0B takto: 0B101001

V hexadecimálnej forme s predponou 0x podobne: 0x5a

V oktálovej forme s prefixom 0 tak: 0775

Ak chcete vytvoriť negatívne celočíselné konštantné, použijete znak "-" pred písaním konštanty (ktorá bude nazývaná jednoznačná mínus). Napríklad: -0x2a, -088, -16.

Každá celá konštanta je priradená typ, ktorý definuje transformácie, ktoré sa musia vykonať, ak sa konštanta používa v výrazoch. Typ konštantu je definovaný takto:

Desiatkové konštanty sa považujú za hodnoty so znakom a sú priradené k typu Int (celé) alebo dlhé (dlhé celé číslo) v súlade s hodnotou konštanty. Ak je konštanta nižšia ako 32768, potom je priradený typ int, inak dlho.

Osem a hexadecimálne konštanty sú priradené int., nepodpísaný int. (nestabilný celok), dlho. alebo dlhé. V závislosti od hodnoty konštanty podľa tabuľky 1.1.

Tabuľka 1.1.

HEX ROZHODNUTIE HEXU STANE Rozsah ok zomací konštanta Typ
0x0 - 0x7FFF. 0 - 077777 int.
0x8000 - 0xfff. 0100000 - 0177777 nepodpísaný int.
0x10000 - 0x7fffffff. 0200000 - 017777777777 Dlho.
0x80000000 - 0xffffffff. 020000000000 - 037777777777 Dlhé.

Číslo plávajúceho bodu sa skladá z celej frakčnej časti a (alebo) vystavovateľov. Plávajúce miesta konštanty predstavujú pozitívne hodnoty dvojitej presnosti (majú dvojitý typ). Na určenie zápornej hodnoty je potrebné vytvoriť konštantný výraz pozostávajúci zo znaku mínus a pozitívnej konštanty.

Príklady: 115,75, 1,5E-2, -0,025, 0,075, -0,85E2

Symbolická konštanta - Zdá sa, že je symbolom väzňa v apostrofe. Konštantná hodnota symbolu je kód číselného symbolu.

Napríklad "q" - list Q.

Symbolické konštanty majú typ Int a keď sú typy konverzie doplnené znakom.

Konštanta reťazca (literálna) je postupnosť symbolov (vrátane reťazec a kapitálových listov ruských a latinských, ako aj čísel) väzňov v úvodzovkách (").

Napríklad, "helio"

String doslovné znaky sú uložené v oblasti RAM. Na konci každého reťazca, kompilátor je pridaný nulový symbol predložený riadiacou sekvenciou 0. String literal je typový znak.

1.1.2. Identifikátor

Identifikátor je poradie čísel a písmen, ako aj špeciálne znaky za predpokladu, že prvý je list alebo špeciálny znak. Na vytvorenie identifikátorov sa môžu použiť riadok alebo veľké písmená latinskej abecedy. Ako špeciálny symbol môže byť použitý symbol podčiarknutia (_). Dva identifikátory na vytvorenie, z ktorých sa používajú zhodné linky a veľké písmená, sa považujú za iné. Napríklad: ABC, ABC, A128B, A128B.

Identifikátor je vytvorený vo fáze vyhlásenia premennej, funkcií, konštrukcií a podobne. Potom môže byť použitý v nasledujúcich prevádzkovateľoch vytvorených programov. Identifikátor by sa nemal zhodovať s kľúčovými slovami, s vyhradenými slovami a menámi funkcií knižnice SI jazykového kompilátora.

Kľúčové slová

Dátové typy a oznámenie

Dôležitým rozdielom medzi jazykom SI z iných jazykov je nedostatok predvoleného princípu, ktorý vedie k potrebe deklarovať všetky premenné používané v programe explicitne, spolu so špecifikovanými typmi.

Formát vyhlásenia premenných má nasledujúci formulár:

[]

- Špecifikátor triedy pamäte - je určený jedným zo štyroch kľúčových slov jazyka C: Auto, externé, registrované, statické a označuje, ako bude pamäť pre deklarovanú premennú distribuovať, na jednej strane a na strane druhej, Rozsah tejto premennej, tj. Od akých častí programu môžete kontaktovať. Nie je to viazaný prvok a je potrebné len v niektorých prípadoch.

- ak sa premenná môže použiť v iných zdrojových kódových kódoch;

- Ak je premenná lokálna, v žiadnej funkcii sa deklaruje v akejkoľvek funkcii a mala by uložiť svoje hodnoty až do nasledujúcej výzvy na túto funkciu;

- Umiestnite premennú do registrov MK.

Globálne premenné Vyhlásené pred uvedením v texte Aký druh funkcií. Po oznámení sú globálne premenné k dispozícii v akomkoľvek programovej funkcii.

Miestne premenné Označuje na samom začiatku funkcií. Po kučeravé držiak.

- Špecifikátor typu údajov môžete uložiť premennú.

Na určenie údajov o celomeroch sa používajú rôzne kľúčové slová, ktoré definujú rozsah hodnôt a veľkosť pamäťovej oblasti vylučovanej premennými.

Napríklad,

Nepodpísaný char - ukladá číslo od 0 do 255 (bajtov);

Nepodpísaný int - uloží číslo od 0 do 65535 (dva bajty);

Nepodpísaný dlhý int- ukladá číslo od 0 do 4294967295 (štyri bajty).

Namiesto nepodpísaného char, môžete písať jednoducho char, pretože predvolený kompilátor považuje char, nepodpísaný.

Podpísané char - znamená znak premennú a ukladá číslo od -128 do 127.

Kľúčové slová podpísané a nepodpísané označujú, ako je nulový bit deklarovanej premennej interpretovaný, t.j., ak je kľúčové slovo nepodpísané (nevyriešené), nulový bit je interpretovaný ako súčasť čísla, inak nulové bity interpretované ako znak. V neprítomnosti kľúčového slova nepodpísané, celá premenná sa považuje za znamenie. V prípade, že typ špecifikátor pozostáva z typu typu kľúča alebo nepodpísaného a potom nasleduje identifikátor premennej, bude považovaný za premennú typu Int. Napríklad:

nepodpísaný int n; nepodpísaný int b; int c; (Opatrenia podpísané Int C); nepodpísaný D; (Opatrenia Unsignované int d); podpísané F; (Opatrenia podpísané Int F).

Premenná akéhokoľvek typu môže byť deklarovaná ako nemodifikovateľná. Toto sa dosahuje pridaním kľúčového slova konzervy na typ špecifikácie. Objekty CZ sú údaje používané len na čítanie, t.j. Táto premenná nemôže byť priradená nová hodnota. Všimnite si, že ak po slovo CONST, neexistuje žiadny typ špecifikácie, potom je určený typ int. Ak je kľúčové slovo Const Constry pred vyhlásením z kompozitného typu (pole, štruktúra, zmes, zoznam), potom to vedie k tomu, že každý prvok musí byť tiež nemoditeľný, t.j. Hodnota môže byť priradená len raz.

const dvojitá A \u003d 2,128E-2; CONST B \u003d 286; (Členovia Const int b \u003d 286) Contanion Char_ String Constant \u003d "Toto je konštanta reťazca"

Údaje o plátnom typu

Pre premenné predstavujúce číslo plávajúceho bodu sa používajú nasledujúce modifikátory typu: plavák, dvojlôžková, dlhá dvojlôžková (v niektorom jazyku s dlhým jazykom SI).

Hodnota s plavákom modifikátora má 4 bajty. Z nich sa 1 bity vypúšťajú pre znamenie, 8 bitov na prekonanie a 23 bitov pre Mantissa. Treba poznamenať, že seniorový kúsok mantisy je vždy rovný 1, takže nie je naplnený, v súvislosti s týmto, v súvislosti s týmto rozsahom hodnôt pohyblivých lístkov je približne rovná 3,14E-38 až 3,14E + 38. Hodnota typu dvojitého trvá 8 bajtov v pamäti. Jeho formát je podobný formátu Float. Memory Bity sú distribuované nasledovne: 1 bit pre znamenie, 11 bitov pre vystavovateľov a 52 bitov pre Mantissa. Vzhľadom na znížené staršie bity mantisy je rozsah hodnôt od 1,7E-308 až 1,7E + 308.

float f, a, b; dvojité x, y;

- názov premennej. napríklad iy pemennoei.

Pre premenné je zvyčajné používať malé písmená a rozlíšiť názvy premenných z mien funkcií, môžu byť mená premenných, a názov funkcií (okrem hlavného) od podčiarkovníka.

Napríklad, moya Pemennaya. , _vASHA FUNKZIA.

Globálne premenné, ako aj lokálne premenné s statickým modifikátorom pri spustení a reštartovaní programu sú rovné 0, ak neboli priradené ďalšie hodnoty.

Niekoľko variabilných oznámení:

Nepodpísaný char my_peremen \u003d 34; / * My_peremen je definovaný ako nepodpísaný char, pričom priradenie hodnoty 34 (môže a bez priradenia) * /

Nepodpísaný int big_ peremen \u003d 34634; / * Big_ Peremen je vyhlásený za nepodpísaný int * /.

Oznámenie Massivy

Polia sú skupinou prvkov rovnakého typu (dvojité, plavák, int atď.). Zo vyhlásenia o poli musí kompilátor získať informácie o type prvkov poľa a ich množstva. Vyhlásenie o poli má dva formáty:

typ špecifikátory [konštanta - expresia];

deskriptor typu špecifikátorov;

Deskriptor je identifikátor poľa.

Špecifikátor typu určuje typ prvkov deklarovaného poľa. Prvky poľa nemôžu byť funkcie a prvky typu prázdného.

Konštantný výraz v hranatých zátvorkách Nastaví počet prvkov poľa. Konštantný výraz pri vyhlásení poľa možno vynechať v nasledujúcich prípadoch:

Pri deklarovaní pole je nesprávne;

Pole je vyhlásená za parameter formálneho funkcie.

V jazyku Si sú definované iba jednorozmerné polia, ale pretože prvok poľa môže byť pole a môžu byť určené multidimenzionálne polia. Formalizujú zoznam konštantných výrazov podľa identifikátora poľa, každý konštantný výraz leží vo svojich hranatých zátvorkách.

Každý konštantný výraz v hranatých zátvorkách určuje počet prvkov na tomto meraní poľa, takže vyhlásenie dvojrozmerného poľa obsahuje dva konštantné výrazy, trojrozmerné - tri, atď. Všimnite si, že v jazyku S. Prvý prvok poľa má index rovný 0.

Char Mass - číslovanie prvkov začína 0, t.j. Prvky tohto poľa sa nazývajú ako hmotnosť, hmotnosť a sú uložené v číslach 11, 22, 33. Tam, kde v položke programu môže byť priradená hodnota, napríklad hmotnosť \u003d 210. Nemôžete priradiť hodnoty položky.

Napríklad riadková premenná alebo pole obsahujúce symbolový reťazec, napríklad,

CHAR ZDRAVOTY \u003d "Ahoj" definuje 6 prvkov, hoci obsahuje iba päť znakov. Šiesty prvok je kontrolný znak, ktorý je pridaný na konci čiary \\ 0.

Pole znakov môže byť tiež vyhlásený bez zadania počtu položiek.

Napríklad,

Char Str \u003d "Oznámenie symbolického poľa"

Výrazy a úlohy

Operácií a operácií

Kombinácia operácií a operandov, výsledkom, ktorý je určitá hodnota, sa nazýva výraz. Známky operácií určujú akcie, ktoré sa musia vykonať nad operanmi. Každý operand v expresii môže byť výrazom. Hodnota výrazu závisí od umiestnenia operácií operácií a zátvoriek vo výraze, ako aj z priority operácií.

V SI je priradenie tiež výrazom a hodnota takéhoto výrazu je hodnota, ktorá je priradená.

Operand je konštantný, doslovný, identifikátor, výzva volania, expresia indexu, expresia elementárnej voľby alebo zložitejšia expresia, tvorená kombináciou operandov, operácií a okrúhlych zátvoriek. Akýkoľvek operand, ktorý má konštantnú hodnotu, sa nazýva konštantný výraz. Každý operand má typ.

Ak chcete dať číslo do premennej (v registri) v jazyku SI je operátor zadania " = ". Tento symbol v SI znamená výpočet výsledku jedného vpravo od prevádzkovateľa priradenia a za následok tento výsledok v premennej leň Priradenie operátora.

1.Portb.=Pinb.+34; / * Tento riadok na SI znamená (čítať) hodnotu premennej (registrácie) PINB, potom pridať číslo 34 na ňu a zasuňte výsledok do premennej portb * /

2. Premenná \u003d PINC; / * Tento riadok na C má užívať (čítať) hodnotu premennej (registrácie) PINC a zaviesť výsledok do premennej pomenovanej premennej * /
3.stroke, kde premenná stojí vľavo od "\u003d", ale cez znak a portb & \u003d 0x23; Na SI znamená - Prečítajte si obsah premennej portb, potom vykonajte "bitovú hodnotu (Batch) logické a" medzi hodnotou čítania a číslom 0x23 a vložte (zápis, priradiť) výsledok v portovej premennej 4. reťazec, kde premenná je priamo vľavo od "\u003d" portb \u003d 0x23; Na SI znamená - nie na premennú portb citlivú na čítanie na priradenie hodnoty 0x23 ničia, čo tam bolo predtým.
Namiesto & "a" (a - len 1 a 1 dvor 1) môžu existovať aj iné dávky logické operácie: "Alebo" (alebo len 0 a 0 dajte 0) ^ "s výnimkou alebo" (XOR zmení bit oproti "1") ~ "Inverting Bit" (Inv zmení bity registra na opačné znaky) a aritmetické operácie: + - * /%
Prevádzkovateľ priradenia používa skratky:
Dlhý záznam Význam Znížené predtým
x \u003d x + 1; Pridať 1. x ++; alebo ++ x;
X \u003d X - 1; Odpočítať 1. X--; alebo --x;
x \u003d x + y; pridať y x + \u003d y;
x \u003d x - y; odpočítať y. x - \u003d y;
x \u003d x * y; Vynásobte na y. x * \u003d y;
x \u003d x / y; rozdeliť na y. x / \u003d y;
x \u003d x% y; Zostatok rozdelenia x% \u003d y;
X--; Odpočítať 1. X - \u003d 1;
X ++; Pridať 1. x + \u003d 1;

Existujú operácie, ktoré menia hodnotu premennej a bez operátora priradenia:

Porta ++;/ * Tento riadok na SI znamená mať hodnotu premennej PORTA Pridať k nemu 1 a napíšte výsledok späť do Porta. Prírastokporta * /

Portc--; / * Tento riadok na SI znamená opak! Výskyt - Odčítajte 1 z hodnoty portc registra * /

Keď sa prírastok alebo zníženie používa v výraze, je dôležité, kde sú dva znaky + alebo - pred premennou alebo po premennej:

A \u003d 4; b \u003d 7; A \u003d B ++; / * Tento riadok na C prostriedky: Vezmite si hodnotu premennej B, aby ste ho priradili na premennú A potom pridajte 1 k premennej B a uložte výsledok b. Super A bude obsahovať číslo 7, BBETY obsahujú číslo 8 * / A \u003d 4; b \u003d 7; A \u003d ++ B; / * Tento riadok na C prostriedky: Vezmite si hodnotu premennej B, potom pridajte 1 na ňu a uložte výsledok v B a rovnaký výsledok je priradený k premennej A.Tere v A. Číslo 8 a Bbetted číslo 8 * / 1.2 .2 Aritmetické operácie v C x + Y // Ďalšie - Y // Odčítanie * Y // Multiplikácie X / Y / * Divízia. Ak je počet celých výsledkov celé číslo s frakčnou časťou - nie zaoblené. Tí. Ak sa rozdelenie získa 6.23411 alebo 6.94, potom bude výsledok jednoducho celé číslo 6. Ak plávajúce čísla bodu, tj plavák alebo dvojité a nahraté s bodom a číslom po bode, výsledkom bude číslo plávajúceho bodu bez vyradenia Frakčná časť 131.9739 / 6.18 DAST 21,355 * / X% Y // vypočítala zostatok štiepenia. Príklady:

x.< y // X меньше Y
X\u003e Y // Zobraziť
X.<= y // меньше или равно
x\u003e \u003d y // väčšie alebo rovné
x \u003d\u003d y // rovno
X! \u003d Y / * Nie je to rovné výsledku výkonu týchto operátorov: "True" je "1" (presnejšie "nie nulové"), "falošne" je "0". Hodnoty uložené v premenných (v registroch)
H.
a w. Nemeň. Sú prijaté (čítané) hodnoty uložené (alebo obsiahnuté) v premenných a porovnané * /

1.2.5.Logické operácie:

|| // "alebo" - len "lož" a "lož"

// dať "lži"

&& // "a" - len "pravda" a "pravda"
// dať "pravdu"

! // "nie" - logické odmietnutie

V dôsledku logickej operácie, ale nie je číslo, ale logická hodnota "pravda" alebo "lož".

Pre logické operácie && a || Výsledky výrazov vľavo a vpravo od prevádzky transformované na "pravdu" alebo "lož" A logický výsledok sa určuje.

Kompilátora Výsledok "Pravda" sa otočí na 1 a nie iné od 0.

Logické operácie môžu kombinovať viac podmienok.

Napríklad:

ak.((Expression1) && ((expression2) || (expresia3)))
{ / * Programový kód bude vykonaný, ak:

Expression1 "Pravda" (znamená, že nie nulová) a aspoň jeden z výrazov 2 a 3 "pravda" (to znamená nie nula).
} ;

1.3. Použité návrhy na Si

1.ak.(){} inak.(); Ideálny dizajn, ak potrebujete vykonať určitú časť programu, ak existujú nejaké podmienky alebo v prípade neexistencie:

} inak.(Nie je to povinný prvok dizajnu, bez nej, dizajn vyzerá takto:

ak. (vyjadrenie) (Kód na SI / * Urobte tento kód, ak vyjadrenie "Pravda" - t.j. Výsledok jeho výpočtu nie je nulový * /
};

ak. (PINB.5) (kód SI);
/* ak Na nohe pb5 je "1" (nie "0" znamená "skutočne") vykonať kóda ak na ňom "0" (to znamená "falošne"), to nebude robiť, ale jednoducho pokračuje, na ďalší riadok * /

2.Č() (); podmienený cyklus (cyklus s podmienkou) - použitý, ak potrebujete vykonať akýkoľvek programový kód, kým sa vykonáva (existuje,
"TRUE" znamená "nie nulový") určitú podmienku, výsledok výpočtu výrazu:

zatiaľ čo (vyjadrenie ) (Kód na C / * Vykonajte tento kód, ak je výraz "pravda" nie je nula. Kým sa tento kód vykonáva. Výraz nie je kontrolovaný na pravdu. Po vykonaní kódu prejdete na reťazec. zatiaľ čo Znova skontrolujte pravdu výrazu * /
};

Napríklad:

zatiaľ čo (Pina.6) (vykonávanie kódov SI);
/* až do Na nohe Pa6 je "1" (nie "0" znamená "TRUE"), potom program vykoná kód, a opäť kontroluje, že na PA6 * / Ak Bit_6 sa stal "0", potom bude program ďalej v ()

Cyklus zatiaľ čo má možnosť

Doo - zatiaľ čo.

v ktorom sa kódex v () vykonáva aspoň raz nezávisle od pravdy v zátvorkách:

DO (kód na S / * vykonajte tento kód raz, ak je výraz "pravda" - tj výsledkom jeho výpočtu nie je nula - opäť vykoná kód od začiatku, a tak dlho, ako je vyjadrenie pravdy * / ) Zatiaľ čo (výraz); Cykly pre (;;) a počas () sa často používajú takto: zatiaľ čo (1); pre (;); / * Takto napísané tieto cykly znamenajú: MK Vykonajte tento riadok, zatiaľ čo tam sú jedlo, žiadny vypúšťanie a žiadne prerušenie. Keď dôjde k prerušeniu, program sa prepne na obsluhu prerušenia a (ak neexistuje žiadny prechod na iný programový manipuláciu) na konci kódu psovodného kódu sa opäť vráti do tohto cyklu. * / Zatiaľ čo (1) (programový kód); pre (;) (programový kód); 4.for (;;) (); - Tento cyklus vám umožňuje vykonávať časť programu požadovaný počet hodín:

char. I; / * Oznámenie premennej pre pretoto je obvyklá premenná SI, a preto môže mať akékoľvek prípustné meno podľa vašej túžby a typu * /

pre (I \u003d 5; I<20; i+=4) {
Kód na c / * Najprv bude určený "skutočne" alebo "falošný" kontrolný výraz i<20. Так как переменной i присвоено значение 5 то контрольное выражение "истинно" и код цикла prenajprv bude dokončená pre I \u003d 5, potom podľa výrazu i + \u003d 4, stanem sa 9, teraz bude pravda opäť skontrolovať (spravodlivosť, vykonanie) kontrolného výrazu i<20 и так как 9<20 код цикла prebude sa opäť vykonaný, ale pre i \u003d 9. Tak sa bude konať, kým výsledok výpočtu kontrolného výrazu dáva "true". Keď sa výsledok stane "false" - program bude prepustený z cyklu pre Nespĺňa kód. * /
};

i \u003d 5 je počiatočný výraz, ktorý bude na začiatku v premennej i.Číslo 5 je jednoducho napríklad, pretože umožňuje typ reklamy premennej i.V našom prípade char. Vo väčšine predvolených kompilátorov je bez typu symbolu - môže ukladať čísla od 0 do 255

i.< 20 - контрольное выражение. Может быть с разными операторами отношения, je to dôležité len V záujme cyklu sa stáva raz "malý" - inak cyklus "cool" t.j. nikdy neskončí.

i + \u003d 4 je meter alebo zmena premenného cyklu. Zvyčajne to i ++. tí. 1 Každý "beh" cyklus sa pridá k premennej. Ale opäť to môže byť, ako potrebujete.

Počiatočná podmienka- Môže existovať akýkoľvek prípustný výraz, ktorý výsledkom je celé číslo.

Kontrolný výraz- Určuje, ako dlho bude cyklus vykonať.

Pult- ukazuje, ako počiatočné výrazy sa zmení pred každým vykonaním nového cyklu.

Vyjadrenie - nemusí to byť len premenná, ale funkcia iných premenných, napríklad:

i \u003d (7 + i * 4) alebo i \u003d (funkcia iných premenných).

5. spínač() (); - Multiple Selection Operátor, umožňuje vybrať si z niekoľkých možností.

Výraz po prepínači kľúčového slova v zátvorkách môže byť akýkoľvek výraz povolený v jazyku SI, ktorého hodnota by mala byť celé číslo. Hodnota tohto výrazu je kľúčom k vybraniu z niekoľkých možností. Telo operátora prepínača pozostáva z niekoľkých operátorov označených kľúčovým puzdrom s následným konštantným výrazom. Všetky konštantné výrazy v zozname prepínača musia byť jedinečné. Okrem operátorov označených kľúčovým prípadom, môže to byť, ale jeden, fragment označený predvolenými slovami. Zoznam operátorov môže byť prázdny alebo obsahovať jedného alebo viacerých operátorov. Okrem toho, v vyhlásení spínača nie je potrebné uzavrieť postupnosť operátorov v kučeravých zátvorkách.

Prevádzkovateľ vykonávania schémy Ďalej:

Vypočíta sa expresia v zátvorkách;

Vypočítané hodnoty sú v porovnaní s konštantnými výrazmi v súlade s kľúčovými slovami;

Ak sa jedna z konštantných výrazov zhoduje s hodnotou expresie, riadenie sa prenáša do operátora, ktorý je označený zodpovedajúcim kľúčovým slovom;

Ak nie je žiadna z konštantných výrazov rovná výrazu, potom sa ovládanie prenáša do operátora označeného kľúčovým slovom predvolené a v prípade jeho neprítomnosti sa kontroluje na druhý po prepínač.

Všetci operátori medzi počiatočným operátorom a koncom tela sa vykonávajú bez ohľadu na kľúčové slová, pokiaľ nie sú niektoré operátori prenášané z telesa operátora prepínača. Programátor sa teda musí v prípade potreby postarať o výstup z prípadu. Najčastejšie sa na to používa operátor prerušenia.

spínač (výraz) (

prípad 5.: Kód ON SI
/ * Tento kód sa vykoná, ak je výsledok výpočtu výrazu rovný číslu 5 na túto operáciu spínač skončí * /
prestávka;

prípad -32: Kód ON SI
/ * Tento kód bude vykonaný, ak je výsledok výpočtu výrazu rovný číslu -32 negatívnemu. O tejto práci operátora spínač skončí * /
prestávka;

prípad "G": Kód ON SI
/ * Tento kód sa vykoná, ak je výsledok výpočtu výrazu rovný počtu zodpovedajúceho symbolu G v tabuľke ASCII. Toto je prevádzka operátora spínač skončí * /
prestávka;

predvolené: Kód ON SI
/ * Tento kód sa vykoná, ak výsledok výpočtu výrazu nie je rovný 5 NOR -32 ani "g", ako aj po vykonaní kódu
mať na konci prestávky;

O tejto práci operátora spínač skončí * /
};

/* spínač Dokončené - ďalší programový kód * /

prípad. - Môže byť toľko, ako sa vyžaduje, aby program fungoval rýchlejšie ako najpravdepodobnejšie možnosti by mali byť umiestnené vyššie.

predvolené. - nevyžaduje sa. Môže byť umiestnený a nie na konci.

prestávka; - Ak ho nepoužíva, nájdenie správnej verzie vykoná nasledujúce podmienky uvedené nižšie. prípad..

6.Ísť do. - Bezpodmienečný (okamžitý) Prechodný operátor.

Vyhlásenie GOTO vysiela kontrolu na operátora označil štítok štítku. Významný operátor musí byť v rovnakej funkcii ako operátor GOTO a použitý štítok by mal byť jedinečný, t.j. Jeden názov štítku nie je možné použiť pre rôznych operátorov programu. Názov štítku je identifikátor. Nejaký druh kódu nášho programu na SI ... MESTO_5: / * Tu prídeme po vykonaní radu programu GOTO MESTO_5 * / Kód bude vykonaná po Goto MESTO_5; ... nejaký druh kódu nášho programu na SI ... MESTO_1: / * Tu prídeme po vykonaní programu GOTO MESTO_1 * / KÓDY BUDE POTREBUJÚ ... nejaký druh nášho programu na SI ... GOTO MESTO_1; / * Prejdite na miesto programu, kde na začiatku riadku je napísaný MESTO_1: * / ... nejaký kód nášho Program na SI ... GOTO MESTO_5; / * Prejdite na miesto programu, kde na začiatku trate je napísaný MESTO_5: * / ... nejaký druh kódu nášho programu na SI.

Vzorový program na SI

/*odsek 1záhlavie programu

Vypracuje sa ako komentár, a zvyčajne obsahuje informácie.

O titule, menovaní, verzii a autorom programu
- Stručný opis algoritmu programu
- Vysvetlenie vymenovania záverov MK a spôsobu svojej práce, Fuuz
- kompilátor, nástroje a ich verzie
- Ďalšie informácie, ktoré považujete za užitočné špecifikovať

// bod 2povolenie externých súborov

#Include.

/ * Pred kompiláciou bude preprocesor pre kompilátor vložiť namiesto tohto obsahu stehu (text) súbor hlavičkyHISTE MEGA16.H - Tento súbor obsahuje zoznam registrov dostupných v ATMEGA16 MK a súlad s ich menami na ich fyzické adresy v MK. Mali by ste určiť, ktorý MK používate v projektových vlastnostiach v kompilácii * /

#Include.
/ * Pred kompiláciou, prepracsor kompilátora vloží text "Hider" oneskorenie.h namiesto tohto riadku - tento súbor obsahuje funkcie na vytvorenie pauzy v programe. Teraz, aby ste si pozastavili, musíte len napísať: * /

/ * Urobte pozastavenie N (číslo) mikrosekénov. Musí to byť konštantná - nie premenná !!!
napr.

oneskorenie_us (12 + 7 * 3);
oneskorenie_us (117);

oneskorenie_ms (x); / * Urobte pauzu xilice
X - Možno variabilný, výraz alebo číslo
od 0 do 65535 (typ nepodpísaný int.)
napr.

oneskorenie_ms (3280);
oneskorenie_ms (premenná);
oneskorenie_ms (premenná * 4 + 760); * /

//bod 3 Definície používateľa

#Define Adc_busy pinb.0.
#Define Ncconvst portb.1.
/ * Po týchto dvoch riadkoch, pred kompiláciou bude predprocesor kompilátor nahradiť v texte programu ADC_BUSY na PinB.0 a Ncconvst na portb.1
Namiesto toho, aby ste si spomenuli na to, že výstup AD7896 je s vami spojený s nohou PB0, môžete skontrolovať význam zmysluplnej koncepcie ADC_BUSY - "ADP je zaneprázdnený". A namiesto ovládania abstraktnej nohy PB1 (cez portb.1) môžete spravovať - \u200b\u200bNconvst - "Spustite novú transformáciu ATS".

#Define je pohodlný! Ale vôbec nie.
*/

Napríklad:

#Define IVBLA (p, n) (p \u003d p ^ bit (n))

Tu sú premenné veľkosti "p" a "n". Teraz na prevrátenie bitov 5 v registri Portb. Musíte len písať v programe:

iVBL Portb.,5);

Okrem toho, v pravej časti, tieto premenné môžu byť spojené s aritmetickými operáciami a takéto premenné môžu byť veľa.

Algoritmus

Vývoj akejkoľvek programu začína vývojom algoritmu. V našom prípade je algoritmus nasledovný: Po počiatočných operáciách nastavenia musí mikrokontrolér vstúpiť do kontinuálneho cyklu, počas ktorého musí vypočítať vstup pripojený k nášmu tlačidlu, a v závislosti od jeho stavu, riadenia LED diódy. Opíšeme to viac.

Program v SI

Pri vytváraní programu v jazyku s používaním CO pre kompilátor AVR. Toto softvérové \u200b\u200bprostredie je špeciálne navrhnuté na vývoj programov v C pre mikrokontroléry AVR.

Akékoľvek moderné prostredie programovania funguje nielen s textom programu, ale s tzv. projekt.

Úloha programátora je len zapisovať text programu, pre ktorý je v projekte uvedený samostatný súbor s rozšírením "C". Kompilátor prekladá zdrojový program do hexadecimálneho systému (vytvorí hexový súbor) na zvýšenie (firmvér) v pamäti mikrokontroléra.

V budúcnosti stále podrobne zvážime proces inštalácie a pracujeme s C PRO pre AVR softvér. Teraz sme presvedčení, že je nainštalovaný a beh.

Ihneď po spustení kompilátora, všetky parametre akceptujú predvolené hodnoty (všetky interné zariadenia sú vypnuté, interné vstupné porty sú nakonfigurované na vstup, vnútorný generátor sa používa s frekvenciou 4 MHz). To zodpovedá počiatočnému štátu mikroprocesora po resete systému. Parametre, ktoré sa nemusíme dotýkať, kým nebudeme (zanechávame predvolené).

Program v jazyku C vyzerá takto:

1 #include.< Atmega 128.h >

2-bitový oldstate; // vlajka starého štátu

3 Void Main ()

4 DDB0 bit \u003d 0; // Inštalácia výstupu RV0 ako vchodu

5 DDRC \u003d 0xff; // Konfigurácia PS ako záver

6 PORTC \u003d 0xAA; // Zdrojový kód je zaznamenaný v prístave

9 IF (tlačidlo (& PINB, 0,1,1)) (// Detekcia logickej jednotky

10 oldstate \u003d 1; // aktualizovať vlajku

11 IF (OldState && Tlačidlo (& PINB, 0,1,0)) (// Detekcia prechodu od 1B 0

12 portb \u003d ~ portb; // Inverting Portc.

13 oldstate \u003d 0; // aktualizovať vlajku

14) Kým (1); // nekonečný cyklus

Automatizačné procesy technického vybavenia využívali väčšinu celého organizácie výroby. Používajú sa všade v strojoch, strojoch a mechanizmoch, Robotics Komplexy. Nové technológie výrazne zvyšujú produktivitu, čím sa znižuje účinok ľudského faktora rizík vo výrobe. Zvyšuje tiež kvalitu technickej úrovne a výrobku. Mikroprocesorové systémy - Naraz bola inovatívna technológia. Ale teraz je to obyčajné, pretože zariadenia, ktoré sú vyrobené s použitím mikroprocesorov, majú vyšší výkon v porovnaní so zariadeniami vykonanými na samostatných logických schémach s ekonomickými prínosmi prvého.

Štandardizácia procesu vývoja zjednodušuje analýzu a výskum v tejto oblasti. A tiež robí vizuálny aktuálny stav a možný výsledok. Moderné spoločnosti zaoberajúce sa rozvoja vstavaných mikroprocesorových systémov používajú programovateľné logické integrované obvody (PLITS) a automatizované výrobné systémy pre rýchly a organizovaný dizajn. Použitie FPGA je tiež možné ladenie a testovanie v reálnom čase. Ročné obnovenie CAD umožňuje menej a menej času tráviť čas na monotónovú a jednotnú prácu, pričom neumožňuje zrejmé chyby. To vám umožní abstraktovať na vyššie úrovne systému a riešenie ťažkých úloh.

Proces vývoja vstavaných mikroprocesorových systémov môže byť reprezentovaný ako dve cesty po sebe nasledujúcich konštrukčných stupňov. Prvá trasa je vývoj hardvéru vstavaného mikroprocesorového systému. Druhou cestou je návrh softvéru (obr. 1).

Obrázok 1. Štáty dizajnu

Vyžadujú sa však všetky kroky trasy. Modelovanie hardvérového systému počas procesu vývoja sa nesmie vykonať. Preto môžu byť niektoré kroky vylúčené: príprava špecifikácie modelovania, generácie modelov, funkčného a dočasného modelovania. Treba mať na pamäti, že simulácia hardvéru systému zlepšuje efektívnosť procesu navrhovania ako celku v dôsledku skoršej detekcie možných chýb a ich eliminácie.

Typické fázy dizajnu mikroprocesorových systémov zahŕňajú:

  1. Formalizácia rôznych systémových požiadaviek. Na systéme je potrebné vykonať externé špecifikácie, technickú úlohu (TK), poznámky obrazu obrazu developera v dokumentácii, uvádza zoznam funkcií systému.
  2. Rozvoj štruktúry a architektúry systémových prvkov. Je potrebné určiť interakciu medzi hardvérom a softvérom, funkciami periférií a softvérových škrupín, vyberte si mikroprocesorové riešenia, na základe ktorých sa systém bude implementovať, na určenie časových charakteristík.
  3. Vývoj a výroba hardvérového a systémového softvéru. Je potrebné vytvoriť štruktúru a schematické diagramy, aby sa prototyp, dlh za podmienok základných režimov prevádzky. Vývoj softvéru by mal pozostávať z algoritmov, písanie textu zdrojových programov, vysielať zdrojové programy v programoch objektov, ladenie softvéru a simulácie.
  4. Všeobecné ladenie a prijímanie skúšok v pracovných podmienkach.

Ľudský faktor umožňuje poruchy a prijímanie nesprávnych riešení. Tiež existujú hardvérové \u200b\u200bchyby v zariadeniach. Napríklad sú možné tieto zdroje chýb v krokoch:

Fáza 1. Logická nekonzistentnosť požiadaviek, opomenutia, nepresnosti algoritmu.

Fáza 2. Ostopovanie funkcií, opomenutie niektorých informačných tokov, nekonzistentnosť protokolu interakcie zariadení a programov, nesprávnu definíciu technických požiadaviek, nesprávny výber mikroprocesorových roztokov, nepresnosť algoritmov.

Fáza 3. Pri vývoji zariadení - opomenutie určitých funkcií, nesprávny výklad technickej úlohy, nedostatku v systémoch synchronizácie, porušenie pravidiel dizajnu; Pri vývoji softvéru - opomenutie určitých funkcií technickej úlohy, nepresností v algoritoch, nepresnosti kódovania; Pri výrobe prototypu - porucha komponentov a periférií, inštalácie a montážnych porúch.

Každý z uvedených zdrojov chyby môže znamenať veľký počet fyzických alebo subjektívnych chýb, ktoré je potrebné ďalej definovať a eliminovať. Detekcia a lokalizácia poruchy je komplikovaná z niekoľkých dôvodov: Najprv z dôvodu chýb môže byť niekoľko; Po druhé, monotónnosť príznakov rôznych problémov. Keďže neexistujú žiadne modely subjektívnych chýb, zadaná úloha nie je formalizovaná. Je možné riešiť pomocou odborných systémov - databáz s už existujúcimi problémami a ich riešením odchádzajúci z praktických skúseností.

Subjektívne poruchy sa líšia od fyzickej skutočnosti, že po detekcii, lokalizácia a korekcia už nevzniká. Subjektívne poruchy sa však môžu uskutočniť vo fáze vývoja špecifikácie systému, čo znamená, že aj po najvýraznejších skúškach systému na dodržiavanie jeho špecifikácií v systéme môžu byť subjektívne poruchy.

Konštrukčný proces je iteratívny proces, a preto s neúplným elimináciou chýb v jednej fáze sa môžu zobraziť na nasledujúcom texte. Odhaliť poruchy čo najskôr, musíte na to kontrolovať správnosť projektu v každej fáze vývoja. Napríklad poruchy, ktoré sa nachádzajú v konečnej fáze akceptovania projektu, môžu viesť k korekcii špecifikácií, a preto na začiatku návrhu celého systému. V rovnakých dôsledkoch, zmeny v technickej úlohe (kvôli nedostatku systému).

Hlavnými metódami riadenia správnosti návrhu sú: overenie, modelovanie a testovanie.

Overenie vám umožňuje zistiť nielen aktuálne chyby, ale aj potenciálne chyby, ktoré sa môžu objaviť v budúcich projektoch pomocou blokov. Vyžaduje si však samostatnú technickú úlohu a vhodné zručnosti a je vhodné pre veľké projekty. Na malé projekty sa modelovanie správania objektu a testovania častejšie používa, pretože Táto možnosť je ekonomicky prospešná a nevyžaduje veľký počet zdrojov.

Kontrola kontroly sa dosahuje v každej fáze navrhovania potreby modelovania modelovania na rôznych úrovniach abstrakcie systému a overiť správnosť modelu implementovaného testovaním. Funkčná špecifikácia môže byť modelovaná a skontrolovaná skúseným spôsobom, aby sa identifikoval očakávaný výsledok. Môže sa analyzovať aj analýza expertného tímu. Po schválení funkčnej špecifikácie sa začalo vývoj funkčných skúšok systému určeného na stanovenie správneho fungovania systému v súlade s jeho funkčnou špecifikáciou. Najefektívnejšie rozvíjajú testy, úplne na základe tejto špecifikácie, pretože to umožňuje kontrolu akéhokoľvek implementácie systému schopného vykonávať funkcie uvedené v špecifikácii. Táto metóda je podobná ostatným, kde sú testy vytvorené vo vzťahu k špecifickým implementácii, ale presnejšie vykonáva mapovanie očakávania a vývoja výsledkov.

Po zistení chyby musí byť jeho zdroj lokalizovaný pre opravu na zodpovedajúcej úrovni abstraktnej prezentácie systému a na príslušnom mieste. Nesprávna definícia zdroja chýb alebo úprav na inej úrovni abstraktnej prezentácie systému vedie k tomu, že systémové informácie na najvyššej úrovni sa stávajú chybným a nemôžu byť použité na ďalšie ladenie vo výrobe a prevádzke systému.

Automatizácia monotónnej práce na vývoji testovacích programov znižuje obdobie dizajnu a ladenie v dôsledku skorších testov (pretože môžu byť generované ihneď po vytvorení systémových požiadaviek) a umožňuje dizajnérovi zmeniť špecifikácie bez prepísania všetkých testovacích programov. V praxi je vývoj testov menej prioritou v porovnaní s projektom, takže testovacie programy sa objavujú oveľa neskôr ako jeho dokončenie.

Preto, vzhľadom na nuansy dizajnu mikroprocesorov, je ľahké sa dostať okolo "úskalia" pri vývoji. Použitie programovateľných logických integrovaných obvodov (PLITS) uľahčuje ladenie nezverejnenej strany a umožňuje testovať projekt a opraviť nedostatky. A Automatizované výrobné systémy (CAD) zjednodušuje rozvoj, čo umožňuje racionálne prerozdelenie zdrojov.

Bibliografia:

  1. SIBGUTI [Elektronický zdroj] / Mikroprocesorový dizajn na FPGA - Access Mode: http://ict.sibsutis.ru/sitess/csc.sibsutis.ru/files/courses/mpts/mp.pdf-broke. - naklonenie. Z obrazovky. - yaz. RUS. (Referenčný dátum 12/22/2017).
  2. Zotov V. Vstavaná vývojová sada je dizajnový systém vstavaných mikroprocesorových systémov založených na sérii FPGA série Xilinx FPGA. 2004. Č. 3.

prerušenie logiky si pamätá úroveň prioritnej úrovne prerušenia. Pri spustení príkazu RET je udržiavaná úroveň priority a môže sa podať len prerušenie s vyššou úrovňou priority. Príkaz RETI sa líši od príkazu Ret v tom, že resetuje úroveň priority, ktorá vám umožní slúžiť požiadavkám na prerušenie s nízkou prioritou.

Na typické podmienečné operácie zahŕňajú tímyJz a jnz, jc

a JNC. Posledné dve sú zahrnuté do skupiny "Boolean". V tíme CJNE, v porovnaní s pravidlami pre odpočítanie celé čísla, dva bajty

a v súlade s výsledkom porovnania je názov C nastavená. Potom, ak sa vyhodia, rozvetvenie sa vykonáva.

V príkaze DJNZ nielen jeden z registra registra Rn, n \u003d 0 ... 7 môže byť použitý ako počítadlo RN, n \u003d 0 ... 7, ale aj priamo adresované DSEG dátové bunky. Pri spustení príkazu sa najprv vykoná zníženie meradla, a ak obsah počítadla nie je nula, vetvenie.

3. Navrhovanie mikroproceszorových systémov

MPS Design Technology založená na mikrokontrolétoroch plne vyhovuje koncepcii kontinuity konštrukčného a ladenie procesu hardvérových a softvérových komponentov prijatých v mikroprocesorových zariadeniach. Dôležitým znakom používania mikrokontrolérov je prevádzka v reálnom čase, t.j. Zaručená reakcia na externé udalosti pre určitý časový interval. Je zrejmé, že riešenie úlohy spoločného ladenia hardvérových a softvérových komponentov v reálnom čase s ľubovoľnou štruktúrou a obvodom systému mikroprocesora je veľmi zložitá, drahá a dlhodobá práca.

3.1. Štádiá dizajnu

Funkcia poslancov je, že sami sú vložené (integrované) do určitého objektu. To naznačuje, že pred vývojárom poslancov tohto druhu, úlohy kompletného konštrukčného cyklu, od rozvoja fungujúceho algoritmu a končiacim komplexnými skúškami ako súčasť výrobku, a prípadne sprevádzané výrobou. Hlavné štádiá konštrukcie MPS sú zobrazené na obr. 28.

Technické požiadavkyzačne sa konštrukcia MPS. Možnosť programovania systému mikroprocesora stimuluje zákazníka, aby ho uložil na vykonanie maximálneho počtu funkcií. Kritériom voľby by malo byť ekonomickou uskutočniteľnosťou akéhokoľvek nárastu objemu hardvéru, ktorý je určený v dôsledku štúdie nástroja tohto typu, a maximálne zlepšenie ceny / funkcie

sti. V tomto štádiu sú požiadavky na typ jasne alebo implicitne formulované.

používa mikroprocesor alebo mikrokontrolér.

Fáza vývoja algoritmuje najviac zodpovedný

keďže pri testovaní sa zistia chyby tejto fázy

a viesť k drahému spracovaniu celých poslancov.

Niekoľko variantov algoritmu

výkon technických požiadaviek pomocou Troubled

predtým funkčné a topologické moduly. Hlavné možnosti

rôzne s pomerom softvéru a appa-

Technické požiadavky na systém mikroprocesora

Korekcia

algoritmus

kancelária

Vývoj algoritmu

Knižnica

funkčný

Vývoj štruktúry hardvéru a

topologický

softvér

Korekcia

Vývoj programu

Vývoj vybavenia

Korekcia

zdroj

(Pôvodný text)

(principiálne,

topológia dosiek)

topológia

Prekladový program

Posmech

Debugovanie programov

Autonómne ladenie

na modeli

vybavenie

Spoločné ladenie softvéru a hardvéru

systémové systémy v reálnom čase

Integrácia systému mikroprocesora v produkte

Testovanie produktu

Mikroprocesorový systém zodpovedajúci technickému

nettné požiadavky

práva. Kritériom výberu je implementácia maximálneho počtu funkcií programovatkom v najmenšom hardvérových nákladoch, ktoré poskytujú špecifikované ukazovatele výkonnosti a spoľahlivosti v celom rozsahu prevádzkových vplyvov. Často je definitívna požiadavka možnosť umiestniť programový kód do vnútornej pamäte mikrokontroléra, ktorý vám umožňuje chrániť pred neoprávneným prístupom. V tomto štádiu sa nakoniec určuje typ mikrokontroléra a najdôležitejšie rámovacie schémy (pamäť, PLIS, rozhranie, ADC atď.).

Vo fáze vývoja štruktúry MPS konečne určuje

zloženie existujúceho a podliehajúce rozvíjaniu hardvérových modulov, výmenných protokolov medzi modulmi, typmi konektorov. Vzhľadom k tomu, poslanci je vložený do výrobku, predbežné štúdium dizajnu dosiek. Pokiaľ ide o softvér, zloženie a komunikácia softvérových modulov, je určený programovací jazyk. K dispozícii je tiež výber návrhu a ladenie nástrojov.

Fáza vytvorenia programutvorí vnútorný, často opakovaný cyklus. Skladá sa z etáp vývoja zdrojového textu, vysielania, programu ladenia na modeli a korekcii zdrojového textu. Obsah týchto etáp výrazne závisí od používaných systémov. V súčasnosti sú zdroje mikroprocesorov a mikrokontrolérov dostatočné na podporu programovania v jazykoch na vysokej úrovni. To vám umožní používať všetky výhody štrukturálneho programovania, rozvíjať softvér ako projekt pomocou samostatne preložených modulov. V súčasnosti sú najsilnejším prostriedkom na vývoj softvéru pre mikroprocesory a mikrokontroléry integrovaný krížový systém programovania v jazykoch na vysokej úrovni Pascal, C. Napríklad integrovaný systém rozvoja softvéru Pascal-51 obsahuje v jeho zložení textového editora, kompilátor s redaktorom Link, knižnicou štandardných funkcií obdobia realizácie a debugger. Takéto systémy vám umožnia výrazne znížiť náklady na vykonanie tohto vnútorného cyklu. Programy napísané v jazykoch na vysokej úrovni však majú väčší objem a nižšiu rýchlosť ako podobné programy napísané v jazyku assembler. Jazyk Assembler sa preto naďalej široko používa, najmä s obmedzenými zdrojmi poslancov a potrebu zabezpečiť vykonanie kontrolovaných časových intervalov.

V týchto štádiách sa zistia syntaktické a logické chyby programu. Chyby syntaxe sú spojené s porušením príkazového syntaxe, smerovania prekladateľov a pomocou predtým definovaných značiek a mien. Logické chyby vedú k nesprávnemu fungovaniu programu. Sú spojení s chybami programu (nesprávny prechod je špecifikovaný počas pobočky, nezaznamenaný

tento tím atď.) A chyby algoritmu. Obsah týchto etáp vo vývoji programov v jazyku Assembler je uvedený nižšie.

Fáza vytvárania zariadeniapredstavuje ďalší vnútorný cyklus vykonaný paralelne s prvým. Obsahuje vývoj spoločného konceptu, usporiadania topológie dosky, inštaláciu usporiadania a jeho autonómne ladenie. Tieto kroky možno považovať za ukončené po ukončení systému "príchode" MPS a môžete kontaktovať pamäť, I / O zariadenia. Doba realizácie tejto fázy závisí od existujúceho súboru testovaných funkčných modulov a rozvoja developera. Spoločné dizajnové systémy používané na vstupnom štádiu koncepcie a rozvoj topológie sú

PCAD a ORCAD (CAD - počítačový podporovaný dizajn - automatizovaný dizajn). Účinnosť práce s nimi výrazne závisí od vývojára používaných prvkov.

Fáza spoločného ladenia zariadení a softvéru v reálnom čase je to najviac pracnéa nevyhnutne vyžaduje použitie takýchto vysoko výkonných prostriedkov, ako je intrahemal emulátor, emulátor ROM, logický analyzátor. Voľba jedného z uvedených prostriedkov je spôsobená použitým metódou ladenia. V tomto štádiu dynamické chyby, ktoré sa vyskytujú, keď je interakcia softvéru a hardvéru v reálnom čase. Tieto chyby sú spôsobené rôznymi oneskoreniami v šírení signálov v súlade so systémovými linkami a vzájomným rušením medzi vedeniami vyplývajúcimi z ich neúspešnej relatívnej polohy. Dynamické chyby na detekciu oveľa ťažšiekvôli nezrovnalosti ich vzhľadu.

Lokálne analyzátory sa používajú na lokalizáciu dynamických chýb. Logické úrovne signálov diaľnice systému alebo jednotlivých pneumatík a riadkov v režime príjmu sa neustále zaznamenávajú v pamäti FIFO. Ukončenie vystavenia nahrávania sa vykoná, keď sa objaví vybraná udalosť (náhoda zadanej a skutočnej adresa na SHA, príkazových kódoch na SD alebo vzhľad krátkeho impulzu rušenia). V tomto čase celá informácia predchádza celej udalosti. Analýza histórie udalosti zaznamenanej v pamäti, môžete určiť dôvod na výskytu zlyhania v práci poslancov. Informácie na displeji môžu byť reprezentované v grafickej forme, vo forme binárneho, hexadecimálneho kódu alebo mnemoniky príkazov. Analyzátory logického stavu nahrávajú s frekvenciou hodín poslancov. Na opravu procesov rýchleho prietoku sa používajú dočasné logické analyzátory, v ktorých hodinová frekvencia nahrávania v pamäti výrazne presahuje frekvenciu hodín poslancov.

Kolaboratívne ladenie hardvérových a softvérových nástrojov v reálnom čase sa vykonáva pomocou emulátorov ROM a intrahemal emulátory pod kontrolou nástrojov nástrojov.

Ministerstvo vedy a vzdelávanie Kazachstanskej republiky

Multi-Profile College

Štátna univerzita v Severnej Kazachstane

názov akademika M. KOZBAEVA

Vysvetlivka

na termín projektu

rozdeje: "Digitálne zariadenia a mikroprocesorové systémy"

na tému: "Navrhovanie mikroprocesorového mikroprocesora systému I 8086"

Číslo 16.

Vykonáva sa: študent c. Res-k-09

Safronov S.V.

Skontrolované: Učiteľ

Mikhailova A.N.

Petropavlovsk 2010.

1. Úvod

2. Všeobecná štruktúra poslancov

3. 16-bitový mikroprocesor I8086

3.1 Teamový systém

4. Zvýšená štruktúra

5. Pamäťové zariadenia

6. RAM. Zásady výstavby

7. Skladovacie zariadenia (ROM)

8.Sifro-analógové konvertory (DAC)

9. Vývoj funkčnej schémy modulu I / O

10 Záver

Bibliografia

Príloha A.

1. Úvod

Účelom disciplíny "Digitálne zariadenia a mikroprocesory" je študovať princípy výstavbu digitálnych zariadení rôznych funkčných zložitosti - od logických prvkov na mikroprocesory a mikro-počítač.

Kompaktná mikroelektronická "pamäť" je široko používaná v moderných elektronických zariadeniach pre najdôležitejší cieľ. V počítači je pamäť určená ako funkčná časť určená na nahrávanie, ukladanie a vydávanie príkazov a spracovaných dát. Komplex technických prostriedkov implementáciu pamäťovej funkcie sa nazýva úložné zariadenie (pamäť). Aby sa zabezpečilo fungovanie procesora (mikroprocesor), je potrebný program, to znamená, že postupnosť príkazov a údaje, na ktorých procesor robí operácie predpísané príkazmi. Príkazy a dáta sa zaregistrujú v hlavnej pamäti počítača cez vstupné zariadenie, pričom dostávajú digitálnu formu reprezentácie, tj formu kombinácií kódu o a 1. Hlavná pamäť, spravidla pozostáva z dvoch Typy prevádzkových (RAM) a trvalé (ROM).

Prevádzková pamäť je navrhnutá tak, aby ukladajte informačnú premennú, umožňuje zmeniť váš obsah počas vykonania dát výpočtovej techniky procesora s údajmi. To znamená, že procesor môže zvoliť (režim čítania) z pamäte RAM príkazového kódu a údajov a po spracovaní, aby sa vložili do pamäte RAM (režim nahrávania).

Tento termín je venovaný štúdiu pamäťového bloku. Konkrétne je úloha vytvoriť pamäťový priestor daného objemu a konfigurácie.

2. Všeobecná štruktúra poslancov

Mikroprocesor (MP) je centrálna časť akéhokoľvek mikroprocesorového systému (poslanci) - obsahuje aritmetické logické zariadenie (ALU) a centrálne riadiace zariadenie (CSU), ktorá implementuje príkazový cyklus. MP môže fungovať iba ako súčasť MPS, vrátane, okrem MP, pamäte, I / O zariadenia, pomocných schém (generátor hodín, regulátorov prerušenia a priamy prístup do pamäte (PDP), fasistami pneumatík, západkové registre atď.

V žiadnych poslanci môžu byť rozlíšené nasledujúce hlavné časti (subsystémy):

    modul procesora;

  • externé zariadenia (externá pamäť + vstupné / výstupné zariadenia);

    subsystém prerušenia;

    subsystém priamy prístup k pamäti.

Obrázok 1 - Štruktúra poslancov s rozhraním "Celková autobus"

Vzťah medzi procesorom a inými zariadeniami MPS sa môže uskutočniť podľa princípov radiálnych pripojení, spoločnej pneumatiky alebo kombinovanej metódy. V jednostranových poslanci, najmä 8- a 16-bitových MPS, princíp komunikácie "Celková autobus" bola najväčšia distribúcia, v ktorej sú všetky zariadenia pripojené k rozhraniu rovnakým spôsobom (obrázok 1).

Všetky signály rozhrania sú rozdelené do troch hlavných skupín údajov, adresy a riadenia. Početné odrody "Celková autobusová" rozhrania poskytujú prenos samostatnými alebo multiplexovanými riadkami (pneumatiky). Napríklad mikrobusové rozhranie, s ktorými väčšina 8-bitových MPS na databáze I8080 prenáša adresu a údaje o samostatných pneumatikách, ale niektoré riadiace signály sa prenášajú cez dátový zbernicu. Rozhranie Q-BUBS používané v mikro-počítači DEC (domáce analógové - Mikroprocesory série K1801) má multiplexovaný adresa / dátový zbernicu, pre ktorý sa tieto informácie prenášajú s časovým oddelením. Prirodzene, ak je v ovládacích líniách multiplexovaný autobus, musíte obsahovať špeciálny signál, ktorý identifikuje typ informácií o pneumatike. Výmena rozhrania sa uskutočňuje medzi dvoma zariadeniami, z ktorých jedna je aktívna a druhá je pasívna. Aktívne zariadenie generuje adresy pasívnych zariadení a riadiacich signálov. Aktívne zariadenie pôsobí spravidla procesor, a pasívne - vždy pamäť a niektoré wu.

Avšak niekedy vysokorýchlostné WU môže pôsobiť ako master (aktívne zariadenie) na rozhraní, správa výmeny s pamäťou. Koncepcia "bežnej pneumatiky" naznačuje, že kontaktovanie všetkých zariadení MPS sú vyrobené v jednom priestore adries, avšak, aby sa rozšíril počet adrese objektov, v niektorých systémoch umelo zdieľajú adresné medzery a wu, a niekedy dokonca aj pamäťové programy a údaje Pamäť.

3,16-vypúšťací mikroprocesor I8086

Prvý 16-bitový procesor I8086 Intel vydal v roku 1978. Frekvencia - 5 MHz, výkon - 0,33 MIPS pre pokyny s 16-bitovými operandmi (neskoršie procesory 8 a 10 MHz sa objavili). Technológia 3 μm, 29 000 tranzistorov. Adresovateľná pamäť 1 MB. O rok neskôr sa objavil I8088 - ten istý procesor, ale s 8-bitovým dátovým autobusom. Vzhľadom k tomu, že začal históriu IBM PC, intenzívne prepojená so všetkým ďalším vývojom procesorov Intel, hmotnostné rozloženie a otvorenosť IBM PC Architecture viedla k Avalanche-like tempo vzhľadu nového softvéru vyvinutého veľkých, stredných a menších firiem , ako aj jednotlivým nadšencom. Technický pokrok potom by bol nemysliteľný bez vývoja procesora, ale s ohľadom na obrovské množstvo už existujúceho softvéru pre PC sa objavil princíp reverznej kompatibility softvéru - staré programy by mali pracovať na nových procesoroch. Všetky inovácie v architektúre nasledujúcich procesov teda mali byť pripojené k existujúcemu jadra.

16-bit MP I8086 bol ďalší vývoj čiary jednej čipovej MP, ktorý začal I8080. Spolu s rastúcou bitkou v I8086 bolo implementovaných niekoľko nových architektonických riešení:

systém príkazov je rozšírený (pre súbor operácií a metódy riešenia);

architektúra MP je zameraná na viacprúdové práce. Skupina pomocných bis (regulátorov a špecializovaných procesorov) bola vyvinutá pre organizáciu multimicroprocsorových systémov rôznych konfigurácií;

presuny sa začali spojiť rôzne operácie v čase. MP obsahuje dva paralelné pracovné zariadenia.

spracovanie a údržbu dát trupu, ktorý vám umožní kombinovať proces spracovania informácií a ich presunu na diaľnicu;

zavádza sa nový (v porovnaní s I8080) (v porovnaní s I8080), ktorý sa ďalej používa vo všetkých seniorských modeloch segmentácie rodiny Intel. Ak chcete zachovať kontinuitu modelu z I8080 v I8086, sú poskytnuté dva režimy prevádzky - "Minimálne" a "Maximálne" a v minimálnom režime I8086 funguje jednoducho ako pomerne rýchly 16-bitový i8080 s rozšíreným systémom príkazového systému (Architektúra MPS Na základe I8086-Min sa podobá architektúre na základe I8080).

Maximálny režim je zameraný na prevádzku I8086 ako súčasť multimicroprocssorových systémov, v ktorých okrem niekoľkých centrálnych procesorov I8086, špecializovaných I8089 I / O procesory, "plávajúce aritmetické plávajúce aritmetické" kopracesory, môže pracovať. Vymedzíme jasnejšie zavedené vyššie:

Centrálny procesor - podporuje vlastný príkazový cyklus, vykoná program uložený v systémovej pamäti, aby sa obnovil riadiaci systém, spravidla sa prenáša do centrálneho procesora (alebo jedného z CPU, ak existuje niekoľko v systéme). Špecializovaný procesor - podporuje vlastný príkazový cyklus, vykoná program uložený v systémovej pamäti, ale inicializuje sa len príkazom CPU, na konci realizácie programu, CPU správy o ukončení práce. Koprocesor nepodporuje svoj vlastný príkazový cyklus, vykoná príkazy vybrané pre IT CPU z celkového prietoku príkazov. V podstate je koprocessor expanzia CPU.

3.1 Teamový systém

Systém príkazového systému 8086 mikroprocesora má 98 inštrukcií: 19 Príkazy pre prenos dát, 38 príkazov na spracovanie údajov, 24 tímov rôznych podmienených a bezpodmienečných prechodov a 17 príkazov CPU.

Každý príkaz pozostával z operačného kódu (tzv. OPCODE) a operands. Zvyčajne prvé velenie bajt a tri úseky druhého bajtu alebo rovnaké (v prípade priameho tónu), staršiu časť prvého velenia bajtu. Celkovo je rôzne možnosti pre tímy v I8086 Existuje takmer 4 000.

Na účely mikroprocesorového tímu je I8086 rozdelený do 6 skupín:

1 Príkazy prenosu dát: MOV, XCHG, Push, Pop, Pushf, Popf, LEA, LDS, LES, LAHF, SAHF, XLAT, v.

2 Aritmetické tímy: Pridať, ADC, Inc, AAA, DAA, Sub, SBB, DEC, NEG, CMP, AAS, DAS, MUL, IMUL, DIV, IDIV, AAM, AAD.

3 Logické príkazy: nie, SHL / SAL, SHR, SAR, ROL, ROR, RCL, RCR,

A, test, alebo, xor.

4 Príkazy Manipulácie Reťaze: CMPS, LOSTS, MOVY, REP, SCAS, STOS.

5 Ovládacie príkazy: JMP, Call, RET, LOOPNZ, LOOPZZ, LOOPNE / LOOPNZ, JCXZ, JE / JZ, JNE / JNZ, JL / JNGE, JLE / JNG, JB / JNAE, JBE / JNA, JP / JPE, JNP / JPO, JO, JNO, JS, JNS, JG / JNLE, JGE / JNL, JA / JNBE, JAE / JNB.

6 Príkazy riadenia procesora: CLC, CMC, STC, CDL, STD, CLI, HLT WAIT, ESC, LOCK

4. Zvýšená štruktúra

Štrukturálna schéma MP I8086 je znázornená na obr. MP obsahuje tri hlavné zariadenia:

Proces je zariadenie na spracovanie údajov;

USM - komunikačné zariadenie s diaľnicou;

UUS je riadiaci a synchronizačné zariadenie.

Okamžitý je určený na vykonanie príkazov a zahŕňa 16-bitové ALU, systémové registre a iné pomocné systémy; Registrácia bloku (RON, BASIC a INDEX) a riadiacu jednotku firmvéru.

USM poskytuje tvorbu 20-bitovej fyzickej adresy pamäte a 16-bitovej adresy WU, výber príkazov z pamäte, výmenu údajov s pamäťou, WU, iných procesorov na diaľnici. USM obsahuje adresy ADDER, REGISTROVANIE REGISTROVANÝCH REGISTROVANÝCH REGISTROVANÍ A BLOKUJÚCE ROZHODNUTIA.

CSUS poskytuje synchronizáciu prevádzky MP zariadení, generovanie riadiacich signálov a stavových signálov na výmenu s inými zariadeniami, analýzou a zodpovedajúcou odpoveďou na signály iných zariadení MPS.

MP môže pracovať v jednom z dvoch režimov - "minimum" (min) a "maximálne" (max). Minimálny režim je navrhnutý tak, aby implementoval konfiguráciu jednotlivých procesorov MPS s organizáciou podobnou základni I8080, ale so zvýšeným zacieleným priestorom, vyššou rýchlosťou a výrazne rozšíreným systémovým systémom. Maximálna konfigurácia predpokladá prítomnosť v systéme niekoľkých poslancov a špeciálnu líniu arbitra diaľnice (používa sa multibusové rozhranie).

Na vonkajších záveroch MP I8086 je princíp multiplexovania signálov široko používaný - prenos rôznych signálov cez spoločné línie s časovým oddelením. Okrem toho sa rovnaké závery môžu použiť na prenos rôznych signálov v závislosti od režimu (min - max). Práca hardvéru ... Projekt projektu je implementovaný mikroprocesor systém na Základňa mikrokontroléra - ... prevádzka zariadenia Na založený Funkcie zariadenia ...

  • Dizajn mikroprocesor Zariadenia na spracovanie údajov

    Iné \u003e\u003e Computer Science, Programovanie

    Kurz dizajn je systém Implementácia a spracovanie údajov na založený Moderná základňa prvku - mikroprocesor ... na založený Ostatní poslanci sú podobné, hoci má niektoré funkcie súvisiace s rozdielmi architektúry mikroprocesory ...

  • Mikroprocesor systém

    Pracovná správa \u003e\u003e Informatika

    Podľa vzdelávacej praxe " Mikroprocesor systémy » Možnosť Číslo 1 Vykonané ... Počítač pre automatizované dizajn, Vedecký výskum, ... Koľte, ktorý potrebujete vedieť základy Organizácie a fungovanie univerzálneho ... kurzora na Jednu pozíciu. Na Symbol ...

  • Hardvér a softvér periférnych zariadení systém Zber merač svedectva

    Abstrakt \u003e\u003e Informatika

    Porovnateľné s 16-bitovým mikroprocesory a produktivita mikrokontroléry a ... výpočtové vybavenie pre dizajn na založený Výrobné stroje Spoľahlivé ... Spájkovacia metóda stavby mikroprocesor systém na založený AVR je akvizícia ...



  • Páči sa vám článok? Zdieľaj to