muzruno.com

Програмиране на AVR. Програмиране на микроконтролери AVR за начинаещи

Микроконтролерите са малки, но в същото време много удобни устройства за тези, които искат да създадат различни удивителни роботизирани или автоматизирани неща у дома. В рамките на тази статия ще бъде обмислено планирането на AVR за начинаещи, различни аспекти и нюанси на този процес.

Обща информация

avr програмиранеМикроконтролери могат да бъдат намерени навсякъде. Те са в хладилници, перални машини, телефони, производствени машини, интелигентни къщи и много други технически устройства. Тяхното повсеместно приложение се дължи на възможността за замяна на по-сложни и широкомащабни схеми за аналогови устройства. Програмирането на AVR ви позволява да осигурите автономен контрол върху електронните устройства. Тези микроконтролери могат да бъдат представени като прост компютър, който може да взаимодейства с външно оборудване. Така че те могат да отварят / затварят транзистори, да получават данни от сензори и да ги показват на екрани. Също така, микроконтролерите могат да извършват различни обработки на входната информация като персонален компютър. Ако овладеете програмирането на AVR от нулата и достигнете професионално ниво, тогава ще има практически неограничени възможности за управление на различни устройства, използващи входно / изходни портове, както и промяна на техния код.

Малко за AVR

Програмиране на СВ рамките на статията ще бъдат разгледани семействата на микроконтролери, произведени от Atmel. Те имат доста добро представяне, което им позволява да бъдат използвани в много аматьорски устройства. Широко използвани в индустрията. Можете да се срещнете в тази техника:

  1. Домакински. Перални машини, хладилници, микровълнови фурни и т.н.
  2. Mobile. Роботи, средства за комуникация и т.н.
  3. Computing. Системи за управление на периферни устройства, дънни платки.
  4. Entertainment. Орнаменти и детски играчки.
  5. Транспорта. Системи за сигурност и управление на двигателите.
  6. Промишлено оборудване. Машинни системи за управление.

Това, разбира се, не е всички сфери. Те се използват, когато е полезно да се използва не набор от управляващи микросхеми, а един микроконтролер. Това е възможно поради ниската консумация на енергия и опростено производство. За писане на програми, C и Assembler се използват, леко модифицирани за семейство микроконтролери. Тази промяна е необходима поради слабите изчислителни възможности, които обикновено се изчисляват на десетки килобати. Програмирането на AVR без изучаването на тези езици не е възможно.

Как да получите първия ви микроконтролер?

Програмирането на AVR изисква:

  1. Наличие на необходимата среда за развитие.
  2. Действителните микроконтролери самите.

Вторият елемент ще бъде разгледан по-подробно. Има три възможности за придобиване на необходимото устройство:

  1. Купете директно микроконтролера.
  2. Вземете устройство като част от конструктора (например - Arduino).
  3. Сглобете микроконтролера сами.

В първия параграф няма нищо сложно, така че ще отидем директно на втория и третия.

Вземете устройство като част от дизайнера

програмиране курсовеКато пример, ще бъде избран известният Ардуин. Това е електронен конструктор, удобна за почасова работа платформа за бързо и висококачествено разработване на различни електронни устройства. Arduino борда включва определен набор от компоненти за работа (има различни конфигурации). Това задължително включва AVR-контролер. Този подход ви позволява бързо да започнете да разработвате устройството, не изисква специални умения и умения, има значителни възможности за свързване на допълнителни табла, а в интернет можете да намерите много информация за въпросите. Но не без противници. Изкупуването на Ардуино, човек лишава себе си от възможността да се впусне по-дълбоко в AVR програмирането, да познава по-добре микроконтролера, спецификата на работата си. Също така, сравнително малка част от моделите добавя негативно, което често изисква купуване на бордове за конкретни задачи. Особеност е и фактът, че програмирането на "SI" тук се различава доста силно от стандартната форма. Въпреки всички недостатъци, Arduino е подходящ за проучване на начинаещи. Но не злоупотребявайте.

