Показ дописів із міткою Освоєння AVR - теорія і практика. Показати всі дописи
Показ дописів із міткою Освоєння AVR - теорія і практика. Показати всі дописи
вівторок, 11 лютого 2014 р.
пʼятниця, 1 листопада 2013 р.
пʼятниця, 27 вересня 2013 р.
Переривання в МК AVR. Теорія
У попередніх статтях я розглядав програми, які виконувалися "в один потік", тобто усі дії знаходилися так чи інакше в одній послідовності, наприклад під час часової затримки нічого більше не могло виконуватись, кожен цикл опитувалися порти з кнопками і так далі. Така архітектура програми хоч і проста але при вимогах до швидкодії і точності часових періодів, припустимо, не підходить. В таких випадках а також для реалізації багатьох функцій МК потрібно використовувати переривання.
вівторок, 20 серпня 2013 р.
Продовження експерименту 5. Практичне використання динамічної індикації.
Повернувшись з відпустки, згадав, що так і не завершив статтю про практичне використання динамічної індикації. Будемо наздоганяти :-). В цій частині спробуємо зробити простенький таймер, який буде відраховувати заданий проміжок часу, після чого вмикати який небудь прилад (або вимикати), в нашому випадку з макетною платою це буде просто світлодіод. Час буде відображуватись на нашому трьохрозрядному індикаторі.
неділя, 14 липня 2013 р.
Планування флагового автомата. Набір макросів для роботи з флагами.
Я вирішив перервати експеримент №5, зупинившися на програмі виводу значення регістра на індикатор, так як наступні програми складніші і потребують організації у вигляді флагового автомата. Тому я вирішив дати трошки теорії і показати декілька своїх макросів, що спрощують роботу з такою архітектурою.
вівторок, 2 липня 2013 р.
понеділок, 1 липня 2013 р.
Експеримент 04 - Використання програмного таймера у програмах для МК, Макрооперації асемблера.
Ця стаття не входить в цикл експериментів, так як вона більше теоретична. В програмах для МК часто зустрічається задача, коли необхідно відраховувати декілька різних відрізків часу одночасно. Зазвичай для цього використовують апаратні таймери, але їх число обмежене (наприклад в ATTiny 26 є 2 таймера). З цієї ситуації є вихід, особливо коли немає потреби у високій точності відмірювання часу.
субота, 15 червня 2013 р.
Експеримент 03 - Продовжуємо прості програми. Кінцевий автомат.
В попередніх експериментах я показував окремо різні функціональні можливості простого програмування МК. Тепер настав час об'єднати отримані знання. Отже я вирішив написати декілька програмок, де будуть об'єднані вивід у порти, зчитування даних з порта, часові затримки. Також спробую реалізувати відмінну від простого циклу архітектуру програми.
Отже ставимо завдання:
1. Програма що суміщає 1 і 2 - тобто вмикає світлодіод, що відповідає натиснутій кнопці, але світлодіод повинен блимати.
2. Програма "бігучої крапки", кнопки 3 і 4 повинні міняти напрям руху крапки, крапка повинна рухатись поки кнопка натиснута, при відпусканні кнопки зупиняється. Кнопка 5 міняє "бігучу крапку" на "бігучу тінь", повторне натискання повертає "бігучу крапку".
середа, 29 травня 2013 р.
Трохи про архітектуру програм для МК
Отже, як я і обіцяв, розповім трохи про архітектуру, тобто принципи побудови програм для мікроконтролерів. В загальному, програма складається з вже показаних мною основних частин:
понеділок, 27 травня 2013 р.
Продовження експерименту 02. Команди асемблера. Оптимізація програми.
В цій статті, як я і обіцяв, покажу деякі важливі функції асемблера, що дозволяють оптимізувати код програми, а також зробити програму легшою для розуміння. А на початку, дам довідкову інформацію по усім командам асемблера. Скачати файл в форматі Microsoft Word або PDF.
пʼятниця, 24 травня 2013 р.
Експеримент 02. Найпростіша реалізація часових затримок, умовні переходи в асемблері.
У першому експерименті ми написали найпростішу програму, яка використовує порти вводу-виводу. Але фактично, програма нічого корисного не робить - такий самий результат можна було б отримати, просто з'єднавши кнопки зі світлодіодами. Тому треба спробувати поставити задачу поскладнішу - наші світлодіоди повинні блимати, а не просто світитися.
четвер, 23 травня 2013 р.
Відеоогляд створення проекту і відладки в ATMEL STUDIO 6
Зняв відео для тих, хто не любить багато букв і скріншотів :-)
середа, 22 травня 2013 р.
Продовження експерименту 01. Ще трохи асемблера :-)
Ще раз поміняємо програму
Тепер доведемо нашу програму до логічного завершення. Для початку поставимо завдання відображати свіченням світлодіодів натискання відповідних кнопок. (зараз у нас світлодіоди гаснуть при натисканні кнопки).
Експеримент 01. Порти вводу/виводу, робочі регістри загального призначення.
Отже починаємо практичні експерименети з МК. В цій статті розглянемо основи, без яких не обходиться ні один проект на МК. Це використання портів вводу/виводу і робочих регістрів загального призначення. І справді - який зміст в МК, який не зв'язується з "оточуючим середовищем" (а це відбувається через порти В/В). А без використання робочих регістрів загального призначення (РРЗП) практично неможлива ні одна програма для МК.
понеділок, 20 травня 2013 р.
четвер, 16 травня 2013 р.
середа, 15 травня 2013 р.
Що ж таке мікроконтроллер і для чого потрібен
А що ж таке той мікроконтролер (МК)? Якщо сказати по простому то фактично це цілий комп'ютер в одній мікросхемі! Просто він дуже простий по характеристиках (порівняно з сучасними ПК, так як є мікроконтролери, що явно потужніші за старі спектруми та, навіть за і486 :-)). І призначений для вирішення задач у всіляких "вбудованих" системах.
Підписатися на:
Дописи (Atom)









