Programovanie AVR. Programovanie mikrokontrolérov AVR pre začiatočníkov

Mikrokontroléry sú malé, ale zároveň veľmi pohodlné zariadenia pre tých, ktorí chcú vytvoriť rôzne úžasné robotizované alebo automatizované veci vo svojom dome. V tomto článku sa bude brať do úvahy programovanie AVR pre začiatočníkov, rôzne aspekty a nuansy tohto procesu.

Všeobecné informácie

Mikrokontroléry sa dajú nájsť všade. Sú v chladničkách, práčkach, zariadeniach, obrábacích strojoch vo výrobe, v chytrých domácnostiach a dokonca aj v mnohých rôznych technických zariadeniach. Ich rozšírené použitie je spôsobené možnosťou nahradenia zložitejších a rozsiahlejších analógových obvodových zariadení. Programovanie MC AVR umožňuje samostatné ovládanie elektronických zariadení. Tieto mikrokontroléry môžu byť reprezentované ako najjednoduchší počítač, ktorý môže komunikovať s externým hardvérom. Áno, sú schopní otvárať /zatvárať tranzistory, prijímať dáta zo senzorov a zobrazovať ich na obrazovkách. Mikroprocesory môžu tiež vykonávať rôzne spracovanie vstupných informácií, podobne ako osobné počítače. Ak zvládnete programovanie AVR od začiatku a dosiahnete úroveň profesionála, potom budú mať prakticky neobmedzené možnosti na správu rôznych zariadení cez I /O porty, rovnako ako na zmenu ich kódu.


Trochu o AVR

