Programiranje AVR. Programiranje AVR mikrokontrolerjev za začetnike

Mikrokontrolerji so majhni, a hkrati zelo priročni pripomočki za tiste, ki želijo ustvariti različne neverjetne robotizirane ali avtomatizirane stvari na domu. V tem članku bomo obravnavali AVR programiranje za začetnike, različne vidike in nianse tega procesa.

Splošne informacije

Mikrokontrolerje lahko najdete povsod. So v hladilnikih, pralnih strojih, napravah, strojnih orodjih v proizvodnji, pametnih domovih in celo v različnih tehničnih napravah. Njihova razširjena uporaba je posledica zamenjave kompleksnejših in obsežnejših analognih vezij. Programiranje MC AVR omogoča avtonomno krmiljenje elektronskih naprav. Ti mikrokrmilniki so lahko predstavljeni kot najlažji računalnik, ki lahko komunicira z zunanjo strojno opremo. Da, lahko odpirajo /zapirajo tranzistorje, sprejemajo podatke iz senzorjev in jih prikazujejo na zaslonih. Prav tako lahko mikrokrmilniki izvajajo različne obdelave vhodnih informacij, podobno kot osebni računalnik. Če obvladujete programiranje AVR-ja iz nič in dosežete raven strokovnjaka, potem bodo praktično neomejene možnosti za upravljanje različnih naprav prek vhodno-izhodnih vrat in spreminjanje njihove kode.


Malo o AVR

