Емуляція проекту на мк avr в програмі proteus
Напевно, багато хто з Новомосковсктелей даного сайту хотіли б самостійно розробити і зібрати який-небудь пристрій на МК AVR. Але причин, за якими це важко зробити в залозі, може бути маса. Наприклад, проживання в сільській місцевості, де немає радіомагазині з великим вибором радіодеталей. Хоча в такому випадку, як завжди, нам приходить на допомогу сайт Алі експрес. Або обмеженість бюджету. Особливо це актуально для школярів і студентів, які ще не мають постійного джерела доходу.
Так як же бути в такому випадку? Тут на допомогу нам приходять спеціальні програми-симулятори, спеціально створені для налагодження схем.
Одну з них, Proteus версію 7.7, ми і розберемо в цій статті стосовно нашого проекту. Завантажити її можна на рутрекере.
Що ж нам дає ця програма? Початківці подумають, що вона занадто складна для освоєння. Ні це не так. Просто всіма функціями програми при емуляції наших перших проектів ми користуватися не будемо. Освоїти її основи реально за один-два вечори. Що вона дає нам в плані вивчення роботи з мікроконтролера ми? Там, наприклад, є візуальне уявлення роботи світлодіодів, дисплеїв в реальному часі. Можна вибрати для емуляції роботи безліч типів МК AVR, в тому числі і ті, на яких будуть засновані наші уроки: Tiny2313 і Mega8. Що це означає і як це здійснюється? Ми пишемо код нашої прошивки, компілюємо його, отримуємо потрібний нам HEX-файл і віртуально прошиває наш МК в програмі Proteus. Причому ми також можемо змінити і фьюз біти нашого віртуального МК.
Давайте розберемо, які дії нам потрібно зробити, щоб зібрати цю схему на робочому полі самостійно і зробити емуляцію.
Ось таке вікно у нас відкривається відразу після запуску програми (клікніть для збільшення):
Далі нам потрібно натиснути Файл => Новий проект. ввести назву і вибрати в якій папці ми його зберігаємо
Потім нам потрібно вибрати з бібліотеки ті радіодеталі, які нам потрібні для проекту і помістити їх в список деталей. Їх ми потім зможемо вибрати і встановити на робоче поле. У нашому проекті ми будемо використовувати МК Attiny2313, жовтий світлодіод LED-YELLOW (він добре "світиться" в протеус) і резистор RES для обмеження струму, що протікає через світлодіод. Інакше ми, як би це смішно звучить, "спалимо" віртуальний світлодіод :-).
Для того, щоб вибрати ці радіоелементи, ми повинні клікнути по букві "Р":
Після того, як скликали, вийде ось таке віконце:
В поле "Маска" вбиваємо те, що хочемо знайти, а саме, наш МК, світлодіод і резистор

Набираємо в поле Маска "Tiny2313" і натискаємо по знайденому нами МК в графі "Результати (1)":
Потім повторюємо те ж саме з резистором. Вбиваємо "res":
і точно також шукаємо світлодіод:
Ну ось, тепер всі ці три елементи у вас повинні відобразитися в графі "Пристрої":
Тепер натискаємо по чорній стрілочки, і потім вже в списку вибираємо потрібний нам радіоелемент:

Зліва у вертикальній колонці ми бачимо значок "Термінал". Нас там цікавлять два рядки: Power і Ground. Це відповідно в нашій схемі +5 вольт харчування і земля. На МК харчування подавати не треба, воно подається автоматично. Для схеми ми беремо тільки значок "земля".
Витягуємо всі радіоелементи на робоче поле
Потім нам потрібно з'єднати їх лінією-зв'язком, після цього вони у нас будуть все одно, що з'єднані провідником, наприклад доріжкою на платі або дротом
Відразу скажу, не намагайтеся встановити один висновок деталі впритул до іншого або навіть внахлест, без використання ліній-зв'язків. Програма не зрозуміє це як з'єднання і схема працювати не буде.
Нам також потрібно змінити номінал резистора. За замовчуванням він не підходить для нашої схеми. Як це зробити?
Натискаємо правою кнопкою миші на резисторі, вибираємо Правка властивостей
А потім міняємо значення на 200 Ом. Цілком вистачить, що наш віртуальний світлодіод не помер)
Іноді робоче поле у нас намагається втекти з екрану, тоді нам потрібно, використовуючи скролінг коліщатка миші змінити масштаб, і клікнути, встановивши зелену рамку в лівому верхньому кутку так, щоб весь наш проект виявився всередині неї
До речі, хочу відразу сказати, якщо ми зробили якийсь помилкове дію, нам достатньо натиснути кнопку "Скасувати" і остання дія буде скасовано. Думаю, багато це знають з сторонніх програм, але хіба мало).
Отже, ми зібрали схему. Тепер треба залити прошивку в наш мікроконтролер і подивитися, як же це виглядає в дії. Для цього нам потрібно натиснути правою кнопкою миші по МК і натиснути іконку із зображенням жовтої папки в графі Program Files. До речі, тут же можна при необхідності виставити фьюз біти (клікніть для збільшення картинки):
Потім потрібно вибрати файл прошивки з розширенням * .HEX і натиснути "Відкрити". Все готово, можна емулювати проект.
(Для збільшення клікніть по картинці)
Для початку емуляції потрібно натиснути кнопочку "трикутник" в нижньому лівому кутку програми "Протеус":
У нас почнеться емуляція. Ми побачимо, як блимає світлодіод. У якийсь момент часу наш світлодіод буде світитися. Дивіться як яскраво горить жовтим кольором :-)
А потім він знову буде гаснути:
Тепер ми можемо при бажанні зберегти наш проект під будь-якою назвою, вибравши "Збережемо проект як", а також якщо потрібно відкрити готовий файл іншого проекту, вибравши "Відкрити проект"
Так виглядає іконка збереженого проекту на робочому столі:
Також можна зберегти проект як готовий шаблон, вибравши "Зберегти проект як шаблон" і в майбутньому використовувати його, як частини будь-якої майбутньої схеми:
Сподіваюся, у вас, Новомосковсктелі, не важко буде зібрати цей проект самостійно і в подальшому, прокачавши скилл, ви легко зможете самостійно зібрати будь-який більш складний проект. Готовий проект для програми Proteus 7.7 і прошивку прикріпив в цьому архіві.