V rámci článku sa vezme do úvahy rodina mikrokontrolérov vyrábaných firmou Atmel. Majú dosť dobrý výkon, čo im umožňuje používať ich mnohíamatérske zariadenia. Široko používaný v priemysle. Môžete sa stretnúť v nasledujúcich technikách:
  • Domáce. Práčky, chladničky, mikrovlnné rúry a ďalšie.
  • mobilné. Práce, komunikačné zariadenia atď.
  • Výpočtové. Systémy riadenia periférnych zariadení, základné dosky.
  • Zábavné. Ozdoby a detské hračky.
  • Doprava. Bezpečnostné systémy a ovládanie motora vozidla.
  • Priemyselné zariadenia. Riadiace systémy obrábacích strojov.
  • Toto samozrejme nie sú všetky sféry. Používajú sa tam, kde je výhodné nepoužívať sadu kontrolných čipov, ale jeden mikrokontrolér. Je to možné z dôvodu nízkej spotreby energie a zjednodušenej výroby. Pri písaní programov sa používajú jazyky C a Assembler, trochu modifikované pre rodinu mikrokontrolérov. Takéto zmeny sú potrebné z dôvodu slabých výpočtových schopností, ktoré sa obyčajne počítajú v desiatkach kilobajtov. Programovanie AVR bez učenia sa týchto jazykov nie je možné.


    Ako získať prvý mikrokontrolér?

    Programovanie AVR vyžaduje:
  • Dostupnosť požadovaného vývojového prostredia.
  • Vlastne mikrokontroléry samotné.
  • Druhý bod je podrobnejšie rozpracovaný. Existujú tri možnosti na získanie potrebného zariadenia:
  • Kúpiť priamo mikrokontrolér sám.
  • Získajte zariadenie v dizajne (napríklad - Arduino).
  • Zozbierajte mikrokontrolér sami.
  • V prvom odseku nie je nič zložité, takže okamžite prejdite na druhý a tretí.

    Získaniezariadenie v dizajne

    Ako príklad bude vybraný známy Arduino. Je to elektronický dizajnér, ktorý je kombináciou vhodnej platformy pre rýchly a vysokokvalitný vývoj rôznych elektronických zariadení. Doska Arduino obsahuje určitú sadu komponentov pre prácu (existujú rôzne konfigurácie). Musí mať regulátor AVR. Tento prístup vám umožňuje rýchlo začať s vývojom zariadenia, nevyžaduje špeciálne zručnosti, má významné možnosti pri pripájaní ďalších dosiek, ale aj na internete, nájdete veľa informácií o tejto otázke. Ale nebolo to bez nevýhod. Kúpou Arduina, človek sa zbaví možnosti hlbšieho ponorenia do programovania AVR, je lepšie poznať mikrokontrolér, špecifiká jeho práce. Tiež negatívne a pridáva relatívne úzky rad modelov, kvôli ktorým často musia kúpiť radu pre konkrétne úlohy. Ďalšou vlastnosťou je, že programovanie "SI" sa tu výrazne líši od štandardného formulára. Napriek všetkým nevýhodám je Arduino vhodný pre začiatočníkov. Ale nemali by ste zneužívať.

    Nezávislá montáž

    Treba poznamenať, že mikrokontroléry AVR sú dostatočne priaznivé pre nových používateľov. Môžete ich zbierať nezávisle od cenovo dostupných, jednoduchých a lacných komponentov. Ak hovoríme o výhodách, potom vám tento prístup umožní oboznámiť sa s prístrojom, nezávisle vybrať potrebné komponenty, prispôsobiť konečný výsledok požiadavkám, používať štandardné programovacie jazyky a lacnosť. Z minus môžete poznamenaťiba zložitosť nezávislej zbierky, keď sa vykonáva po prvýkrát, a nie sú potrebné znalosti a zručnosti.

    Ako pracovať?

    Takže predpokladajme, že záležitosť s mikrokontrolérom sa rozhodla. Predpokladá sa, že bol kúpený alebo kúpený samostatne. Čo je ešte potrebné na zvládnutie programovania AVR? Na tento účel potrebujete vývojové prostredie (ako základ a obvyklý notebook je vhodný, ale doporučujem sa zabudnúť na Notepad ++). Aj keď existujú iné programovacie aplikácie AVR, toto uistenie bude schopné splniť všetky požiadavky. Potrebujete tiež programátora. Môžete ho zakúpiť v najbližšom obchode, objednať online alebo sami vyzdvihnúť. Neovplyvňuje dosku s plošnými spojmi. Nie je to potrebné, ale jeho použitie vám umožňuje ušetriť nervy a čas. Tiež zakúpené /vytvorené sami. A posledný je zdrojom energie. Pre AVR je potrebné poskytnúť prítok 5V.

    Kde a ako študovať?

    Vytvorte majstrovské diela od začiatku. Vyžaduje vedomosti, skúsenosti a prax. Ale kde ich dostať? Existuje niekoľko spôsobov. Spočiatku môžete nezávisle vyhľadávať informácie, ktoré potrebujete na World Wide Web. Môžete napísať na kurzy programovania (vzdialenosť alebo oko), aby získali základné zručnosti. Každý prístup má svoje vlastné výhody. Áno, vzdialené programovacie kurzy budú lacnejšie a možno zadarmo. Ak však niečo nevyjde, potom v lekcii v lekcii skúsený vývojár bude schopný rýchlo nájsť príčinu problému. Tiež nie je zbytočné sa zoznámiť s literatúrou, ktorá je v slobodnomPrístup. Samozrejme, jedna kniha neopustí, ale základné znalosti o prístroji, programovanie "SI", "Assembler" a iné pracovné momenty je možné získať.

    Vstupné /výstupné porty

    Toto je mimoriadne dôležitá téma. Bez pochopenia toho, ako fungujú I /O porty, programovanie AVR nie je možné vo všeobecnosti. Koniec koncov, interakcia mikrokontroléra s externými zariadeniami sa uskutočňuje presne prostredníctvom ich sprostredkovania. Na prvý pohľad sa nováčik môže zdať, že port je pomerne komplikovaný mechanizmus. Aby sme sa vyhli takémuto dojmu, nebudeme podrobne preskúmať plán jeho práce, ale získať len všeobecnú predstavu o nej. Zvážte realizáciu programu. Ako príklad zariadenia bolo vybrané mikrokontrolér AtMega8, jeden z najpopulárnejších z celej rodiny AVR. I /O port predstavuje tri registre, ktoré sú zodpovedné za jeho prevádzku. Na fyzickej úrovni sú implementované ako nohy. Každý z nich zodpovedá určitému bitu riadiaceho registra. Každá noha môže pracovať tak na zadávanie informácií, ako aj na ich výstup. Môže napríklad zavesiť funkciu zapálenia diódy vyžarujúcej svetlo alebo spracovanie dotykového tlačidla. Mimochodom, tri zmienené registre sú PORTx, PINx a DDRx. Každý z nich je osembitový (nezabudnite, že zvažujeme AtMega8). To znamená, že jedna časť sa zaoberá určitou nohou.

    Registrácia práce

    Správca DDRx je najdôležitejší z hľadiska zacielenia. Je to tiež osembitové. Hodnoty preňho sa dajú zapísať 0 alebo 1. Ako sa pri používaní zmien regulátora menínuly a jednotky? Ak nastavíte 0 na určitý bit, príslušná noha sa prepne do prihlasovacieho režimu. A z neho bude možné prečítať údaje prichádzajúce z externých zariadení. Ak nastavíte hodnotu 1, mikrokontrolér bude môcť ovládať niečo (napr. Dávať tranzistorom príkazy na preskočenie napätia a rozsvietenie LED). Druhým najdôležitejším je PORTx. Je zodpovedný za stav nohy. Pozrime sa na príklad. Predpokladajme, že máme výstupný port. Ak nastavíme logickú jednotku na PORTx, potom sa od začiatku odošle signál z riadiaceho mikrokontroléra. Napríklad rozsvieti LED. Keď sú nuly nastavené, zaniká. To znamená, že nie je potrebné vždy pracovať s správcom registra DDRx. A nakoniec poďme hovoriť o PINx. Tento register je zodpovedný za zobrazenie stavu ramena kontroléra, keď je konfigurovaný na vstupný stav. Treba poznamenať, že PINx funguje iba v režime iba na čítanie. Nahrávanie nebude fungovať. Ale z prečítania aktuálneho stavu nohy - to nie je problém.

    Práca s analógmi

    AVR nie je jediný mikrokontrolér. Tento trh je rozdelený medzi niekoľkých veľkých výrobcov, ako aj početné čínske imitujúce zariadenia a remeselné spracovanie. V mnohých ohľadoch sú podobné. Programovanie PIC /AVR sa napríklad veľmi nelíši. A ak je niečo pochopené, potom všetko ostatné bude ľahké pochopiť. Aj napriek tomu odporúčame začať s AVR vďaka svojej kompetentnej štruktúre, dobrej vôli developerovi a dostupnosti veľkého množstva pomocných materiálov, vďaka čomu môže byť vývojový proces výrazne urýchlený.

    Bezpečnostné technológie

    Pri programovaní mikrokontrolérov AVR na "SI" alebo "Assembler" je potrebné pracovať veľmi opatrne. Faktom je, že tým, že uvediete určitú kombináciu registrov a zmeníte vnútorné nastavenia, môžete bezpečne zamknúť mikrokontrolér. To platí najmä pre fjuzy. Ak si nie ste istí správnosťou svojich krokov, je lepšie odmietnuť ich použitie. To isté platí pre programátorov. Ak si kúpite továrenské zariadenie, potom bez problémov upevní mikrokontroléry. Pri zostavovaní vlastných rúk môže nastať smutná situácia, v ktorej programátor zablokuje zariadenie. To sa môže stať z dôvodu chýb v programovom kóde a kvôli problémom v samotnom programe. Mimochodom, o ďalšom (tentokrát pozitívnom) momente, ktorý bol spomenutý krátko, ale nebol úplne zverejnený. Teraz prakticky všetky moderné mikrokontroléry majú funkciu programovania v rámci obvodu. Čo to znamená? Predpokladajme, že zariadenie bolo zapečatené na doske. A zmeniť svoj firmware, teraz ho nepotrebujete piť, pretože takýto zásah môže poškodiť samotný mikrokontrolér. Stačí stačiť na príslušné závery a preprogramovať ich sprostredkovaním.

    Ktorý model si vyberiete?

    V rámci tohto článku bol zvážený AtMega8. Je to dosť priemerný mikrokontrolér, ktorý však stačí na väčšinu produktov. Ak existuje túžba vytvoriť niečo veľké, už môžete mať nejaké príšery ako Atmega128. Ale sú určené pre skúsenejšíchvývojári. Preto, ak nie je k dispozícii dostatok skúseností, je najlepšie začať s malých a jednoduchých zariadení. Okrem toho, že sú oveľa lacnejšie. Súhlasiť, jedna vec, ktorú náhodne zablokovať mikroradič pre sto rubľov, a niečo úplne iné - za päťsto. Lepšie naplniť ruku a pochopiť rôzne aspekty, ktoré v budúcnosti nedošlo k strate značné množstvo. Po prvé, môžete začať s ATmega8 a potom sa sústrediť na ich potreby.

    stanovisko

    To téma bolo prerokované programovanie AVR v najvšeobecnejšej rovine. Samozrejme, že veľa môže byť povedané. Tak, napríklad, nebol považovaný mikroprocesory označovania. A to má veľa čo povedať. Takže v podstate mikroprocesory pracujú pri napätí 5V. Kým prítomnosť, napríklad písmeno L možno povedať, že pre dané zariadenie potrebovať iba 27 Článok. Ako vidíte, niekedy aj znalosť označenie môže hrať dôležitú úlohu, pokiaľ ide o správne a trvanlivých zariadení. Prevádzka mikroprocesory - je tiež zaujímavé tému. Každá jednotka je určená pre určité obdobie. Áno, niektoré z nich môžu pracovať tisíce hodín. Iní majú záručnú rezervu 10,000!

    Súvisiace publikácie