монтаж

Трябва да се отбележи, че микроконтролерите AVR са доста приятелски настроени към начинаещите. Можете да ги съберете сами с достъпни, прости и евтини аксесоари. Ако говорим за професионалистите, този подход ви позволява да се запознаете по-добре с устройството, да изберете сами необходимите компоненти, да адаптирате крайния резултат към представените изисквания, използването на стандартни езици за програмиране и евтините. От минусите можем да обърнем внимание само на сложността на самосъбранието, когато се извършва за пръв път и няма необходимите знания и умения.

Как да работите?



програми за програмиране на AVRТака че, да речем, че проблемът с микроконтролера е решен. Освен това ще се счита, че е закупено или закупено независимо. Какво още трябва да научите за програмирането на AVR? За тази цел ви е необходима среда за разработка (обичайният бележник е подходящ за основа, но препоръчвам да спрете на Notepad ++). Въпреки че има други програми за програмиране на AVR, дадена сигурност може да се справи с всички изисквания. Програмист също е необходима. Може да бъде закупен в близък магазин, поръчан онлайн или събран самостоятелно. Не се намесвайте и печатни платки. Това не е необходимо, но използването му ви позволява да спасите нервите и времето си. Също така са закупени / създадени самостоятелно. И последният е източник на енергия. За AVR, е необходимо да се осигури напрежение от 5V.

Къде и как да науча?

Създаването на шедьоври от самото начало не работи. Тя изисква знания, опит и практика. Но къде да ги вземем? Има няколко начина. Първоначално можете самостоятелно да търсите необходимата информация в глобалната мрежа. Можете да пишете за курсове по програмиране (на разстояние или на пълно работно време), за да получите основни умения. Всеки подход има своите предимства. Така че курсовете за програмиране на разстоянията ще бъдат по-евтини, а може би и безплатни. Но ако нещо не се случи, тогава в сесия "лице в лице" един опитен разработчик може бързо да намери причината за проблема. Също така не е излишно да се запознаете с литературата, която е в свободен достъп. Разбира се, в някои книги не можете да си тръгвате, но можете да получите основни познания за устройството, програмиране на "SI", "Assembler" и други работни моменти.

I / O портове

програмиране avvrТова е изключително важна тема. Без да разберем как функционират входно-изходните портове, не е възможно да програмирате въвеждане на AVR в схемата изобщо. В крайна сметка взаимодействието на микроконтролера с външни устройства се извършва точно с тяхното посредничество. На пръв поглед начинаещият може да мисли, че пристанището е доста объркващ механизъм. За да избегнем такова впечатление, няма да разгледаме подробно схемата на неговата работа, а само ще получим обща представа за това. Обмислете внедряване на софтуер. Като пример за устройството беше избран микроконтролерът AtMega8 - един от най-популярните от цялото семейство на AVR. I / O портът е трите регистри, които отговарят за неговата работа. На физическо ниво те се реализират като крака. Всеки от тях съответства на определен брой в контролния регистър. Всеки крак може да работи както за въвеждане на информация, така и за изход. Например, тя може да виси функция за осветяване на светодиода или обработка на бутона. Между другото, три регистри, които бяха споменати, са: PORTx, PINx и DDRx. Всеки от тях е осем-битов (не забравяйте, че обмисляме AtMega8). Това означава, че един брат се занимава с определен крак.

Работа по регистрите

