Будова мікроконтролера ATMEGA8, огляд алгоритмів, схемних та програмних рішень задач. Статична і динамічна індикація. Порти введеня-виведення. Система команд, способи адресації. Розробка програми на мові програмування C та моделювання в Proteus VSM.
Аннотация к работе
Виведення на семисегментний світлодіодний індикатор цифрової інформації в схемі з мікроконтролером зустрічається часто, і розробники таких схем виконують його кожен по-своєму. Нижче описаний модуль індикації, який цілком може стати універсальним рішенням, що значно спростить розробку нових пристроїв [4]. Нижче приведена принципова електрична схема модуля індикації на два знакомісця. Резистори R1.. R5 визначають стан вхідних сигналів при відключенні модуля від микроконтроллерной схеми і служать «навантаженням» ліній управління індикатором. Установка перемички J1 на замикання її середньої точки на загальний провід GND або провід живлення Vcc дозволяє використовувати в схемі семисегментні світлодіодні індикатори як із загальним катодом, так і з загальним анодом.Індикатори зазвичай розташовують у місцях, зручних для перегляду інформації, яка відображається на них. Решта цифрова схема може розташовуватися на інших друкованих платах. Кількість зєднувальних провідників можна зменшити, якщо змусити індикатори працювати в імпульсному режимі. Зазвичай достатньо частоти оновлення інформації 50 Гц, але краще збільшити цю частоту до 100 Гц. Давайте розглянемо структурну схему включення семисегментних світлодіодних індикаторів, наведену на рис.ATMEGA 8 - розрядний КМОП мікроконтролер, заснований на архітектурі Atmel AVR. Контролер виконує більшість інструкцій за 1 такт, тому обчислювальна потужність контролера дорівнює 1MIPS на 1 Мгц. 512 байт електрично програмованої памяті;.Більшість виводів AVR-мікроконтролерів мають також альтернативні призначення. Рисунок 5. Внутрішня схема лінії порту введення-виведення. Це DDRX, PORTX і PINX (x - назва порта : A, B, C і т.д.).Мікроконтролери AVR мають систему скороченого набору команд RISC, хоча цілком і не повністю потрапляють під це визначення [12]. РОН - переважно для математичних операцій, РВВ - для управління процесором, ОЗУ - тільки як сховище інформації.Більшість команд асемблера використовують різні комірки памяті мікроконтролера і, відповідно, містять крім коду операції (КОП) також їх адреси. Залежно від того в якому вигляді в команді зберігається адреса розрізняють два способи адресації: пряму і непряму. У першому випадку адресу комірки заданий явно, а по-другому він знаходиться в одному з регістрів - покажчиків (у AVR це 16 - розрядні регістри X, Y, Z). Адреса РОН знаходиться в межах 0...Для забезпечення алгоритму роботи мікропроцесорного пристрою сигналізації семисегментного індикатора була розроблена структурна схема (рисунок 10). Структурна схема мікропроцесорного пристрою світлової індикації.Згідно розробленого алгоритму, було розроблено програму мікропроцесорного пристрою світлової індикації, повний варіант якої представлений в додатку А [13-15]. .def temp = r16. Фрагмент програми, який приведений нижче відповідає за формування кодів вивведення на семисегментний індикатор. ldi temp, 0b00001111 out ddrb, temp ldi temp, 0xff out ddrd, temp. Оскільки клавіатура складається з чотирьох стрічок по три стовпці, то відповідно розроблена програма, яка почергово здійснюватиме аналіз по стрічкам. Приведений фрагмент програми опрацьовує першу стрічку і три стовпці, відповідно кнопку SB1, SB2 та SB3. ldi klav,0b00000001 out PORTB,klav sbic PINB,4 ldi sklav,0b11111001 //1 sbic PINB,5 ldi sklav,0b10100100 //2 sbic PINB,6 ldi sklav,0b11000000 //3.Згідно розробленого алгоритму, було розроблено на мові С програму мікропроцесорного пристрою світлової індикації, повний варіант якої представлений в додатку Б [16-19]. Приведений фрагмент програми опитує першу стрічку і три стовпці, відповідно кнопку SB1, SB2 та SB3. PORTB = 0b00000001;. if (PINB.4 == 1){sklav = 0b11111001;} if (PINB.5 == 1){sklav = 0b10100100;} if (PINB.6 == 1){sklav = 0b11000000;}.