Проектування мікроконтролерних пристроїв: Методичні вказівки до лабораторних робіт, страница 3

Рис. 3. Схема електрична принципова

Світлодіоди, встановлені в плату, мають різний колір і розташовані двома стовпцями, імітуючи світлофор на два напрями. Таке рішення дозволяє досліджувати прості циклічні алгоритми з високим ступенем наочності, використовувати внутрішні таймери для завдання часових проміжків, досліджувати алгоритми з перериваннями. Фоторезистор підключений до входу порту А який мультиплексирується з входом аналогового компаратора. Це дає можливість імітувати роботу контролера з аналоговим сигналом. Застосування вбудованого програмованого джерела опорної напруги дозволяє реалізувати програмний АЦП і виводити індикацію на світлодіоди різних кольорів (наприклад, зелений – "мало", жовтий – "норма", червоний – "багато"). Виводи RB6, RB7, MCLR використовуються тільки в режимі програмування. Живлення плата одержує від адаптера змінного струму (на схемі не показаний). Живлення мікроконтролера здійснюється через джампер ХТ. Можливо здійснювати живлення постійно (режим демонстраційної плати) або тільки при програмуванні (режим програматора). Схема не містить ланцюгів скидання і зовнішніх елементів тактового генератора, тому для нормальної роботи мікроконтролера при програмуванні слід вибрати внутрішній RC генератор і використовувати внутрішнє скидання. Рядок конфігурації, що рекомендується, має вигляд

__CONFIG _CP_OFF & _WDT_OFF & _BODEN_ON & _PWRTE_ON & _INTRC_OSC_NOCLKOUT & _MCLRE_OFF & _LVP_OFF

При такій настройці мікроконтролер працює автономно навіть у тому випадку, коли плата знаходиться в режимі програматора. Для нормального входу в режим програмування необхідно на 6-й і 7-й розряди порту В подать низький рівень при наростанні сигналу на вході MCLR. Для надійної роботи простіше взагалі ці виводи зробити входами і не використовувати в програмах. Рекомендується наступна послідовність ініціалізації:

ORG          0x000                    ; processor reset vector

bsf             STATUS, RP0

movlw       b'11000000'

movwf       TRISB

bcf             STATUS, RP0


3. Завдання до лабораторних робіт

Лабораторна робота №1

Вивчення середовища програмування MPLAB і арифметичних команд PIC мікроконтролерів середньої серії

Мета роботи: вивчення порядку створення проекту, введення програми, асемблювання, відладки програми за допомогою програмного симулятора

Зміст домашньої підготовки

Вивчити структуру, технічні характеристики, особливості архітектури PIC контролерів середньої серії.

Вивчити групу байт-орієнтованих команд  PIC контролерів середньої серії.

По керівництву до пакету MPLAB вивчити порядок створення і роботи з проектами: створення і редагування проекту, введення програми, асемблювання.

Вивчити режими програмної симуляції: покроковий, безперервний, із зупинками в контрольних точках, режим анімації.

Вивчити можливості в роботі з вікнами – пам'ять програм, пам'ять даних, регістри спеціальних функцій, вікно секундоміра, вікно модифікації, вікно Watch.

Вивчити призначення директив ORG, END, LIST, INCLUDE, EQU.

Відповісти на контрольні питання.

Ознайомитися з приведеною нижче програмою додавання і віднімання двох чисел з константою. Розрахувати час виконання основного циклу програми при частоті генератора 4 Мгц.

Порядок виконання роботи

Включити комп'ютер і запустити програму MPLAB.

Ввести нижче приведену програму, створити проект, підключити файл з програмою до проекту.

list             p=16f628

#include <p16f628.inc>

MIN            EQU  20

MAX           EQU  21

ORG          0x000

clrf             MIN            ;очищення регістрів

clrf             MAX

movlw       2        ;пересилання константи в робочий регістр

Loop

addwf        MAX, F       ;збільшення регістра

subwf        MIN, F        ;зменшення регістра

goto           Loop           ;безумовний перехід до початку циклу

END

Провести асемблювання, виправити синтаксичні помилки.

Відкрити вікна регістрів спеціальних функцій, секундоміра, модифікації, вікно Watch. У вікні Watch створити рядки MIN і MAX.

Виконати програму в покроковому режимі, в безперервному, із зупинкою в контрольних точках, в режимі анімації. При цьому стежити за зміною вмісту регістрів STATUS, MIN і MAX.