Порядок виконання завдання:
Увімкнути лабораторний макет.
Запустити компілятор Code Vision AVR.
Створити порожній проект.
Створити файл ресурсу для коду програми і підключити його до проекту.
Ввести код початкового модуля програми управління світлодіодами.
Виконати компіляцію (натиснувши клавішу F9) початкового модуля програми і усунути помилки, отримані на даному етапі.
Налаштувати параметри програматора.
Створити завантажувальний модуль програми (натиснувши комбінацію клавіш Shift+F9) і виконати програмування мікроконтролера.
Перевірити працездатність завантаженої в мікроконтролер програми і показати результати роботи викладачеві.
У разі некоректної роботи розробленої програми, виконати апаратне скидання мікроконтролера, провести відладку початкового модуля програми і наново перевірити функціонування програми, повторивши виконання пункту 9.
Приклад виконання завдання. Розробити програму, що виконує в нескінченному циклі паралельне включення і виключення 1–го, 3–го, 6–го і 8–го світлодіодів з тривалістю свічення 2 с і часом знаходження в погашеному стані 1 с.
Рішення. У лабораторному макеті блок, що складається з 8-ми світлодіодів, підключений до порту D. При цьому необхідно враховувати, що нумерація світлодіодів починається з 1, а не з 0. Програмне керування світлодіодами можна забезпечити, записуючи у відповідні розряди регістра PORTD порту D рівні “логічного нуля” (запалити світлодіод) або “логічної одиниці” (погасити світлодіод) згідно алгоритму, приведеному на рис. 1.13.
Рисунок 1.13 Алгоритм програми керування світлодіодами
Повний текст початкового модуля програми з докладними коментарями приводиться нижче:
#include <mega2561.h> //Підключити заголовний файл mega2561.h;
#include <delay.h> //підключити заголовний файл delay.h;
main() { //основна частина програми;
DDRD=0xFF; //налаштувати порт D на виведення даних;
while (1) { //створити цикл з нескінченним числом ітерацій;
PORTD=0b11111111; //погасити всі світлодіоди;
delay_ms(1000); //встановити тимчасову затримку 1 с;
PORTD=0b10100101; //увімкнути 1–й, 3–й, 6–й і 8–й світлодіоди;
delay_ms(2000); } //встановити тимчасову затримку 2 с;
} //завершуюча операторна дужка програми;
*Контрольні запитання :
Система команд мікроконтролера AVR ATmega2561.
2. Синтаксис та основні оператори мови С.
Лабораторна робота 3
- 7.091501"Комп’ютерні системи та мережі".
- Програмна модель мікроконтролера Atmel avr aTmega 2561.
- Структура регістру станів
- Система команд мікроконтролера avr aTmega2561.
- Результати виконання логічних операцій
- Синтаксис та основні оператори мови с.
- Зміст, правила оформлення звіту, організація і проведення занять
- Лабораторні роботи Лабораторна робота 1
- Тема 1: Опис інтерфейсу компілятора мови с CodeVision avr
- Тема 2: Управління блоком світлодіодів
- Порядок виконання завдання:
- Тема 3: Вивчення принципів організації програмного опитування клавіатури
- Тема 4: Вивчення принципів роботи ацп мікроконтролеру на прикладі обробки сигналів з термодатчика
- Лабораторна робота 5 Тема 5: Реалізація виведення даних на жк-дисплей та обмін інформацією між пеом та мікроконтролером через послідовний порт rs-232
- Список рекомендованої літератури