V članku bo obravnavana družina mikrokontrolerjev proizvajalca Atmel. Imajo precej dobre rezultate, ki jim omogočajo, da jih mnogi uporabljajoamaterske naprave. Pogosto se uporablja v industriji. Srečate se lahko v naslednjih tehnikah:
  • Domača. Pralni stroji, hladilniki, mikrovalovne pečice in drugo.
  • Mobilno. Dela, komunikacijske zmogljivosti itd.
  • Računalniška. Sistemi za upravljanje perifernih naprav, matične plošče.
  • Zabavno. Okraski in otroške igrače.
  • Prevoz. Varnostni sistemi in nadzor motorja avtomobila.
  • Industrijska oprema. Kontrolni sistemi za strojna orodja.
  • To seveda niso vse sfere. Uporabljajo se tam, kjer je koristno, če ne uporabljamo niza kontrolnih čipov, ampak enega mikrokrmilnika. To je mogoče zaradi nizke porabe energije in poenostavljene proizvodnje. Za pisanje programov uporabljamo jezike C in Assembler, nekoliko spremenjene za družino mikrokontrolerjev. Take spremembe so potrebne zaradi šibkih računalniških zmogljivosti, ki se običajno izračunajo v desetih kilobajtih. Programiranje AVR brez učenja teh jezikov ni mogoče.


    Kako priti do prvega mikrokrmilnika?

    Programiranje AVR zahteva:
  • razpoložljivost zahtevanega razvojnega okolja.
  • Pravzaprav sami mikrokontrolerji.
  • Druga točka je podrobneje obravnavana. Obstajajo tri možnosti za pridobitev potrebne naprave:
  • neposredno kupite mikrokrmilnik.
  • Pri oblikovalcu dobite napravo (na primer - Arduino).
  • Mikrokontroler zberite sami.
  • V prvem odstavku ni nič zapletenega, zato takoj pojdite na drugo in tretje.

    Pridobitenaprava pri oblikovalcu

    Kot primer bo izbran znani Arduino. To je elektronski oblikovalec, kombinacija priročne platforme za hiter in kakovosten razvoj različnih elektronskih naprav. Arduino plošča vključuje določen nabor komponent za delo (obstajajo različne konfiguracije). Imeti mora krmilnik AVR. Ta pristop vam omogoča, da hitro začnete razvoj naprave, ne zahteva posebnih veščin, ima pomembne zmogljivosti v smislu povezovanja dodatnih plošč, kot tudi na internetu, lahko najdete veliko informacij o vprašanju. Ampak to ni bilo brez slabosti. Z nakupom Arduina se človek prikrajša za možnost globljega potopitve v programiranje AVR, bolje je poznati mikrokrmilnik, specifike njegovega dela. Tudi negativno in dodaja relativno ozko linijo modelov, zaradi česar je pogosto treba kupiti odbor za posebne naloge. Druga značilnost je, da se programiranje "SI" tukaj zelo razlikuje od standardne oblike. Kljub vsem slabostim je Arduino primeren za začetnike. Ampak ne smete zlorabljati.

    Neodvisno sestavljanje

    Opozoriti je treba, da so mikrokrmilniki AVR dovolj prijazni do novincev. Lahko jih zberete neodvisno od cenovno ugodnih, preprostih in poceni komponent. Če govorimo o prednostih, potem vam ta pristop omogoča spoznavanje naprave, samostojno izbiro potrebnih komponent, prilagajanje končnega rezultata zahtevam, uporabo standardnih programskih jezikov in poceni. Od minusov, ki jih lahko opazišsamo zapletenost samostojne zbirke, ko se izvede prvič, in ni potrebnega znanja in spretnosti.

    Kako delati?

    Predpostavimo torej, da se je zadeva z mikrokontrolerjem odločila. Potem se predpostavlja, da je bilo kupljeno ali kupljeno neodvisno. Kaj je še potrebno za obvladovanje programiranja AVR? V ta namen potrebujete razvojno okolje (kot podlago in običajen prenosnik je primeren, vendar vam priporočam, da se obrnete na Notepad ++). Čeprav obstajajo druge aplikacije za programiranje AVR, bo to zagotovilo lahko izpolnilo vse zahteve. Potrebujete tudi programerja. Kupite ga lahko v najbližji trgovini, naročite preko spleta ali sami. Ne moti tiskanega vezja. To ni potrebno, toda njegova uporaba vam omogoča, da prihranite živce in čas. Prav tako kupite /ustvarite sami. In zadnji je vir energije. Za AVR je treba zagotoviti dotok 5V.

    Kje in kako študirati?

    Ustvarjanje mojstrovin iz nič ne ugasne. Zahteva znanje, izkušnje in prakso. Ampak kam jih najti? Obstaja več načinov. Najprej lahko samostojno iščete informacije, ki jih potrebujete, na svetovnem spletu. Lahko pišete na programskih tečajih (razdalja ali oči), da pridobite osnovne spretnosti. Vsak pristop ima svoje prednosti. Da, tečaji za oddaljeno programiranje bodo cenejši in morda brezplačno. Ampak, če nekaj ne gre ven, potem na lekciji lekcije izkušeni razvijalec bo lahko hitro najdejo vzrok problema. Prav tako ni odveč spoznati literature, ki je v prostemdostop Seveda ena knjiga ne bo zapustila, vendar je mogoče pridobiti osnovno znanje o napravi, programiranju "SI", "asemblerju" in drugih trenutkih dela.

    Vhodna /izhodna vrata

    To je zelo pomembna tema. Brez razumevanja delovanja I /O vrat, programiranje AVR na splošno ni mogoče. Navsezadnje se interakcija mikrokrmilnika z zunanjimi napravami izvede prav s posredovanjem. Na prvi pogled se lahko zdi, da je pristanišče precej zapleten mehanizem. Da bi se izognili takšnemu vtisu, ne bomo podrobno preučevali sheme njegovega dela, temveč le dobili splošno predstavo o njem. Razmislite o realizaciji programa. Kot primer naprave je bil izbran mikrokontroler AtMega8, eden izmed najbolj priljubljenih v celotni družini AVR. Vhodno /izhodna vrata so trije registri, ki so odgovorni za njegovo delovanje. Na fizični ravni se izvajajo kot noge. Vsak od njih ustreza določenemu bitu kontrolnega registra. Vsaka noga lahko deluje tako za vnos informacij kot za izhod. Na primer, lahko obesi funkcijo vžiga svetleče diode ali obdelavo tipk na dotik. Mimogrede, omenjeni trije registri so PORTx, PINx in DDRx. Vsak od njih je osem bitov (ne pozabite, da razmišljamo o AtMega8). To pomeni, da se en bit ukvarja z določeno nogo.

    Registracija dela

    Upravitelj DDRx je najpomembnejši v smislu ciljanja. Prav tako je osem bit. Vrednosti za to lahko zapišemo 0 ali 1. Kako se spremeni delo krmilnika pri uporabiničle in enote? Če nastavite 0 na določen bit, se bo ustrezna noga preklopila na način prijave. Iz nje bo mogoče brati podatke, ki prihajajo iz zunanjih naprav. Če nastavite 1, potem bo mikrokrmilnik lahko nekaj kontroliral (na primer, da naroči tranzistorju, da preskoči napetost in prižge LED). Drugi najpomembnejši je PORTx. On je odgovoren za stanje noge. Poglejmo primer. Recimo, da imamo izhodna vrata. Če logično enoto nastavimo na PORTx, pošljemo signal mikrokrmilnika krmilnika za začetek. Na primer, zasveti LED. Ko so nastavljene ničle, se ugasne. To pomeni, da ni treba vedno delati z upraviteljem registrov DDRx. In končno se pogovorimo o PINxu. Ta register je odgovoren za prikaz stanja noge krmilnika, ko je konfiguriran za stanje vhoda. Opozoriti je treba, da lahko PINx deluje samo v načinu samo za branje. Za snemanje ne bo delovalo. Toda od branja trenutnega stanja nog - to ni problem.

    Delo z analogi

    AVR ni edini mikrokontroler. Ta trg je razdeljen med več velikih proizvajalcev, kot tudi številne kitajske naprave za posnemanje in izdelavo. V mnogih pogledih so podobni. Na primer, programiranje PIC /AVR se ne razlikuje veliko. In če obstaja razumevanje nečesa, potem bo vse ostalo enostavno razumljivo. Vendar pa še vedno priporočamo, da začnete z AVR-jem zaradi njegove kompetentne strukture, dobre volje do razvijalca in razpoložljivosti velikega števila pomožnih materialov, zaradi katerih se lahko proces razvoja znatno pospeši.

    Varnostna tehnologija

    Pri programiranju AVR mikrokontrolerjev na "SI" ali "Assembler" je potrebno zelo skrbno delo. Dejstvo je, da z namestitvijo določene kombinacije registrov in spreminjanjem notranjih nastavitev lahko varno zaklenete mikrokontroler. To še posebej velja za fjuze. Če niste prepričani o pravilnosti svojih dejanj, je bolje zavrniti njihovo uporabo. Enako velja za programerje. Če kupite tovarniško opremo, potem bo mikrokontroler utrl brez težav. Ko sestavljate svoje roke, se lahko zgodi, da bo programer blokiral napravo. To se lahko zgodi zaradi napak v programski kodi in zaradi težav v njej. Mimogrede, o drugem (tokrat pozitivnem) trenutku, ki smo ga prej na kratko omenili, vendar še ni v celoti razkrit. Zdaj imajo skoraj vsi sodobni mikrokontrolerji funkcijo programiranja znotraj tokokrogov. Kaj to pomeni? Predpostavimo, da je bila naprava zapečatena na plošči. In če želite spremeniti svojo strojno-programsko opremo, je sedaj ni treba piti, ker lahko takšna intervencija poškoduje sam mikrokrmilnik. Dovolj je, da se povežemo z ustreznimi zaključki in jih reprogramiramo z njihovim posredovanjem.

    Kateri model naj izberem?

    V okviru članka je bila obravnavana AtMega8. To je precej povprečen mikrokontroler, ki pa je dovolj za večino izdelkov. Če želite ustvariti nekaj velikega, lahko že vzamete kakšne pošasti, kot je Atmega128. Vendar pa so namenjeni bolj izkušenimrazvijalcem. Če torej ni dovolj izkušenj, je bolje začeti z majhnimi in enostavnimi napravami. Poleg tega so veliko cenejši. Strinjate se, ena stvar je, da naključno blokirate mikrokrmilnik za sto rubljev, in čisto drugo - za pol tisoč. Bolje je, da napolnite roko in razumete v različnih vidikih delovanja, tako da v prihodnosti ne izgubite pomembnih vsot. Najprej lahko začnete z AtMega8 in nato poiščete svoje potrebe.

    Sklep

    Torej je bila tema AVR programiranja obravnavana na najbolj splošen način. Seveda je še veliko za pogovor. Tako na primer ni bilo upoštevano označevanje mikrokontrolerjev. In lahko ima veliko za povedati. Da, v bistvu mikrokontrolerji delujejo pri napetosti 5V. Medtem ko je prisotnost, na primer, črka L lahko rečemo, da je za napravo dovolj le 27 Art. Kot lahko vidite, lahko včasih poznavanje označevanja igra zelo pomembno vlogo v smislu pravilnega in trajnega delovanja naprav. Tudi čas delovanja mikrokontrolerjev je zanimiva tema. Vsaka naprava je zasnovana za določeno obdobje. Da, nekateri delajo tisoč ur. Drugi imajo garancijo 10.000!

    Sorodne publikacije