Най-значимо по отношение на ориентацията е мениджърът на DDRx. Той също е осем-битов. Стойностите за него могат да бъдат написани на 0 или 1. Как функционира контролерът при използване на нули и такива? Ако зададете 0 за конкретен бит, съответното стъпало ще бъде превключено към входния режим. И с него можете да прочетете данните, които идват от външни устройства. Ако е настроен на 1, микроконтролерът ще може да контролира нещо (например да даде заповед на транзистора да пропусне напрежението и да светне светодиода). Вторият по важност е PORTx. Той участва в управлението на крака. Нека да разгледаме един пример. Да приемем, че имаме изходен порт. Ако настроим логическото устройство в PORTx, тогава сигналът от микроконтролера ще бъде изпратен на контролния уред, за да започне работа. Например, осветете светодиода. Когато настройвате нула, тя ще бъде погасена. Това означава, че няма нужда да работите постоянно с мениджъра на регистъра на DDRx. И накрая, нека да поговорим за PINx. Този регистър отговаря за показването на състоянието на стъпалото на контролера, когато е зададен в състояние на вход. Трябва да се отбележи, че PINx може да работи само в режим на четене. Напишете го не работи. Но тук, за да прочетете текущото състояние на краката - това не е проблем.

Работа с аналози

AVR не са единствените микроконтролери. Този пазар е разделен между няколко големи производители, както и между множество китайски имитации и домашно приготвени стоки. В много отношения те са подобни. Например, програмирането на PIC / AVR не е много по-различно. И ако има едно разбиране за едно нещо, тогава ще бъде лесно да се разбере всичко останало. Но ние препоръчваме да започнете пътуването с AVR благодарение на неговата компетентна структура, приятелски настроение към разработчика и наличието на голям брой спомагателни материали, което прави процеса на разработване много по-бърз.

Мерки за безопасност

програмиране във верига avrПри програмирането на AVR микроконтролери на "SI" или "Assembler", е необходимо да работите много внимателно. Факт е, че чрез задаване на определена комбинация от регистри и промяна на вътрешните настройки, можете безопасно да заключите микроконтролера. Това важи особено за фъзесите. Ако няма увереност в правилността на действията им, е по-добре да се откаже от тяхното използване. Същото важи и за програмистите. Ако купувате фабрично оборудване, то ще мига без проблеми микроконтролерите. Когато се монтирате сами, може да възникне тъжна ситуация, при която програмистът ще заключи устройството. Това може да се случи както поради грешка в програмния код, така и поради неизправност в него. Между другото, още един (този момент положителен) момент, който беше споменат по-рано, но не беше напълно разкрит. Сега почти всички съвременни микроконтролери имат функция за програмиране в електрически вериги. Какво означава това? Да кажем, че устройството е било споявано на дъската. И за да смените фърмуера, сега не е необходимо да го изпарявате, защото такава намеса може да повреди самия микроконтролер. Достатъчно е да се свържете със съответните изходи и да ги препрограмирате със собствени средства.

Кой модел да изберем?

В рамките на статията беше разгледана AtMega8. Това е доста посредствен микроконтролер за неговите характеристики, който въпреки това е достатъчен за повечето занаяти. Ако има желание да създадем нещо масивно, тогава можем да вземем вече оригинални чудовища като Atmega128. Но те са предназначени за по-опитни разработчици. Ето защо, ако няма достатъчно опит, по-добре е да започнете с малки и прости устройства. Освен това те са много по-евтини. Съгласен съм, че е едно нещо случайно да блокира микроконтролера за сто рубли, а съвсем друго - за половин хиляда. По-добре е да попълните ръката си и да разберете различните аспекти на функционирането, за да не загубите значителни суми по-късно. Първоначално можете да започнете с AtMega8, а след това вече да навигирате според вашите нужди.

заключение

програмиране pic avrТова е темата за програмиране на AVR в най-общи линии. Разбира се, можете да кажете много повече за това. Така например, маркирането на микроконтролерите не беше взето предвид. И това може да се каже много. Така че, основно микроконтролери работят при напрежение от 5V. Като има предвид присъствието на, например, буквата L може да се каже, че за работата на устройството, е необходимо само 2,7 V. Както можете да видите, понякога познаване на етикета може да изиграе много важна роля по отношение на правилното и дълготрайно функциониране на устройствата. Времето за функциониране на микроконтролерите също е интересна тема. Всяко устройство е проектирано за определен период от време. Така че, някои могат да работят хиляди часа. Други имат марж от 10 000!

Споделяне в социалните мрежи:

сроден