AVR programiranje. Programiranje mikrokrmilnikov AVR za začetnike
Mikrokrmilniki so majhni, hkrati pa so zelo primerne naprave za tiste, ki želijo ustvariti različne neverjetne robotske ali avtomatske stvari doma. V okviru tega članka se bo upoštevalo načrtovanje AVR za začetnike, različne vidike in nianse tega procesa.
Vsebina
Splošne informacije
Mikrokrmilniki so na voljo povsod. So v hladilnikih, pralnih strojih, telefonih, proizvodnih strojih, pametnih hišah in številnih drugih tehničnih napravah. Njihova navidezna uporaba je posledica možnosti zamenjave bolj zapletenih in obsežnih analognih tokokrogov naprav. Programiranje AVR omogoča samostojno kontrolo nad elektronskimi napravami. Ti mikrokontrolerji so lahko predstavljeni kot preprost računalnik, ki lahko deluje z zunanjo opremo. Torej, lahko odprejo / zapirajo tranzistorje, sprejemajo podatke s senzorjev in jih prikazujejo na zaslonih. Poleg tega lahko mikrokrmilniki opravljajo različne obdelave vhodnih informacij, kot je osebni računalnik. Če obvladate programiranje AVR iz nič in dosežete profesionalno raven, bodo praktično neomejene možnosti za nadzor različnih naprav z vhodno / izhodnimi priključki in spreminjanje njihove kode.
Malo o AVR
V okviru članka bo upoštevana družina mikrokontrolerjev, ki jih je izdelal Atmel. Imajo precej dobre rezultate, kar jim omogoča uporabo v številnih amaterskih napravah. Veliko se uporablja v industriji. V tej tehniki se lahko srečate:
- Gospodinjstvo. Pralni stroji, hladilniki, mikrovalovne pečice in tako naprej.
- Mobile. Roboti, komunikacijska sredstva in tako naprej.
- Računsko. Sistemi za upravljanje perifernih naprav, matične plošče.
- Zabavno. Okraski in otroške igrače.
- Prevoz. Varnostni sistemi in upravljanje motorjev.
- Industrijska oprema. Strojni nadzorni sistemi.
To seveda ni vse sfere. Uporabljajo se tam, kjer je koristno, da ne uporabljate nizov krmilnih mikrovezij, temveč enega mikrokrmilnika. To je mogoče zaradi nizke porabe energije in poenostavljena proizvodnja. Za pisanje programov uporabljamo C in Assembler, nekoliko spremenjeno za družino mikrokontrolerjev. Takšna sprememba je potrebna zaradi šibkih računskih zmogljivosti, ki so običajno izračunane v desetinah kilobajtov. Programiranje AVR brez učenja teh jezikov ni mogoče.
Kako priti do prvega mikrokrmilnika?
Programiranje AVR zahteva:
- Prisotnost potrebnega razvojnega okolja.
- Dejanski mikrokontrolerji sami.
Druga točka bo podrobneje obravnavana. Obstajata tri možnosti za pridobitev zahtevane naprave:
- Nakup neposredno mikrokrmilnik.
- Pridobite napravo kot del konstruktorja (na primer - Arduino).
- Sestavite mikrokrmilnik sami.
V prvem odstavku ni nič zapletenega, zato bomo šli neposredno na drugo in tretjo.
Pridobite napravo kot del oblikovalca
Kot primer bo izbran znani Arduino. To je elektronski konstruktor, s polnim delovnim časom priročno platformo za hiter in visokokakovosten razvoj različnih elektronskih naprav. Arduino plošča vključuje določen sklop komponent za delo (obstajajo različne konfiguracije). Obvezno vključuje AVR-krmilnik. Ta pristop vam omogoča, da hitro začnete razvijati napravo, ne potrebujete posebnih veščin in spretnosti, ima znatne priložnosti za povezovanje dodatnih plošč in na internetu lahko najdete veliko informacij o vprašanjih. Ampak ne brez. Nakup Arduino, oseba se ne more več poglobiti v AVR-programiranje, bolje poznati mikrokrmilnika, posebnosti njegovega dela. Tudi sorazmerno majhna vrsta modelov dodaja negativno, kar pogosto zahteva nakupne plošče za določene naloge. Posebnost je tudi dejstvo, da se programiranje na "SI" tukaj precej močno razlikuje od standardne oblike. Kljub vsem pomanjkljivostim je Arduino primeren za raziskovanje začetnikov. Ampak ne zlorabljajte.
Samogradnja
Treba je opozoriti, da AVR mikrokontrolerji so precej prijazni do začetnikov. Lahko jih sami nabirate s cenovno dostopnimi, preprostimi in poceni dodatki. Če govorimo o profesionalnih strokovnjakih, vam ta pristop omogoča, da se bolje seznanite z napravo, sami izberete potrebne komponente, prilagodite končni rezultat zahtevam, uporabite standardne programske jezike in poceni. Od minusov lahko samo ugotavljamo kompleksnost samonastave, ko jo prvič izvedemo in ni potrebnega znanja in spretnosti.
Kako delati?
Torej, recimo, da je bilo vprašanje z mikrokrmilnikom rešeno. Nadalje se bo štelo, da je bilo kupljeno ali kupljeno samostojno. Kaj še morate naučiti programiranja AVR? V ta namen potrebujete razvojno okolje (običajno beležko je primerna kot osnova, vendar priporočam, da se zaustavite na Notepad ++). Čeprav obstajajo še drugi programi za programiranje AVR-ja, se lahko ta varnost obvlada z vsemi zahtevami. Potreben je tudi programator. Lahko ga kupite v bližnji trgovini, naročite na spletu ali zbirate neodvisno. Ne moti in tiskanega vezja. Ni nujno, vendar njegova uporaba vam omogoča, da shranite živce in čas. Kupili / ustvarili tudi neodvisno. In zadnji je vir energije. Za AVR je potrebno zagotoviti napetost 5V.
Kje in kako se učiti?
Ustvarite mojstrovine iz nič, ne deluje. Zahteva znanje, izkušnje in prakso. Kje pa jih lahko dobite? Obstaja več načinov. Na začetku lahko samostojno iščete potrebne podatke v globalnem omrežju. Za programiranje tečajev (oddaljenost ali polni delovni čas) lahko napišete osnovna znanja. Vsak pristop ima svoje prednosti. Torej, tečaji na daljavo bodo cenejši in morda brezplačni. Toda če se nekaj ne izkaže, se lahko v osebnih sejah izkušeni razvijalec hitro najde vzrok problema. Prav tako ni odveč, da se seznanite z literaturo, ki je v prostem dostopu. Seveda v nekaterih knjigah ne morete zapustiti, lahko pa dobite osnovno znanje o napravi, programiranju na "SI", "Assembler" in drugih delovnih trenutkih.
V / I vrata
To je izredno pomembna tema. Ne da bi razumeli, kako delujejo I / O porti, sploh ni mogoče programirati programiranja AVR-vezja. Konec koncev, interakcija mikrokrmilnika z zunanjimi napravami poteka natančno s svojim posredovanjem. Na prvi pogled lahko začetnik misli, da je pristanišče precej zmeden mehanizem. Da bi se izognili takemu vtisu, ne bomo natančno preučili sheme njegovega dela, temveč le splošno razumeti to. Razmislite o izvedbi programske opreme. Kot primer naprave smo izbrali mikrokrmilniška AtMega8 - ena 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 uresničujejo kot noge. Vsak od njih ustreza določenemu bitu v kontrolnem registru. Vsaka noga lahko dela tako za vnos podatkov kot za njeno proizvodnjo. Na primer, lahko visi funkcijo osvetlitve LED ali obdelave gumba. Mimogrede, trije registri, ki so bili omenjeni, so: PORTx, PINx in DDRx. Vsak od njih je osemkratni (ne pozabite, da razmišljamo o AtMega8). To pomeni, da je en bit vključen v določeno nogo.
Delo registrov
Najpomembnejši v smislu usmeritve je upravitelj DDRx. Prav tako je osemkrat. Vrednosti za to lahko napišemo 0 ali 1. Kako krmilnik deluje pri uporabi ničel in tistih? Če v določenem bitu nastavite 0, se ustrezna stopala preklopi v način vnosa. In s tem lahko preberete podatke, ki prihajajo iz zunanjih naprav. Če je nastavljen na 1, bo mikrokrmilnik lahko nadzoroval nekaj (na primer, naročite tranzistorju, da preskoči napetost in zasveti LED). Druga najpomembnejša je PORTx. Sodeluje pri upravljanju noge. Poglejmo si primer. Recimo, da imamo izhodno vrata. Če nastavimo logično enoto v PORTx, se signal, ki ga oddaja mikrokrmilnik, pošilja kontrolni napravi, da začne delovati. Na primer, zasvetite LED. Ko nastavite nič, se ugasne. To pomeni, da ni potrebno delati z upraviteljem registra DDRx stalno. In končno, govorimo o PINxu. Ta register je odgovoren za prikaz stanja noge krmilne enote, kadar je nastavljen na vhodno stanje. Opozoriti je treba, da lahko PINx deluje le v načinu branja. Napišite, da ne deluje. Ampak tukaj, da preberete trenutno stanje nog - to ni problem.
Delo z analogami
AVR niso edini mikrokontrolerji. Ta trg je razdeljen med več velikimi proizvajalci, pa tudi med številnimi kitajskimi imitacijskimi napravami in domačimi predmeti. V mnogih pogledih so podobni. Na primer, programiranje PIC / AVR ni veliko drugačno. In če obstaja razumevanje ene stvari, potem bo vse drugo razumljivo razumljivo. Priporočamo pa, da začnete potovanje z AVR zaradi svoje pristojne strukture, prijaznosti do razvijalca in razpoložljivosti velikega števila pomožnih materialov, zaradi česar je razvojni proces veliko hitrejši.
Varnostni ukrepi
Pri programiranju mikrokrmilnikov AVR na "SI" ali "Assembler" je potrebno delovati zelo previdno. Dejstvo je, da lahko z nastavitvijo določene kombinacije registrov in spreminjanjem notranjih nastavitev varno zaklenete mikrokrmilnik. To velja zlasti za fuzije. Če ni nobenega zaupanja v pravilnost svojih dejanj, je bolje, da opustijo njihovo uporabo. Enako velja za programerje. Če kupite tovarniško opremo, bo brez težav prišla do mikrokrmilnikov. Pri sestavljanju sami lahko pride do žalostne situacije, v kateri bo programer zaklenil napravo. To se lahko zgodi zaradi napake v programski kodi in zaradi okvare v njem. Mimogrede, približno še en (tokrat pozitiven) trenutek, ki je bil prej omenjen v prehodu, vendar ni bil v celoti razkrit. Zdaj skoraj vsi sodobni mikrokontrolerji imajo funkcijo vgrajenega programiranja. Kaj to pomeni? Recimo, da je bila naprava spajkana na krovu. In za spremembo svoje strojne programske opreme, zdaj ni potrebno, da ga izhlapi, ker takšne motnje lahko poškodujejo sam mikrokrmilnik. Dovolj je povezati z ustreznimi izhodi in reprogramirati z lastnimi sredstvi.
Kateri model naj izberejo?
V okviru članka je bil upoštevan AtMega8. To je precej osrednji mikrokrmilnik za svoje značilnosti, ki pa je kljub temu dovolj za večino obrti. Če obstaja želja po ustvarjanju kaj ogromnega, potem lahko vzamemo že izvirne pošasti, kot je Atmega128. Vendar so namenjeni bolj izkušenim razvijalcem. Zato, če ni dovolj izkušenj, je bolje začeti z majhnimi in preprostimi napravami. Poleg tega so veliko cenejši. Strinjam se, da je ena stvar slučajno blokirati mikrokrmilnik za sto rubljev, in še nekaj drugega - za pol tisoč. Bolje je, da napolnite roko in razumete različne vidike delovanja, da ne bi kasneje izgubili znatnih zneskov. Na začetku lahko začnete z AtMega8, nato pa že krmarite glede na vaše potrebe.
Zaključek
To je tema programiranja AVR v najbolj splošnih pogojih. Seveda lahko veliko poveš o tem. Tako na primer, označevanje mikrokrmilnikov ni bilo upoštevano. Veliko lahko rečemo. Torej, v bistvu mikrokontrolerji delujejo pri napetosti 5V. Medtem ko prisotnost, na primer črke L, lahko reče, da je za delovanje naprave dovolj samo 2,7 V. Kot lahko vidite, včasih lahko znanje o označevanju igra pomembno vlogo pri pravilnem in trajnem delovanju naprav. Zanimiva tema je tudi čas delovanja mikrokrmilnikov. Vsaka naprava je zasnovana za določeno obdobje. Torej, nekateri lahko delajo tisoč ur. Drugi imajo stopnjo 10.000!
- Objektno programiranje
- Mikrokontroleri - kaj je to?
- USB-programmer (AVR): opis, namen
- Arduino Uno: oznaka, opis platforme
- Znanstveno raziskovanje operacij z uporabo matematičnih metod
- Programator PIC: opis, namen naprave
- Kaj je programiranje? Programiranje za začetnike
- Arduino za začetnike: korak za korakom navodila. Programiranje in projekti Arduino: kje začeti?
- Programiranje mikrokontrolerjev za začetnike: enostaven in dostopen
- PIC krmilnik. Programiranje PIC-krmilnikov. Sheme PIC-krmilnikov
- Z lastnimi rokami: `Arduino` - elektronski konstruktor
- Programiranje za Android: kako začeti ustvarjati svoje aplikacije in igre?
- Android: programiranje za začetnike
- Mikrokrmilniki Atmega8. Programiranje Atmega8 za začetnike
- Kateri programski jezik naj izberem za začetnika za učenje
- Dinamično programiranje, osnovna načela
- Nelinearno programiranje je ena od sestavin matematičnega programiranja
- Linearno programiranje
- Matematično programiranje je pravi način za najboljšo odločitev
- Kaj je zdravilo Arduino in kako ga uporabljati?
- Organizacija in načrtovanje proizvodnje: upravljanje logističnih stroškov v podjetju