Лабораторна робота № 3 «дослідження портів введення/виведення однокристальних мікроконтролерів»
1. Мета роботи:
вивчення роботи портів ATMega16;
ознайомлення з методами виведення і введення статичних та імпульсних цифрових сигналів;
засвоєння алгоритмів виведення/введення;
розробка тестового проекту;
відпрацювання програм симулятивним методом у середовищі AVR Studio;
2. Програма роботи:
2.1 Ознайомитися з роботою портів мікроконтролера ATMega16. Ознайомитися з регістрами процесора, що дозволяють працювати з портами мікроконтролера;
2.2 Вивчити особливості виведення та введення статичних та імпульсних цифрових сигналів;
2.3 З використанням мови асемблеру створити пробний проект з наступними фрагментами:
2.3.1 Виведення статичних цифрових сигналів;
2.3.2 Введення статичних цифрових сигналів;
2.3.3 Введення цифрових сигналів, що формуються контактною парою (з врахуванням тремтіння контактів);
2.4 Провести компіляцію та вилучити виявлені помилки;
2.5 Провести покрокове відпрацювати програми з використанням програмного симулятора AVR Studio;
2.6 Зробити висновки по роботі.
3. Завдання до лабораторної роботи
З використанням мови асемблеру необхідно розробити програму мікроконтролера, у відповідності з п.2.3 лабораторної роботи. У таблиці 1 розташовані вихідні дані, що відносяться до виведення (пп.. 2.3.1, 2.3.2) та введення (пп..2.3.3, 2.3.4) цифрових сигналів.
Таблиця 3.1
№ |
П.2.3.1 |
П.2.3.2 |
П.2.3.3 |
||
Порт |
Порт РС |
Порт |
Порт |
Ттр [мс] |
|
1 |
РA4 |
0b01011100 |
РB1 |
PB4 |
2 |
2 |
РA5 |
0xFF |
PB3 |
РB1 |
3 |
3 |
РA6 |
0b11100011 |
PB4 |
PB3 |
1 |
4 |
РA7 |
0b01010101 |
РB1 |
PB4 |
4 |
5 |
РA4 |
0 |
PB3 |
РB1 |
5 |
6 |
РA5 |
0b11001100 |
PB4 |
PB3 |
6 |
7 |
РA6 |
0b00000001 |
РB1 |
PB4 |
8 |
8 |
РA7 |
8 |
PB3 |
РB1 |
7 |
9 |
РA4 |
0b10100000 |
PB4 |
PB3 |
9 |
10 |
РA5 |
10 |
РB1 |
PB4 |
4 |
11 |
РA6 |
0b01010000 |
PB3 |
PB3 |
5 |
12 |
РA7 |
0b00000001 |
PB4 |
PB1 |
2 |
Ттр – час тремтіння контактів.
4. Зміст звіту
Титульний листок із назвою роботи та переліком виконавців.
Текст програми.
Висновки.
5. Контрольні запитання
Як проводиться ініціалізація ліній портів для роботи у якості приймачів та передатчиків?.
Визначте основні типи цифрових сигналів.
Які особливості виведення статичних цифрових сигналів у мікроконтролері ATMega16?
Дайте приклади виведення по одній лінії, та по всьому порту.
Які особливості введення статичних цифрових сигналів у мікроконтролері ATMega16?
Дайте приклади введення по одній лінії, та по всьому порту.
Які особливості введення цифрових сигналів, що формуються контактною парою?
6. Теоретичні відомості
6.1 Порти введення/виведення
Мікроконтролер ATMega16 має 4 восьмибітові порти введення/виведення (A, B, C, D). Кожна лінія портів може бути використана незалежно як для прийому, так і передачі цифрових сигналів.
Вхідні буфери портів побудовані за схемою тригера Шмітта. Для ліній, що мають конфігурацію вхідних, можливе підключення внутрішнього резистора опором 35…120 кОм між входом та шиною живлення .
Вихідні драйвери портів забезпечують однакові значення максимального струму навантаження для обох значень рівня вихідної напруги (IOL=IOH=40мА).
У мікроконтролері реалізовано алгоритм роботи з портами «читання/модифікація/запис», що дозволяє виконувати ряд операцій пов’язаних з виводом (команди SBI, CBI) безпосередньо на регістрах керування.
Більшість ліній портів, окрім безпосередніх функцій введення\виведення цифрових сигналів, мають також альтернативні функції. Лінії портів використовуються в альтернативному режимі у випадках застосування відповідних вбудованих контролерних ресурсів, наприклад таких як TWI, ADC, UART.