Ovládače Avr. AVR - čo to je? Priradenie automatického zadávania rezervy. Ako AVR funguje?
Zdroje dodávok elektrickej energie nie sú úplne spoľahlivé a niekedy sa odpájajú, čo vedie k negatívnemu vplyvu na spotrebný tovar. To je pre kritické zariadenia neprijateľné, preto sú napájané z dvoch alebo viacerých dodatočných zdrojov. Pri ich pripájaní sa používajú zariadenia ATS. Čo to je, vysvetľuje dekódovanie skratky - „automatický zápis rezervy“. Je to spôsob, ako vytvoriť neprerušované napájanie spotrebiteľa s dvoma alebo viacerými vstupmi. To je zabezpečené automatickým pripojením záložného vstupu pri strate hlavného.
Oba zdroje je možné pripojiť súčasne. Nevýhodou tejto metódy sú vysoké skratové prúdy, vysoké straty a zložitosť ochrany sietí. Rezerva sa zvyčajne zavádza pomocou spínacieho zariadenia, ktoré vypne hlavný zdroj energie. Rezervný výkon musí zodpovedať zaťaženiam. Ak to nestačí, sú pripojení len najdôležitejší spotrebitelia.
Požiadavky na ATS
- Rýchle zavedenie rezervy po spustení
- Zapne sa v každom prípade pri výpadku prúdu, s výnimkou skratu.
- Nedostatočná odozva na pokles napätia pri spúšťaní výkonných záťaží u spotrebiteľa.
- Jednorazová prevádzka.
Klasifikácia
Zariadenia sú rozdelené podľa princípu fungovania.
- Jednostranné. Obvod obsahuje dve časti: napájanie a zálohovanie. Ten je pripojený, keď dôjde k strate hlavného napätia.
- Obojstranný. Každá z liniek môže byť pracovná alebo záložná.
- Obnoviteľné AVR. Po obnovení hlavného napájania sa predchádzajúci okruh automaticky uvedie do prevádzky a záložný okruh sa vypne.
- Žiadne automatické obnovenie. Prevádzkový režim s hlavným zdrojom energie sa konfiguruje manuálne.
Princíp činnosti AVR
V nízkonapäťových sieťach je vhodné použiť špeciálne relé, ktoré riadia napätie v ochranných obvodoch (obvody ATS atď.). Tu je vhodnejšie ATS, pretože nie všetky zariadenia dokážu vydržať časté prepínanie napájania. Ako vyzerá AVR? Čo to je a ako to funguje? Toto zariadenie je jasne viditeľné z akéhokoľvek jednoduchého diagramu.
- Relé EL-11 riadi trojfázové napätie, monitoruje fázovú nerovnováhu, prerušenie a striedanie.
- Na pripojenie záťaže sa používajú elektromagnetické relé s výkonnými kontaktmi. V normálnom režime je z neho napájaná hlavná vstupná cievka a svojimi kontaktmi KM 1 spája napájanie so záťažou.
- Keď napätie v hlavnom obvode zmizne, relé KM 1 sa vypne a napájanie je privedené do cievky relé KM 2, ktoré spája záložný vstup.
Tento obvod ATS je možné použiť v súkromných domoch, priemyselných a administratívnych budovách, kde spínaná záťaž dosahuje desiatky kilowattov. Nevýhodou schémy je zložitosť výberu relé pre vysoké prúdy. Stále je vhodný na spínanie spotrebičov s nízkym výkonom, ale pre veľké zaťaženie je lepšie použiť štartér alebo triak ATS.
Nevyhnutnými zdrojmi dodatočného výkonu sú benzíny alebo tie sú široko používané kvôli ich účinnosti a väčšiemu výkonu. Trh ponúka širokú škálu systémov ochrany proti preťaženiu.
Prevádzka AVR
Ako AVR funguje? Aký je stupeň spoľahlivosti dodávky elektriny spotrebiteľom? Zariadenia sú rozdelené do 3 kategórií. Dodávka elektriny do bytov patrí medzi najnižšie. Ak dochádza k častým poruchám v napájaní, je lepšie nainštalovať rezervu v dome, pretože od toho závisí životnosť domácich spotrebičov, ako aj pohodlné životné podmienky. Systémy neprerušiteľného napájania sú inštalované v bytoch na batérie, ktoré sa používajú hlavne pre elektronické zariadenia. Generátory sú najbežnejšie ako záložné zdroje energie pre súkromné domy.
Vo svojej najjednoduchšej forme je benzínový generátor pripojený k napájaniu domu cez prepínač. Zabráni sa tak skratu pri nesprávnom zadaní rezervy, keď nie je vypnuté automatické napájanie domu. Vypínač sa volí s tromi polohami, pričom stredná úplne odpojí elektrinu.
ATS si môžete nainštalovať sami v automatickom režime, ak generátor vybavíte automatickým spúšťacím zariadením a ovládate ho zo skrine pomocou stýkačov, ktoré spínajú aj vstupy. Automatizácia funguje na mikroprocesorovom riadení, napríklad na reléových ovládačoch Easy. Na vstup rezervy ATS sa používajú napäťové snímače. Hneď ako sa vypne napájanie, motor generátora sa okamžite spustí. Dosiahnutie prevádzkového režimu trvá nejaký čas, po ktorom ATS prepne záťaž do rezervy. Takéto oneskorenia sú prijateľné pre domáce potreby.
Automatická štartovacia jednotka generátora (BAZG)
AVR je súkromný domáci systém, ktorý zabezpečuje spustenie a riadenie záložného generátora v prípade výpadku prúdu. Ten je vybavený špeciálnou jednotkou BAZG, ktorá je lacným riešením v prípade výpadkov napájania v hlavnej sieti. V každom intervale po zmiznutí hlavného vstupného napätia vykoná päť pokusov o spustenie do 5 sekúnd. Okrem toho ovláda vzduchovú klapku, ktorá ju zatvára v momente spustenia.
Ak sa na hlavnom vstupe opäť objaví napätie, zariadenie prepne záťaž späť a zastaví motor generátora. Pri nečinnosti generátora je prívod paliva uzavretý solenoidovým ventilom.
Vlastnosti AVR súkromného domu
Najbežnejší spôsob je s dvoma vstupmi, pričom prvý má prednosť. Pri pripojení k sieti pracujú domáce spotrebiče väčšinou na jednej fáze. Ak zmizne, nie je vždy vhodné pripojiť generátor. Ako zálohu stačí pripojiť ďalšiu linku. Pri trojfázovom vstupe je výkon riadený relé na každej fáze. Keď napätie prekročí normálny rozsah, fázový stykač sa vypne a dom je napájaný z dvoch zostávajúcich fáz. Ak zlyhá ďalšie vedenie, celá záťaž sa prerozdelí do jednej fázy.
Pre malú chatu alebo chatu sa používa dieselagregát s výkonom nie väčším ako 10 kW pre panel s výkonom 25 kW. Takýto generátor stačí na to, aby na krátku dobu poskytol domu potrebné minimum elektriny. Ak dôjde k núdzovej situácii, napäťové riadiace relé prepne zbernicu spotrebiteľov na záložné napájanie a vyšle signál na spustenie súpravy dieselagregátu. Po obnovení hlavného napájania sa naň prepne relé, po ktorom sa generátor zastaví.
Rozšírenie funkcií ATS
Na riadenie zvolených algoritmov sa používajú programovateľné logické automaty (PLC). Už obsahujú program ATS, ktorý je potrebné iba nakonfigurovať na implementáciu jedného alebo druhého prevádzkového režimu. Použitie PLC, ako je napríklad kontrolér AC500, umožňuje zjednodušiť elektrické obvody, hoci na prvý pohľad sa zariadenie zdá zložité. Ovládanie ATS môže byť umiestnené na dverách rozvádzača vo forme sady spínačov, tlačidiel a indikácií.
Štandardné riešenie už obsahuje softvér. Je nainštalovaný v PLC.
Záver
Poruchy napájania môžu pre spotrebiteľov viesť k rôznym negatívnym javom. Väčšina používateľov má o ATS len hmlistú predstavu. Mnoho ľudí ani nevie, čo to je a mýlia si to so zariadením, ktoré je určené na úplne iné účely. Vzhľadom na vysoké náklady na elektrické zariadenia je dôležité vybrať správny automatický prepínač. To si bude vyžadovať odborné poradenstvo. ATS umožňuje zvýšiť výkon domácich spotrebičov a predmetov, pre ktoré je dôležité neustále napájanie.
Mikrokontroléry (ďalej len MK) pevne vstúpili do nášho života, na internete nájdete množstvo zaujímavých obvodov, ktoré sú na MK realizované. Čo sa na MK nedá namontovať: rôzne indikátory, voltmetre, domáce spotrebiče (ochranky, spínacie zariadenia, teplomery...), detektory kovov, rôzne hračky, roboty atď. Zoznam môže trvať veľmi dlho. Prvý obvod na mikrokontroléri som videl pred 5-6 rokmi v rozhlasovom časopise a takmer okamžite som otočil stránku a pomyslel som si: „Stále to nebudem môcť zostaviť. Skutočne, v tom čase boli MK pre mňa veľmi zložitým a nepochopeným zariadením, netušil som, ako fungujú, ako ich flashovať a čo s nimi robiť v prípade nesprávneho firmvéru. Ale asi pred rokom som prvýkrát zostavil svoj prvý obvod na MK; bol to obvod digitálneho voltmetra založený na 7 segmentových indikátoroch a mikrokontroléri ATmega8. Stalo sa, že som náhodou kúpil mikrokontrolér, keď som stál v oddelení rádiových komponentov, chlapík predo mnou kupoval MK a tiež som sa rozhodol, že si ho kúpim a pokúsim sa niečo zložiť. V mojich článkoch vám poviem o mikrokontroléry AVR, naučím ťa s nimi pracovať, pozrieme sa na programy pre firmvér, vyrobíme si jednoduchého a spoľahlivého programátora, pozrieme sa na proces firmvéru a hlavne na problémy, ktoré môžu nastať nie len pre začiatočníkov.
Základné parametre niektorých mikrokontrolérov rodiny AVR:
Mikrokontrolér |
Flash pamäť |
RAM pamäť |
Pamäť EEPROM |
I/O porty |
U moc |
|
Ďalšie parametre AVR mega MK:
Prevádzková teplota: -55…+125*С
Skladovacia teplota: -65…+150*С
Napätie na kolíku RESET vzhľadom na GND: max 13V
Maximálne napájacie napätie: 6,0V
Maximálny prúd I/O linky: 40 mA
Maximálny napájací prúd VCC a GND: 200mA
Model Pinouts ATmega 8X
Pinouty pre modely ATmega48x, 88x, 168x
Rozloženie pinov pre modely ATmega8515x
Rozloženie pinov pre modely ATmega8535x
Rozloženie pinov pre modely ATmega16, 32x
Rozloženie kolíkov pre modely ATtiny2313
Archív s datasheetmi pre niektoré mikrokontroléry je priložený na konci článku.
Inštalačné FUSE bity MK AVR
Pamätajte, že naprogramovaná poistka je 0, nenaprogramovaná je 1. Pri nastavovaní poistiek buďte opatrní, nesprávne naprogramovaná poistka môže zablokovať mikrokontrolér. Ak si nie ste istí, ktorú poistku potrebujete naprogramovať, je lepšie MK prvýkrát zablikať bez poistiek.
Najpopulárnejšie mikrokontroléry medzi rádioamatérmi sú ATmega8, nasledujú ATmega48, 16, 32, ATtiny2313 a ďalšie. Mikrokontroléry sa predávajú v baleniach TQFP a DIP, pre začiatočníkov odporúčam nákup v DIP. Ak si kúpite TQFP, bude problematickejšie ich flashovať, dosku si budete musieť kúpiť alebo prispájkovať, pretože ich nohy sú umiestnené veľmi blízko seba. Odporúčam vám nainštalovať mikrokontroléry v DIP baleniach na špeciálne zásuvky, je to pohodlné a praktické, nemusíte MK odpájať, ak ho chcete preflashovať alebo použiť na iný dizajn.
Takmer všetky moderné MK majú schopnosť in-circuit ISP programovanie, t.j. Ak je váš mikrokontrolér prispájkovaný k doske, potom za účelom zmeny firmvéru ho nebudeme musieť z dosky odpájať.
Na programovanie sa používa 6 pinov:
RESETOVAŤ- Prihláste sa MK
VCC- Plus napájanie, 3-5V, závisí od MK
GND- Spoločný vodič, mínus napájanie.
MOSI- vstup MK (informačný signál v MK)
MISO- MK výstup (informačný signál z MK)
SCK- MK vstup (hodinový signál v MK)
Niekedy používajú aj piny XTAL 1 a XTAL2; na tieto piny je pripevnený kremeň, ak je MK napájaný externým oscilátorom; v ATmega 64 a 128 sa piny MOSI a MISO nepoužívajú na programovanie ISP; namiesto toho sú piny MOSI pripojený na kolík PE0 a MISO na kolík PE1. Pri pripájaní mikrokontroléra k programátoru by mali byť prepojovacie vodiče čo najkratšie a kábel vedúci z programátora do LPT portu by tiež nemal byť príliš dlhý.
Označenie mikrokontroléra môže obsahovať zvláštne písmená s číslami, napríklad Atmega 8L 16PU, 8 16AU, 8A PU atď. Písmeno L znamená, že MK pracuje pri nižšom napätí ako MK bez písmena L, zvyčajne 2,7V. Čísla za pomlčkou alebo medzerou 16PU alebo 8AU označujú vnútornú frekvenciu generátora, ktorý je v MK. Ak sú poistky nastavené na prevádzku z externého kremeňa, kremeň by mal byť nastavený na frekvenciu nepresahujúcu maximum podľa údajového listu, čo je 20 MHz pre ATmega48/88/168 a 16 MHz pre ostatné atmegy.
Predpokladajme, že máte zadanú úlohu - nechať blikať LED.
Poďme diskutovať o tom, ako vyriešiť tento problém:
Možnosť 1 je najjednoduchšia, vezmite prepínač/tlačidlo, umiestnite vedľa neho otroka, ktorý pomocou prepínača zapne/vypne LED. V Rusku sa väčšina problémov zvyčajne rieši týmto spôsobom. A čo to bliká?)))
Možnosť 2 - zostavte multivibrátor. Už zaujímavejšie. Aby ste mohli blikať, jedna LED dióda je celkom dobré riešenie. Navyše je jednoduchý, lacný a spoľahlivý.
Možnosť 3 - zostaviť na mikrokontroléri. Drahšie ako montáž multivibrátora, ale podľa mňa jednoduchšie. Napísal som program, spustil ho a dostal som výsledok. Žiadne nastavenie. Samozrejme, toto je ideálny prípad.
Teraz poďme skomplikovať úlohu. Napríklad 5 LED diód a 5 možností ich blikania (rýchlosť a poradie ich blikania sa mení). Prvá možnosť okamžite zmizne, je možné vykonať metódu 2, ale veľkosť zariadenia sa prudko zväčší. Možnosť 3 zostane približne rovnaká, stačí pridať pár riadkov kódu. Preto existujú rôzne prípady, kedy to bez mikrokontroléra nie je možné a kedy je to zbytočné. Preto vždy odhadnite mzdové náklady, časové a finančné náklady.
Mikrokontrolér nám teda umožňuje flexibilne riadiť systémy, procesy a pod., má malé rozmery a z hľadiska funkčnosti je to minipočítač. Mikrokontroléry vyrábajú rôzne spoločnosti. Jedna z odrôd mikrokontrolérov AVR od spoločnosti Atmel. Prečo práve oni? V obchode sa dajú ľahko nájsť, je ľahké nájsť príklady hotového kódu, vstavaná funkčnosť vám umožňuje riešiť aj zložité problémy.
Aby mikrokontrolér pochopil, čo od neho chceme, musíme doň nahrať firmvér – postupnosť akcií, ktoré potrebuje vykonať. Firmvér je postupnosť jednotiek a núl. Aby to bolo pohodlnejšie, boli vynájdené programovacie jazyky. Napríklad napíšeme zapnúť a kompilátor to sám prevedie na postupnosť jednotiek a núl, ktorá je zrozumiteľná pre mikrokontrolér. Obrázok zobrazuje HEX firmvér, ak ho otvoríte pomocou poznámkového bloku.
Mikrokontroléry sú zvyčajne naprogramované v jazyku C alebo v assembleri. Celkovo nie je rozdiel v tom, na čo písať. Vzhľadom na veľké množstvo hotových príkladov som sa rozhodol v prospech C. Okrem toho existuje niekoľko programov, ktoré vám umožňujú písať v C. Napríklad bezplatné, značkové AVR Studio, CodeVision, WinAVR atď. Aj keď píšem v CodeVision, veľmi aktívne používam AVR Studio ako debugger.
Dúfam, že vám bolo aspoň niečo z toho jasné. Podľa mňa je najťažšie urobiť prvý krok. Ten, kto to urobí, prekoná svoj strach a svoju lenivosť, určite dosiahne výsledky. Veľa šťastia pri učení mikrokontrolérov.
Všetko pre štúdium a praktické programovanie mikrokontrolérov AVR: literatúra, softvér, obvody, návrhy
Dobré popoludnie, milí rádioamatéri!
Vitajte na stránke „“
Táto časť stránky je venovaná mikrokontroléry. Vzhľadom na osobné preferencie (nielen) bude hlavný dôraz kladený na amatérske rádiové zariadenia s mikrokontrolérmi Rodina AVR Tiny a Mega od spoločnosti ATMEL. Aj keď mikrokontroléry ATMEL nie sú najobľúbenejšie, majú niekoľko významných výhod, ktoré ich odlišujú od ostatných mikrokontrolérov. Okrem toho je rodina mikrokontrolérov AVR vďaka jednoduchosti a všestrannosti zariadení, kontinuite štruktúry pre rôzne typy ovládačov a jednoduchosti návrhu obvodu vhodná pre začínajúcich rádioamatérov. V budúcnosti sa na stránke plánuje publikovať sériu článkov zameraných najmä na začínajúcich rádioamatérov, s podrobnou štúdiou štruktúry a obvodových vlastností mikrokontrolérov AVR rodiny Tiny a Mega, použitia ich hlavných schopnosti a programovanie v assembleri.
Jednočipové mikrokontroléry sú široko používané v širokej škále oblastí: od meracích prístrojov, kamier a videokamier, tlačiarní, skenerov a kopírok až po produkty elektronickej zábavy a všetky druhy domácich spotrebičov.
Od uvedenia prvých mikroprocesorov v 70. rokoch 20. storočia sa ich zložitosť neustále zvyšovala zavádzaním nových hardvérových riešení a pridávaním nových inštrukcií určených na riešenie nových problémov. Takto sa postupne vyvíjala architektúra, ktorá neskôr dostala názov CISC (Complete Instruction Set Computers – počítače s komplexným súborom inštrukcií). Následne sa objavil ďalší smer a našiel aktívny vývoj: architektúra RISC (Reduced Instruction Set Computers - počítače s redukovanou sadou inštrukcií). Práve táto architektúra zahŕňa mikrokontroléry AVR od Atmel a PIC od Microchip, ktorým je venovaná táto kniha.
Hlavnou výhodou RISC procesorov je, že sú jednoduché, vykonávajú obmedzenú množinu inštrukcií a v dôsledku toho sú veľmi rýchle. To znižuje náklady a zložitosť ich programovania.
Negatívom architektúry RISC bola potreba vytvárať dodatočné inštrukcie v assembleri, ktoré sú implementované v hardvéri pre CISC zariadenia. Napríklad namiesto jednoduchého volania inštrukcie delenia, ktorá je typická pre zariadenia CISC, musí dizajnér zaoberajúci sa procesorom RISC použiť niekoľko sekvenčných inštrukcií na odčítanie. Táto nevýhoda je však viac než kompenzovaná cenou a rýchlosťou RISC zariadení. Okrem toho, ak vytvárate programy v C, potom takéto problémy prestávajú mať pre vývojára žiadny význam, pretože ich rieši kompilátor, ktorý automaticky generuje všetok chýbajúci montážny kód.
Na úsvite mikroprocesorov prebiehal vývoj softvéru výlučne v tom či onom jazyku symbolizácií zameraných na konkrétne zariadenie. Takéto jazyky boli v podstate symbolické mnemotechnické pomôcky zodpovedajúcich strojových kódov a preklad mnemotechnických pomôcok do strojového kódu vykonal prekladateľ. Hlavnou nevýhodou montážnych jazykov je však to, že každý z nich je viazaný na konkrétny typ zariadenia a logiku jeho fungovania. Okrem toho sa assembler ťažko učí, čo si vyžaduje pomerne veľa úsilia, čo sa navyše ukáže ako zbytočné, ak neskôr potrebujete prejsť na používanie mikrokontrolérov od iných výrobcov.
Jazyk C, keďže ide o vysokoúrovňový jazyk, nemá takéto nedostatky a možno ho použiť na programovanie akéhokoľvek mikroprocesora, pre ktorý existuje kompilátor C. V jazyku C sú všetky operácie na nízkej úrovni vykonávané počítačmi prezentované vo forme abstraktných konštrukcií, čo umožňuje vývojárom sústrediť sa na programovanie iba jednej logiky bez obáv zo strojového kódu. Keď sa naučíte C, môžete ľahko prejsť z jednej rodiny mikrokontrolérov do druhej a tráviť oveľa menej času vývojom.
Architektúra mikrokontrolérov AVR a PIC
Vo všeobecnosti sú všetky mikrokontroléry zostavené podľa rovnakej schémy. Riadiaci systém pozostávajúci z programového počítadla a dekódovacieho obvodu vykonáva čítanie a dekódovanie inštrukcií z pamäte programu a prevádzkové zariadenie je zodpovedné za vykonávanie aritmetických a logických operácií; I/O rozhranie umožňuje výmenu údajov s periférnymi zariadeniami; a nakoniec musíte mať pamäťové zariadenie na ukladanie programov a údajov (obr. 1.1).
Ryža. 1.1. Zovšeobecnená štruktúra mikrokontroléra
Budeme brať do úvahy mikrokontroléry vo všeobecnosti, bez toho, aby sme boli viazaní na akýkoľvek konkrétny typ mikrokontrolérov AVR, takže nižšie budeme brať do úvahy iba vlastnosti architektúry pamäte spoločné pre väčšinu mikrokontrolérov, problémy so vstupom/výstupom, manipulácia s prerušením, reset atď.
Pamäť mikrokontroléra AVR
V mikrokontroléroch AVR je pamäť implementovaná podľa Harvardskej architektúry, čo znamená oddelenie inštrukčnej a dátovej pamäte. To znamená, že k príkazom sa pristupuje nezávisle od prístupu k údajom. Výhodou tejto organizácie je zvýšenie rýchlosti prístupu do pamäte.
Dátová pamäť
Dátová pamäť je určená na zápis/čítanie údajov používaných programami. Je prchavý, to znamená, že ak sa vypne napájanie mikrokontroléra, všetky údaje v ňom uložené sa stratia. V mikrokontroléroch AVR má dátová pamäť v porovnaní s mikrokontrolérmi PIC rozvinutejšiu štruktúru, ako je znázornené na obr. 2.1.
Ryža. 2.1. Štruktúra dátovej pamäte v mikrokontroléroch AVR a PIC
Oblasť SRAM (Static Random Access Memory) je znázornená na obr. 2.1 je bodkovaný, pretože ho nepoužívajú všetky mikrokontroléry AVR (to platí pre interné aj externé SRAM). Jeho počiatočná adresa je 0x060 a jeho horná adresa sa líši od zariadenia k zariadeniu.
V niektorých mikrokontroléroch AVR môžete zväčšiť pamäťový priestor SRAM pripojením externých pamäťových blokov až na 64 KB, čo si však vyžaduje obetovanie portov A a C, ktoré sa v tomto prípade používajú na prenos údajov a adries.
Univerzálne registre
Oblasť registrov na všeobecné použitie (pracovné registre) je určená na dočasné ukladanie premenných a ukazovateľov používaných procesorom na vykonávanie programov. V mikrokontroléroch AVR sa skladá z 32 osembitových registrov (rozsah adries 0x000 - 0x01F). V mikrokontroléroch PIC sú všeobecné registre tiež osembitové, ale ich počet a rozsah adries závisí od konkrétneho typu zariadenia.
V programoch napísaných v C nie je zvyčajne potrebný priamy prístup k všeobecným registrom, pokiaľ sa nepoužíva kód jazyka symbolických inštancií.
Registre špeciálnych funkcií mikrokontroléra PIC
Špeciálne funkčné registre sa používajú v mikrokontroléroch PIC na riadenie rôznych operácií. Rovnako ako v prípade registrov na všeobecné použitie sa ich počet a adresovanie líši od zariadenia k zariadeniu. V programoch napísaných v C sa priamy prístup k registrom špeciálnych funkcií zvyčajne nevyžaduje, pokiaľ sa nepoužívajú fragmenty jazyka symbolických inštancií.
I/O oblasť mikrokontrolérov AVR
I/O oblasť mikrokontrolérov AVR obsahuje 64 registrov používaných na ovládanie alebo ukladanie údajov z periférnych zariadení. Ku každému z týchto registrov je možné pristupovať pomocou I/O adresy (začínajúcej na 0x000) alebo pomocou adresy SRAM (v takom prípade by sa k I/O adrese malo pridať 0x020). Programy C zvyčajne používajú konvenčné názvy I/O registrov a adresy majú význam iba pre programy v jazyku symbolických inštancií.
Názvy, I/O a SRAM adresy, ako aj stručný popis registrov z I/O oblasti mikrokontrolérov AVR sú uvedené v tabuľke. 2.1. Je potrebné poznamenať, že v rôznych modeloch mikrokontrolérov sa niektoré z uvedených registrov nepoužívajú a adresy nie sú uvedené v tabuľke. 2.1 sú vyhradené spoločnosťou Atmel pre budúce použitie.
Tabuľka 2.1. Popis registrov z I/O oblasti
Registrovať meno | I/O adresa | Adresa SRAM | Popis | |
ACSR | 0x08 | 0x28 | Riadenie analógového komparátora a stavový register | |
UBRR | 0x09 | 0x29 | Register prenosovej rýchlosti UART | |
UCR | 0x0A | 0x2A | UART riadiaci register transceivera | |
USR | 0x0V | 0x2V | Register stavu vysielača UART | |
UDR | 0х0С | 0x2С | Register údajov transceivera UART | |
SPCR | 0x0D | 0x2D | Register riadenia rozhrania SPI | |
SPSR | 0x0E | 0x2E | Register stavu rozhrania SPI | |
SPDR | 0x0F | 0x2F | SPI Data I/O Register | |
PIND | 0x10 | 0x30 | Kolíky portu D | |
DDRD | 0x11 | 0x31 | Register smeru údajov portu D | |
PORTD | 0x12 | 0x32 | Port D Data Register | |
PINC | 0x13 | 0x33 | Piny portu C | |
DDRC | 0x14 | 0x34 | Port C Data Direct Register | |
PORTC | 0x15 | 0x35 | Port C dátový register | |
PINB | 0x16 | 0x36 | Piny portu B | |
DDRB | 0x17 | 0x37 | Register smeru údajov portu B | |
PORTB | 0x18 | 0x38 | Port B Data Register | |
PINA | 0x19 | 0x39 | Piny portu A | |
DDRA | 0x1A | 0x3A | Register smeru údajov portu A | |
PORTA | 0x1V | 0x3V | Port A Data Register | |
EECR | 0x1С | 0x3С | Riadiaci register pamäte EEPROM | |
EEDR | 0x1D | 0x3D | EEPROM dátový register | |
EEARL | 0x1E | 0x3E | Register adries pamäte EEPROM (nízky bajt) | |
EEARH | 0x1F | 0x3F | Register adries pamäte EEPROM (vysoký bajt) | |
WDTCR | 0x21 | 0x41 | Watchdog Timer Control Register | |
ICR1L | 0x24 | 0x44 | ||
ICR1H | 0x25 | 0x45 | Register zachytávania časovača/počítadla T/C1 (nízky bajt) | |
OCR1BL | 0x28 | 0x48 | Porovnávací register B časovača T/C1 (dolný bajt) | |
OCR1BH | 0x29 | 0x49 | Porovnávací register B časovača T/C1 (vysoký bajt) | |
OCR1AL | 0x2A | 0x4A | Porovnávací register A časovača T/C1 (dolný bajt) | |
OCR1AH | 0x2V | 0x4V | Porovnávací register A časovača T/C1 (vysoký bajt) | |
TCNT1L | 0x2С | 0х4С | Počítací register časovača/počítadla T/C1 (nízky bajt) | |
TCNT1H | 0x2D | 0x4D | Počítací register časovača/počítadla T/C1 (vysoký bajt) | |
TCCR1B | 0x2E | 0x4E | Riadiaci register B časovača/počítadla T/C1 | |
TCCR1A | 0x2F | 0x4F | Riadiaci register A časovača/počítadla T/C1 | |
TCNT0 | 0x32 | 0x52 | Počítací register časovača/počítadla T/C0 | |
TCCR0 | 0x33 | 0x53 | Riadiaci register časovača/počítadla T/C0 | |
MCUCR | 0x35 | 0x55 | Riadiaci register mikrokontroléra | |
TIFR | 0x38 | 0x58 | Register príznaku prerušenia časovača/počítadla | |
TIMSK | 0x39 | 0x59 | Register maskovania prerušení časovača | |
GIFR | 0x3A | 0x5A | Všeobecný register príznakov prerušenia | |
GIMSK | 0x3V | 0x5V | Všeobecný register maskovania prerušení | |
SPL | 0x3D | 0x5D | Ukazovateľ zásobníka (nízky bajt) | |
SPH | 0x3E | 0x5E | Ukazovateľ zásobníka (vysoký bajt) | |
SREG | 0x3F | 0x5F | Stavový register |
Stavový register SREG mikrokontrolérov AVR
Stavový register obsahuje stavové príznaky mikrokontrolérov AVR a nachádza sa v I/O oblasti na adrese $3F (adresa SRAM je $5F). Po zadaní signálu reset sa inicializuje na nuly.