Лабораторна робота № 4 «реалізація часових затримок за допомогою таймеру»
1. Мета роботи:
вивчення роботи таймерів-лічильників мікроконтролера ATMega16;
ознайомлення з методами виведення і введення цифрових сигналів;
розробка тестового проекту;
відпрацювання програм симулятивним методом у середовищі AVR Studio;
програмування мікроконтролера лабораторного стенду.
2. Програма роботи:
2.1 Ознайомитися з таймерів-лічильників мікроконтролера ATMega16. Ознайомитися з регістрами процесора, що дозволяють працювати з цими ресурсами мікроконтролера;
2.2 Вивчити особливості виведення та введення імпульсних цифрових сигналів;
2.3 З використанням мови асемблеру створити пробний проект з наступними фрагментами:
2.3.1 Виведення імпульсних цифрових сигналів з заданим періодом повторення та тривалістю імпульсів;
2.4 Провести компіляцію та вилучити виявлені помилки;
2.5 Провести покрокове відпрацювати програми з використанням програмного симулятора AVR Studio;
3. Завдання до лабораторної роботи
З використанням мови асемблеру необхідно розробити програму мікроконтролера, у відповідності з п.2.3.1 лабораторної роботи. У таблиці 4.1 розташовані вихідні дані, що відносяться до формування імпульсних сигналів за допомогою таймера..
Таблиця 4.1
№ |
П.23.1 |
||
Порт |
Т [с] |
Τi [с] |
|
1 |
РA6 |
2,5 |
0,3 |
2 |
РA7 |
1 |
0,5 |
3 |
РA4 |
5 |
4 |
4 |
РA5 |
3,5 |
2 |
5 |
РA6 |
4 |
0,5 |
6 |
РA7 |
1,5 |
0,9 |
7 |
РA4 |
1 |
0,1 |
8 |
РA5 |
3,2 |
2 |
9 |
РA6 |
2 |
1 |
10 |
РA7 |
1,3 |
1 |
11 |
РA4 |
1,9 |
1,2 |
12 |
РA5 |
1,2 |
1 |
“Порт” – порт призначення;
Т – період повторення імпульсів;
Ti – тривалість імпульсу;
4. Зміст звіту
Титульний листок із назвою роботи та переліком виконавців.
Текст програми.
Висновки.
5. Контрольні запитання
Як проводиться ініціалізація ліній портів для роботи у якості приймачів та передатчиків?
Визначте основні режими роботи таймерів-лічильників та особливості їх ініціалізації.
Як реалізується вивід періодичних імпульсних сигналів з використанням таймерів?
6. Теоретичні відомості
6.1 Таймери-лічильники
Мікроконтролери, в залежності від моделі, мають у своєму складі від одного до трьох таймерів/лічильників загального призначення.
Перший таймер (Т0, 8-розрядний), у більшості моделей, може використовуватися лише для відліку та вимірювання часових інтервалів або як лічильник зовнішніх подій. При переповненні регістра ліку таймеру генерується запит на переривання. Два інших таймера (16-розрядний Т1 та 8-розрядний Т2) вводять додаткові по відношенню до Т0 функції. Обидва таймери можуть генерувати запит на переривання не тільки при переповненні регістра ліку, а й при здійсненні ряду інших подій. Також обидва таймери можуть працювати в якості широтно-імпульсного модулятору. Таймер Т2, крім того, може працювати в асинхронному (відносно тактового сигналу мікроконтролера) режимі. В складі усіх мікроконтролерів сімейства є також сторожовий таймер, який є неодмінним атрибутом усіх сучасних мікроконтролерів. Цей таймер використовується для передостороги від зациклювання програми.