IN предишна статия показахме как да програмираме ATtiny45 и ATtiny85 чипове. Ако имате нужда от повече портове или комуникационни интерфейси, можете също да използвате микроконтролера ATmega328 за вашия дизайн - същият като в дъската за разработка на Arduino. Можете да отстраните грешки в програмата и свързването на периферни устройства на Arduino и след това да програмирате микроконтролера на печатната платка на вашата конструкция. Питате защо да не използвате Arduino директно, защото е евтин? Ако няма значение размерите и икономичната работа, тогава защо не. Но дизайнът директно с чипа може да бъде значително по-малък, по-лек и ще има значително по-ниска консумация на енергия. Типичната консумация на ток на Arduino е 50 mA, тъй като има и схеми за програмиране през USB. Консумацията на самия чип е около 15 mA и ако използвате библиотеката, за да превключите на енергоспестяващи режими, тогава значително по-ниска.
Процедура за програмиране на ATmega328:
ATmega 328
За просто опаковане или запояване приемаме, че чипът ATmega328P е в DIL (Dual In Lina) калъф с 28 терминала, разположени по 14 от всяка страна. В кутията има и чип за повърхностен монтаж, но той изисква умения при запояване и не може да се използва в областта на свързване.
Ако опишем веригата, разположена на ширина с клема 1 в долния ляв ъгъл, тогава в горния ред терминали отляво е:
- A6-A0 е 6 пина, които също функционират като аналогови входни входове
- GND, т.е. електрическо заземяване или минус полюс, когато работи на захранване от батерията
- AREF и AVCC
- D13-D9 - цифрови щифтове
В долния ред отляво има щифтове:
- RST - сигнал за нулиране
- RX и TX - щифтове за серийна комуникация. Те могат да функционират и като цифрови щифтове 0 и 1.
- D2-D4 цифрови щифтове
- VCC захранващо напрежение 5V
- GND електрическо заземяване
- XTL 1 и 2 - терминали за свързване на външен кристал от 16 MHz. Не е необходимо да го свързвате, когато използвате вътрешния генератор
- D5-D8 цифрови щифтове
Повечето щифтове имат и алтернативни функции като сигнали от комуникационния интерфейс.
Arduino като програмист за ATmega
За да използвате отделно чипа ATmega 328, трябва да заредите програма в него. Като програмист можете да използвате всеки Arduino и да го свържете към изводите на микроконтролера с няколко проводника. Трябва да се свържете:
За да програмирате, трябва да се свържете:
Свържете 10 uF електролитен кондензатор между RESET и GND щифтовете на Arduino. Плюсният полюс на кондензатора е свързан към RESET. Свържете останалите щифтове според таблицата:
Таблицата показва както портове, така и ПИН кодове, т.е. в случай на Arduino номерирането на системния конектор, а в случай на интегрална схема ATmega неговите "крака".
За да наблюдавате работата на програмиста, можете, но не е необходимо да свързвате три светодиода към щифтовете Arduino:
- PIN7 - мига по време на програмиране на подчинен микроконтролер.
- PIN8 - сигнализира за грешка.
- PIN9 - Мига с затъмняване с PWM I сигнализира, че програмистът е функционален
Конфигурация на средата за разработка на Arduino IDE
Ако не сте инсталирали Arduino IDE, изтеглете го на https://www.arduino.cc в раздела Софтуер. Предлага се за платформи Windows, Mac OS и Linux. Средата за разработка не е инсталирана, вие изтегляте приложението директно от Интернет, поставяте го в подходяща директория в Windows и го копирате от директорията Downloaded в директорията Applications на платформата Mac OS. В новия MacOS Catalina трябва да разрешите на приложение на трета страна да работи.
Поддръжката за отделна верига AT Mega 328P трябва да бъде добавена към средата за разработка. Изтеглите от страници файлове за поддръжка, по-специално ТУК. В директорията, където са проектите на Arduino IDE, по подразбиране е C: \ Users \ UserName \ Documents \ Arduino създайте хардуерна папка и копирайте разширената папка на макет от изтегления архив, където са зареждащият и конфигурационният файл.
След стартирането на Arduino IdE ще откриете, че нов елемент за веригата ATmega 328 ще бъде добавен към менюто Инструменти/Табла.
За да използвате Arduino като програмист за отделна верига ATmega, стартирайте средата за разработка на Arduino IDE и отворете примера Файл> Примери> ArduinoISP. Качете тази програма в Arduino. Не е нужно да се занимавате с това как работи програмата, това е просто инструмент за качване на код в микроконтролера ATmega.
Първо, необходимо е да заредите буутлоудъра в микроконтролера, т.е. буутлоудъра, използвайки менюто Инструменти> Burn Bootloader. Микроконтролерът, независимо дали е ATtiny или ATmega, има фабрична флаш памет, напълно празна за потребителския код. Производителят приема, че веригата ще бъде програмирана с помощта на специален програмист. В Arduino, а също и в нашите връзки обаче, ние програмираме микроконтролера, свързан във веригата, т.е. използваме метода ISP (In-System Programmer). Това позволява програмирането на микроконтролера чрез сериен интерфейс. Във флаш паметта има специален код, наречен буутлоудър, разположен в края на паметта. Местоположението на потребителския код се приема в началото на паметта. След нулирането се стартира буутлоудър, който открива дали на щифтовете на серийния интерфейс е пристигнала специална последователност от символи, което сигнализира, че ще бъде програмирана. Ако е така, буутлоудърът чете данни от серийния интерфейс и програмира флаш паметта с него.
Да предположим, че имате програма за ATmega в средата за разработка, като примерна линия от примерното меню, която мига светодиод, модифициран да мига светодиод на изход, като D8, който е последният в долния ред на интегрирания верижни клеми.
- Nextech IoT практически - Микро бит, превключващ каквото и да е и променящ посоката на въртене на двигателя
- Нетипичен спорт, който стана популярен сред моделите Крехките красавици изхвърлят излишните калории
- ТЕСТИХМЕ за вас Ние знаем кое прясно сирене е НАЙ-ДОБРО
- Тествахме Honor 7 пъти, един фин джентълмен, който ще бъде изненадан
- Невероятно! 12-годишно момче, което е въплъщение на Фреди Меркюри! Радио Експрес