- •По дисципліні
- •Харків 2010
- •1 Вивчення системи команд і основних принципів програмування мікроконтролерів на прикладі керування блоком світлодіодів
- •1.1 Вказівки по організації самостійної роботи
- •1.1.2. Програмна модель мікроконтролера avr mega128. Механізм роботи з регістрами, пам'яттю й портами вводу/вивода.
- •1.1.3 Система команд мікроконтролера avr mega128.
- •1.1.4. Синтаксис і основні оператори мови с.
- •1.1.5. Принципи програмного керування світлодіодами, підключеними до зовнішніх виводів портів вводу/виводу мікроконтролера avr atmega128.
- •1.2 Опис лабораторної установки
- •1.2.1. Опис лабораторного макета.
- •Мікроконтролера avr atmega 128
- •1.2.2. Опис блоку світлодіодів лабораторного макета.
- •1.2.3. Опис інтерфейсу компілятора мови з CodeVision avr.
- •1.3 Порядок проведення роботи й вказівки по її виконанню
- •1.5 Контрольні питання й завдання
- •2 Вивчення режиму програмного опитування клавіатури
- •2.1 Вказівки по організації самостійної роботи
- •2.1.1. Принципи аналізу натискання стандартних кнопок за допомогою мікроконтролера avr mega128.
- •2.1.2. Принципи зчитування даних з матричної клавіатури за допомогою мікроконтролера avr атmega128 у режимі програмного опитування.
- •2.2 Опис лабораторної установки
- •2.3 3Порядок проведення роботи й вказівки по її виконанню.
- •Контрольні питання й завдання
- •3 Вивчення принципів програмного керування зовнішніми пристроями на прикладі виводу інформації на цифровий індикатор
- •3.1 Вказівки по організації самостійної роботи
- •3.2 Опис лабораторної установки
- •3.3 Порядок проведення роботи й вказівки по її виконанню
- •Контрольні питання й завдання
- •4 Вивчення принципів обробки переривань на прикладі керування вбудованими у мікроконтролер таймерами-лічильниками
- •4.1 Вказівки по організації самостійної роботи
- •4.1.1. Система переривань у мікроконтролері avr атmega 128.
- •4.1.2. Принципи функціонування апаратних таймерів-лічильників, що входять до складу мікроконтролера avr атmega 128.
- •4.2 Опис лабораторної установки
- •Порядок проведення роботи й вказівки по її виконанню
- •Контрольні питання й завдання
- •5 Вивчення принципів організації обміну даними по послідовному інтерфейсі rs-232c між мікроконтролером avr атmega128 і пеом
- •Вказівки по організації самостійної роботи.
- •5.1.1. Принципи обміну даними по послідовному інтерфейсі rs-232c.
- •5.2 Опис лабораторної установки
- •5.3 Порядок проведення роботи й вказівки по її виконанню
- •Контрольні питання й завдання
- •6 Вивчення принципів роботи з вбудованим у мікроконтролер аналого-цифровим перетворювачем на прикладі виміру температури за допомогою аналогового термодатчика.
- •6.1 Вказівки по організації самостійної роботи
- •6.2 Опис лабораторної установки
- •6.3 Порядок проведення роботи й вказівки по її виконанню
- •6.5 Контрольні питання й завдання
- •Рекомендована література
- •Додаток 1 розташування виводів мікроконтроллера
- •Додаток 2 інструкції процесорів avr
- •До лабораторних робіт з дисциплін
1.2.1. Опис лабораторного макета.
Лабораторний макет являє собою універсальний пристрій на базі 8-ми розрядного мікроконтроллера AVR ATMEGA 128 (fт=11,0592 MГц), до складу якого входять (див рисунок 1.6): мікроконтролер AVR ATMEGA128, графічний ЖК-дисплей Toshiba T6963C, блок світлодіодів, клавіатури: 34 і 31 (кількість стовпців кількість рядків), АЦП, зовнішній аналоговий термодатчик, п’єзовипромінювач, послідовний інтерфейс RS-232C. Сполучення лабораторного макета й программатора (ПЕОМ ) забезпечується за допомогою послідовного інтерфейсу SPI, що конструктивно використовує стандартний роз’єм Centronics DB-25. Загальний вид передньої панелі лабораторного макета наведений на рис. 1.7. Керування вбудованим у макет графічним ЖК-дисплеем здійснюється через порти А и С. Блок з восьми світлодіодів підключений до мікроконтролера через порт D. Сполучення клавіатури 3×4 здійснюється за допомогою порту Е. Через порт F, лінії якого є входами АЦП, до мікроконтролера підключаються: п’єзовипромінювач, термодатчик і клавіатура 3×1. Порт В мікроконтролера вільний і призначений для підключення зовнішніх пристроїв, таких як цифрові ЖК-індикатори, датчики й т.д. Розташування виводів мікроконтролера AVR АТMEGA 128 приводиться в Додатку 1.
Рисунок 1.6 - Структурна схема лабораторного макета на базі
Мікроконтролера avr atmega 128
Інтерфейс порту В конструктивно виконаний у вигляді уніфікованого роз’єму DB-25, розташованого на задній панелі корпуса макета (див. рисунок 1.8). Для ліній двох вбудованих у мікроконтролер послідовних інтерфейсів RS-232C (USART0, USART1) призначені роз’єми DB-9, розташовані на задній панелі макета, через проріз у який проходять сигнальні шлейфи інтерфейсу SPI і аналогового термодатчика. На задній панелі перебуває також роз’єм для підключення зовнішнього джерела живлення (12 В) і вимикач електроживлення. Індикатор електроживлення розташований на лицьовій панелі лабораторного макета.
Увага: під час виконання лабораторної роботи дотримуватись правил техніки безпеки при роботі з ПЕОМ.
Рисунок 1.7 - Загальний вид передньої панелі лабораторного макета.
Рисунок 1.8 - Розташування роз’ємів на задній панелі лабораторного
макета
1.2.2. Опис блоку світлодіодів лабораторного макета.
До складу макета входить блок індикації, що складається з 8 світлодіодів (див. рисунок 1.7), підключених до мікроконтроллера через порт D у відповідність зі схемою, наведеної на рис. 1.9. На аноди світлодіодів (HL1-HL8) подається напруга + 5 В, катоди кожного світлодіода підключаються до відповідних виходів порту вводу/виводу D. У галузь кожного світлодіода послідовно підключається струмообмежуючий резистор номіналом 390 Ом (на схемі позначені R1-R8). Програмне керування світінням світлодіодів здійснюється шляхом подачі рівнів “логічного нуля” і “логічної одиниці” на відповідні розряди порту D, що повинен функціонувати як порт виводу.
Рисунок 1.9 – Принципова схема підключення блоку світлодіодів до виводів порту D
1.2.3. Опис інтерфейсу компілятора мови з CodeVision avr.
Інтегроване середовище CodeVision AVR являє собою крос-компілятор мови С орієнтований на сімейство мікроконтролерів AVR і містять: графічну оболонку для керування ресурсами проекту; текстовий редактор вихідного модуля програми; крос-компілятор; відладчик, программатор; автоматичний генератор програмного коду; термінал для роботи з послідовним інтерфейсом RS232C (USART). Отриманий у результаті компіляції вихідного коду програми мовою С виконуємий модуль (файл прошивання) може бути безпосередньо записаний в пам’ять програм мікроконтролера.
У середовищі CodeVision AVR кожна програма для мікроконтролера повинна оформлятися у вигляді проекту, що представляє собою сукупність файлів, які містять вичерпну інформацію для программатора. Файли кожного проекту бажано зберігати в окремому підкаталозі.
При створенні нового проекту варто виконати наступну послідовність дій:
створити новий каталог для файлів проекту;
запустити програмний модуль CodeVision AVR;
у зявившомуся головному робочому вікні програми, використовуючи верхнє меню, виконати команду File -> New;
в діалоговому вікні, що відкрилося (див. рисунок 1.10), вибрати пункт Project;
Рисунок 1.10 - Діалогове вікно для вибору типу створюваного ресурсу при створенні проекту.
У діалоговому вікні, що з'явилося, Confirm (див. рисунок 1.11), необхідно відмовитися від використання автоматичного генератора програмного коду, натиснув кнопку No;
Рисунок 1.11 - Діалогове вікно для вибору автоматичного генератора програмного коду.
у вікні, що з'явилося, для збереження файлу проекту ввести ім'я файлу й нажати ОК (див. рисунок 1.11).
Рисунок 1.12 - Діалогове вікно для збереження файлу проекту.
далі (див. рисунок 1.13) відкривається вікно конфігурації проекту (вкладка Files), у якому необхідно активізувати вкладку C Compiler;
Рисунок 1.13 – Вкладка Files вікна конфігурації проекту.
на вкладці C Compiler (див. рисунок 1.14) вікна конфігурації проекту необхідно задати тип і тактову частоту мікроконтролера (Chip: Atmega128, Clock: 11.059200 MHz).
Рисунок 1.14 – Вкладка С Compiler вікна конфігурації проекту
на вкладці After Make вікна конфігурації проекту необхідно активізувати опцію Program the chip і нажати клавішу ОК. У результаті буде створені порожній проект і на екрані з'явиться головне робоче вікно програми CodeVision AVR, що має класичне компонування для інтегрованих засобів розробки додатків і CAD систем (див. рисунок 1.15). У верхній частині головного робочого вікна перебувають текстове меню й піктограми для швидкого запуску окремих команд. Призначення піктограм, відповідальних за виконання спеціалізованих функцій, приводиться на рис. 1.16. У лівій частині головного вікна розташовується інформація про ресурси проекту, у правої – ресурс, що є, у цей момент, активним. У нижній частині головного вікна розташовується рядок повідомлень (Messages).
Рисунок 1.15 – Інтерфейс головного робочого вікна програми CodeVision
Рисунок 1.16 - Призначення піктограм, відповідальних за виконання спеціалізованих функцій
Вихідний текст програми для мікроконтролера мовою С записується в окремому текстовому файлі, для створення якого необхідно виконати наступні дії:
у головному робочому вікні програми, використовуючи верхнє меню, виконати команду File New;
у діалоговому вікні, що відкрився (див. рисунок 1.17), вибрати пункт Source;
Рисунок 1.17 - Діалогове вікно для вибору типу створюваного ресурсу при створенні текстового файлу з кодом програми
у правій частині головного робочого вікна програми, що знову з'явилося, буде відображатися текстовий редактор для вводу тексту в створений файл ресурсу, для збереження якого необхідно, використовуючи верхнє меню, виконати команду File … і ввести унікальне ім'я файлу;
файл ресурсу необхідно включити до складу проекту. Для цього необхідно за допомогою основного або піктограмного меню (див. рисунок 1.16) викликати вікно конфігурації проекту (Configure Project), активізувати вкладку Files (див. рисунок 1.13), і, нажавши на кнопку Add, указати в діалоговому вікні, що з'явилося, ім'я файлу-ресурсу;
Після того, як вихідний текст програми для мікроконтролера буде набраний, необхідно виконати компіляцію проекту й, безпосередньо, завантажити код й дані програм в пам'ять мікроконтролера:
перед виконанням процедури програмування мікроконтролера необхідно зробити настроювання параметрів інтерфейсу программатора (Programmer Settings) за допомогою команди Programmer з підпункту головного меню Setting у відповідність із даними, наведеними на рис. 1.18. Параметри інтерфейсу программатора встановлюються тільки один раз перед початком роботи з мікроконтролером і при коректній роботі пристрою не вимагають змін.
Рисунок 1.18 - Вікно настроювання параметрів інтерфейсу программатора
далі необхідно виконати компіляцію проекту – створити виконуючий програмний модуль, придатний для виконання мікроконтролером. Для цього необхідно нажати клавішу F9 або вибрати підпункт Компіляція проекту (Compile) з піктограмного меню (див. рисунок 1.16). У більшості випадків доцільно відразу після компіляції зробити програмування мікроконтролера, для чого необхідно нажати комбінацію клавіш Shift+F9 або вибрати підпункт Програмування мікроконтролера (Make) з піктограмного меню (див. рисунок 1.16). При завершенні етапу компіляції активізується вікно Information (див. рисунок 1.19), що містить інформацію про скомпільований проект. Якщо компіляція пройшла успішно, то для запису програми в пам'ять мікроконтролера необхідно нажати кнопку Program, розташовану в нижній частині вікна Information.
Виявленні в результаті компіляції повідомлення про помилки відображаються в лівій частині головного робочого вікна, де розташовуються дані про ресурси проекту. При активізації повідомлення про помилку компілятор виводить докладні відомості про локалізацію й можливі причини помилки.
Рисунок 1.19 - Вікно відображення інформації про результати компіляції проекту
У деяких випадках для перевірки працездатності завантаженої програми необхідно виконати скидання мікроконтролера (Reset Chip) або видалити програму з пам'яті (Erase Chip). Ці функції (див. рисунок 1.20) стають доступними при виборі підпункту Настроювання Программатора з піктограмного меню (див. рисунок 1.16).
Рисунок 1.20 - Вікно відображення настроювань программатора
