AVR programiranje. Programiranje AVR mikrokontrolera za početnike

Mikrokontroleri su mali, ali u isto vrijeme vrlo povoljno izbor za one koji žele stvoriti razne nevjerojatne robotske ili automatizirane stvari kod kuće. U okviru ovog članka, razmotrit će se programiranje AVR-a za početnike, različite aspekte i nijanse ovog procesa.

Opće informacije

avr programiranjeMikrokontroleri se mogu naći posvuda. Nalaze se u hladnjacima, perilicama, telefonima, alatnim strojevima u proizvodnji, pametnim kućama i mnogim drugim tehničkim uređajima. Njihova sveprisutna primjena je zbog mogućnosti zamjene složenijih i velikih krugova analognih uređaja. Programiranje AVR-a omogućuje vam samostalno upravljanje elektroničkim uređajima. Ti mikrokontroleri mogu biti predstavljeni kao jednostavno računalo koje može komunicirati s vanjskom opremom. Tako mogu otvoriti / zatvoriti tranzistore, primati podatke od senzora i prikazati ih na zaslonima. Također, mikrokontroleri mogu obavljati razne obrade ulaznih informacija poput osobnog računala. Ako programirate AVR od nule i postignete profesionalnu razinu, bit će gotovo neograničene mogućnosti upravljanja različitim uređajima pomoću ulaza / izlaza, kao i mijenjanje njihovog koda.

Malo o AVR-u

Programiranje u CU okviru članka razmatrat će se obitelj mikrokontrolera koje proizvodi Atmel. Oni imaju prilično dobre performanse, što im omogućuje da se koriste u mnogim amaterskim uređajima. Naširoko koristi u industriji. Možete se upoznati u ovoj tehnici:

  1. Kućanstva. Strojevi za pranje rublja, hladnjaci, mikrovalne pećnice i tako dalje.
  2. Mobitel. Roboti, sredstva komunikacije i tako dalje.
  3. Računarstva. Sustavi za upravljanje periferijskim uređajima, matične ploče.
  4. Zabava. Ornamenti i igračke za djecu.
  5. Prijevoz. Sigurnosni sustavi i upravljanje motorom.
  6. Industrijska oprema. Sustavi kontrole stroja.

To, naravno, nije sve sfere. Koriste se gdje je korisno koristiti skup upravljačkih mikročipova, ali jedan mikrokontroler. To je moguće zbog niske potrošnje energije i pojednostavljenu proizvodnju. Za pisanje programa koriste se C i Assembler, malo izmijenjeni za obitelj mikrokontrolera. Takva promjena nužna je zbog slabih računskih sposobnosti, koje se obično izračunavaju u desecima kilobajta. AVR programiranje bez učenja tih jezika nije moguće.

Kako dobiti prvi mikrokontroler?

Programiranje AVR-a zahtijeva:

  1. Prisutnost neophodnog razvojnog okruženja.
  2. Stvarni mikrokontroleri sami.

Druga će se točka detaljnije raspravljati. Postoje tri mogućnosti za stjecanje potrebnog uređaja:

  1. Kupite izravno mikrokontroler.
  2. Nabavite uređaj kao dio konstruktora (na primjer - Arduino).
  3. Sami sastavite mikrokontroler.

U prvom stavku nema ništa komplicirano pa ćemo ići izravno na drugi i treći.

Nabavite uređaj kao dio dizajera

tečajevi programiranjaKao primjer, izabrat će se slavni Arduino. Ovo je elektronički konstruktor, povoljna platforma za brzi i visokokvalitetni razvoj raznih elektroničkih uređaja. Arduino ploča uključuje određeni skup komponenti za rad (postoje različite konfiguracije). To nužno uključuje AVR kontroler. Taj vam pristup omogućuje brzo pokretanje razvoja uređaja, ne zahtijeva posebne vještine i vještine, ima značajne mogućnosti povezivanja dodatnih ploča, a na Internetu možete pronaći mnogo informacija o tim pitanjima. Ali ne bez utjecaja. Kupnja Arduina, osoba lišava priliku da dublje uronite u AVR programiranje, bolje znati mikrokontrolera, specifičnosti njegova rada. Također, relativno mala linija modela dodaje negativan, koji često zahtijeva kupnju ploča za određene zadatke. Posebnost je i činjenica da programiranje na "SI" ovdje se jako razlikuje od standardnog oblika. Usprkos svim nedostatcima, Arduino je pogodan za upoznavanje početnike. Ali nemoj zlostavljati.

zbor



