- •Література
- •Інформаційні ресурси
- •Використання mplab для складання та налагодження програм мікроконтролера
- •Теоретичні відомості
- •Порядок виконання лабораторної роботи
- •Лабораторна робота № 21 Дії з портами мікроконтролера, логічні операції та обробка окремих бітів
- •Теоретичні відомості
- •21.1. Аналіз роботи програми
- •Лабораторна робота № 22 Створення програмної затримки часу за допомогою циклів
- •Теоретичні відомості
- •22.1. Результати аналізу програми
- •Лабораторна робота № 23 Створення затримки часу за допомогою переривань від таймера
- •23.2. Варіанти задання коефіцієнтів ділення переддільника
- •23.2. Алгоритм управління світлодіодами з затримкою від таймера tmr0
- •23.3. Результати аналізу програми
- •Використання енергонезалежної пам'яті даних
- •У регістрі eecon1 розміщені такі біти керування:
- •24.1. Блок-схема алгоритму обміну з eeprom
- •Використання клавіатури з мікроконтролером
- •Теоретичні відомості
- •25.1. Таблиця результатів тестування
- •Виведення цифрової інформації на семисегментні індикатори
- •Основи використання mplab-icd пояснено далі в ході роботи.
- •Закрити вікно icd Options ().
- •Дослідження мікроконтролерного модуля аналого-цифрового перетворювача
- •Закрити вікно icd Options().
- •27.1. Результати вимірів і обчислень
- •Мікроконтролерне дослідження дренькоту контактів
- •Результати вимірів кількості замикань контактів
Виведення цифрової інформації на семисегментні індикатори
Мета роботи: вивчити основи використання пристрою ICD для налагодження систем на базі РІС-контролерів, засвоїти спосіб виведення інформації на семисегментні індикатори за допомогою регістрів зсуву
ТЕОРЕТИЧНІ ВІДОМОСТІ
У середовище MPLAB є можливість здійснювати програмну імітацію (симуляцію) виконання команд, введення і зміну зовнішніх сигналів та інші можливості налагодження.
Однак, якщо під симулятором MPLAB програма імітує роботу системи вірно, а в режимі реального часу мікроконтролерний пристрій працює неправильно, виникають значні труднощі у пошуку та виправленні апаратних і програмних помилок.
Щоб виправити подібні помилки, використовують пристрої, які називають емулятори. Вони дозволяють спільно налагодити апаратне та програмне забезпечення реальної мікроконтролерної системи. Але емулятор дорого коштує. Схожим за призначенням та значно дешевшим за нього є налагоджувач MPLAB-ICD (In-Circuit Debugger). Цей пристрій є внутрішньосхемним налагоджувачем і одночасно програматором.
MPLAB-ICD забезпечує:
покрокове виконання коду в реальному масштабі часу;
точки зупинки;
внутрішньосхемну наладку;
вбудоване програмування;
роботу від джерела живлення налагоджуваної системи;
Основи використання mplab-icd пояснено далі в ході роботи.
Часто при створенні мікроконтролерних систем управління і контролю необхідно передбачати виведення інформації на індикатори.
Типові схеми спряження мікроконтролерів з індикаторами використовують велику кількість зовнішніх виводів. Навіть для малопровідної динамічної індикації потрібно використати n + 8 виводів мікроконтролера, де n – кількість відображуваних цифр.
Раціональніше використовувати послідовну передачу інформації за двопровідною схемою з використанням регістрів зсуву (рис. 26.1). У такому випадку незалежно від кількості індикаторів потрібно використати два виводи мікроконтролера: один – для передачі даних (RC5), другий – для передачі сигналу синхронізації (RC3). Іще один вивід використовується тільки для скидання регістрів (RA2).
Алгоритм передачі інформації такий: у циклі, що повторюється 8·n разів (для двох індикаторів 16 разів), здійснюється послідовне в часі виведення бітів семисегментних кодів цифр на вивід RC5. Як тільки черговий біт з'являється на RC5, мікроконтролер виводить тактовий імпульс на RC3.
При цьому інформація на виходах 0-7 регістрів зсувається вниз, а біт з виходу RC5 запам'ятовується на виході 0 верхнього регістра. Після завершення циклу коди регістрів лишаються незмінними до наступного подібного циклу. А на індикаторах через обмежувальні опори засвічуються сегменти потрібних цифр.
Лабораторна установка складається з демоплати, плати налагоджувача (має менші розміри) і комп'ютера.
ПОРЯДОК ВИКОНАННЯ ЛАБОРАТОРНОЇ РОБОТИ
Приєднати СОМ-порт комп'ютера до демоплати, демоплату до плати налагоджувача. Ввімкнути живлення демоплати (налагоджувач живиться від демоплати).
У середовищі MPLAB, створити у папці D:\1Work новий проект з іменем 26ГБ (Г – номер групи, Б – номер бригади), обравши у меню Project-New Project.
Натиснувши кнопку Change, у вікні Development Mode відкрити закладку Tools. Вибрати пункт MPLAB ICD Debugger (налагоджувач MPLAB) і тип процессора, що встановлений на демоплаті: Processor: PIC16F877. Натиснути кнопку ОК.
У вікні Edit Project додати новий файл на асемблері з іменем проекту та розширенням .asm (Add Node – додати вузол). Після повернення до вікна Edit Project нижче hex-файла з'явиться ім'я асемблерного файла. Натиснути кнопку ОК. У середовищі MPLAB IDE створити цей текстовий файл з розширенням .asm (File – New), записавши його у папку 1Work (File - Save As …).
При роботі з налагоджувачем з'явилось вікно MPLAB ICD. Треба встановити режими його роботи, натиснувши кнопку Options....
У вікні ICD Options слід обрати такі установки.
У рамці Configuration Bits:
Oscillator: XT (генератор: 2-10 МГц);
Watchdog Timer: Off/Disable (сторожовий таймер відключити);
Power Up Timer: On/Enable (таймер затримки після включення живлення ввімкнути);
Brown out Detect: Off/Disable (скидання при зниженні напруги живлення виключити);
Low Voltage Program: Disable (низьковольтне програмування заборонити);
Code Protect Data EE: code protect Off (захист даних EEPROM відмінити);
Flash Memory Write: Memory written to be EECON (запис у флеш-пам'ять через EECON);
Code Protect: Code Protection Off (захист коду програми відмінити).
У рамці Program Options зняти відмітку тільки для пункту ID Locations.