Valja napomenuti da su AVR mikrokontroleri vrlo prihvatljivi za početnike. Možete ih prikupiti s pristupačnim, jednostavnim i jeftinim priborom. Ako govorimo o profesionalcima, tada vam ovaj pristup omogućuje bolje upoznavanje s uređajem, sami odabirete potrebne dijelove, podešavajući konačni rezultat prema postavljenim zahtjevima, korištenju standardnih programskih jezika i jeftinosti. Od minusa možemo zabilježiti samo složenost samouprave, kada se provodi po prvi put, a nema potrebnih znanja i vještina.

Kako raditi?

programi za programiranje avrRecimo da je problem s mikrokontrolerom riješen. Nadalje, smatrat će se da je kupljen ili kupljen samostalno. Što još trebate naučiti AVR programiranje? U tu svrhu potrebna vam je razvojna okolina (uobičajeni notepad je prikladan kao osnova, no preporučujem da se zaustavi Notepad ++). Iako postoje i drugi programi za programiranje AVR-a, određena sigurnost može se nositi sa svim zahtjevima. Programer je također potreban. Može se kupiti u obližnjoj trgovini, naručiti online ili samostalno prikupljati. Nemojte ometati i tiskati pločicu. To nije neophodno, ali njegova uporaba vam omogućuje da spasite živce i vrijeme. Također su kupili / stvorili samostalno. A posljednji je izvor energije. Za AVR potrebno je napajanje od 5V.

Gdje i kako naučiti?

Stvaranje remek-djela od nule ne radi. To zahtijeva znanje, iskustvo i praksu. Ali gdje ih dobiti? Postoji nekoliko načina. U početku, možete posjedovati tražiti pravu informaciju u globalnoj mreži. Možete pisati za tečajeve programiranja (udaljenost ili puno radno vrijeme) da biste dobili osnovne vještine. Svaki pristup ima svoje prednosti. Dakle, daljinsko programiranje tečajevi će biti jeftiniji, a možda i besplatno. Ali ako se ne dobije nešto, onda je puno radno vrijeme doživio programer će biti u mogućnosti pronaći problem brže. Isto tako, nema štete će biti upoznati s literaturom koja je slobodno dostupna. Naravno, za neke knjige da ide neće raditi, ali da bi dobili osnovna znanja o uređaju, programiranje „SI”, „monter” i drugim radnim bodova moguće.

I / O priključci

programiranje av AvrOvo je izuzetno važna tema. Bez razumijevanja kako I / O portovi rade, uopće nije moguće programirati AVR programiranje u sklopu. Uostalom, interakcija mikrokontrolera s vanjskim uređajima provodi se upravo njihovim posredovanjem. Na prvi pogled, početnik može misliti da je luka prilično zbunjujući mehanizam. Kako bismo izbjegli takav dojam, nećemo detaljno razmotriti shemu njegova djela, ali samo dobiti opću ideju o tome. Razmotrite implementaciju softvera. Kao primjer uređaja izabran je mikrokontroler AtMega8 - jedan od najpopularnijih od cijele obitelji AVR. I / O port su tri registra koja su odgovorna za njegov rad. Na fizičkoj razini, oni se ostvaruju kao noge. Svaki od njih odgovara određenom bitu u kontrolnom registru. Svaka noga može raditi i za unos informacija, kao i za izlaz. Na primjer, može objesiti funkciju osvjetljavanja LED-a ili obrade gumba. Usput, tri registra, koji su spomenuti, su: PORTx, PINx i DDRx. Svaki od njih je osam bitnih (ne zaboravite da razmatramo AtMega8). To jest, jedan dio se bavi određenom nogu.

Rad registara

Najznačajniji u smislu orijentacije je upravitelj DDRx-a. Također je osam bita. Vrijednosti za to mogu biti napisane 0 ili 1. Kako kontrolor radi kada koristite nula i one? Ako podesite 0 u određeni bit, odgovarajuća stopica će se prebaciti na način unosa. A pomoću nje možete pročitati podatke koji dolaze od vanjskih uređaja. Ako je postavljen na 1, mikrokontroler će moći kontrolirati nešto (na primjer, dati nalog tranzistoru da preskoči napon i LED zasvijetli). Druga najvažnija je PORTx. Uključen je u upravljanje nogu. Pogledajmo primjer. Recimo da imamo izlazni priključak. Ako postavimo logičku jedinicu u PORTx, signal iz mikrokontrolera šalje se upravljačkom uređaju za početak rada. Na primjer, upalite LED. Prilikom podešavanja nulte će se ugasiti. To znači da ne treba trajno raditi s upraviteljem DDRx registra. I konačno, razgovarajmo o PINxu. Taj je registar odgovoran za prikaz statusa podnožja kontrolera kad je postavljen na ulazno stanje. Valja napomenuti da PINx može raditi samo u načinu rada za čitanje. Napiši ga ne radi. Ali ovdje da pročitate trenutno stanje nogu - to nije problem.

Radite s analogima

AVR nisu jedini mikrokontroleri. Ovo tržište je podijeljeno između nekoliko velikih proizvođača, kao i između više uređaja i Kinezi koji simuliraju domaće proizvode. U mnogočemu su slični. Na primjer, PIC / AVR programiranje nije puno drugačija. A ako postoji razumijevanje jedne stvari, onda će biti lako razumjeti sve drugo. Ali način za početak preporučuje se svi isto sa AVR zbog svoje strukture nadležne, prijateljski programer i velikog broja pomoćnih materijala, zbog čega je proces razvoja može uvelike ubrzati.

Mjere opreza

programiranje u krugu avrKada programirate AVR mikrokontrolere na "SI" ili "Assembler", potrebno je vrlo pažljivo raditi. Činjenica je da postavljanjem određene kombinacije registara i mijenjanjem internih postavki možete sigurno zaključati mikrokontroler. To se osobito odnosi na žrtve. Ako nema pouzdanja u ispravnost svojih postupaka, bolje je napustiti njihovu upotrebu. Isto vrijedi i za programere. Ako kupite tvorničku opremu, onda će bljesnuti mikrokontrolera bez problema. Kada se sami sastavlja, može se pojaviti tužna situacija u kojoj će programer zaključati uređaj. To se može dogoditi i zbog pogreške u programskom kodu i zbog kvara u njemu. Usput, još jedan (ovaj put pozitivan) trenutak, koji je prethodno spomenut u prolazu, ali nije u potpunosti otkriven. Sada gotovo svi moderni mikrokontroleri imaju funkciju programiranja u sklopu. Što to znači? Recimo da je uređaj bio lemljen na ploči. A da biste promijenili svoj firmware, sada ga nije potrebno ispariti, jer takva smetnja može oštetiti sam mikrokontroler. Dovoljno je povezati se s odgovarajućim izlazima i reprogramirati ih vlastitim sredstvima.

Koji model odabrati?

U okviru članka, razmatran je AtMega8. Ovo je prilično osrednji mikrokontroler za svoje karakteristike, što je ipak dovoljno za većinu rukotvorina. Ako postoji želja da stvorimo nešto masivno, onda možemo izvesti već originalna čudovišta poput Atmega128. Ali oni su dizajnirani za iskusnije programere. Stoga, ako nema dovoljno iskustva, bolje je započeti s malim i jednostavnim uređajima. Osim toga, oni su mnogo jeftiniji. Slažem se, jedna je stvar slučajno blokirati mikrokontrolera za stotinu rubalja, a sasvim drugo - za pola tisuća. Bolje je napuniti ruku i razumjeti različite aspekte funkcioniranja kako ne bi gubio značajne iznose kasnije. U početku možete započeti s AtMega8 i već se kretati po vašim potrebama.

zaključak

programiranje slika avrTo je tema programiranja AVR-a u najopćenitijim uvjetima. Naravno, možete reći puno više o tome. Tako se npr. Označavanje mikrokontrolera nije uzelo u obzir. I puno može reći. Dakle, u osnovi mikrokontroleri rade na naponu od 5V. Dok prisutnosti, na primjer, slovo L može se reći da je za rad uređaja treba samo 2,7 V. Kao što možete vidjeti, ponekad znanje o označavanju mogao igrati vrlo važnu ulogu u smislu ispravan i dugotrajan rad uređaja. Vrijeme funkcioniranja mikrokontrolera je također zanimljiva tema. Svaki uređaj je dizajniran za određeno razdoblje. Dakle, neki mogu raditi tisuću sati. Drugi imaju marginu od 10.000!

Dijelite na društvenim mrežama:

Povezan
Modularno programiranjeModularno programiranje
Strukturirana programiranjeStrukturirana programiranje
Mikrokontroleri - što je ovo?Mikrokontroleri - što je ovo?
Gromov programer: imenovanje, opisGromov programer: imenovanje, opis
USB programer (AVR): opis, svrhaUSB programer (AVR): opis, svrha
Arduino Uno: oznaka, opis platformeArduino Uno: oznaka, opis platforme
Znanstveno istraživanje operacija pomoću matematičkih metodaZnanstveno istraživanje operacija pomoću matematičkih metoda
PIC programer: opis, svrha uređajaPIC programer: opis, svrha uređaja
Let`s shvatiti kako napraviti programer svoje rukeLet`s shvatiti kako napraviti programer svoje ruke
Arduino za početnike: upute za korak po korak. Programiranje i projekti Arduino: gdje početi?Arduino za početnike: upute za korak po korak. Programiranje i projekti Arduino: gdje početi?
» » AVR programiranje. Programiranje AVR mikrokontrolera za početnike
LiveInternet