Содержание
Интернет-магазин
Компания Microchip предлагает стартовый набор разработчика PICkit 2 Debug Express, включающий демонстрационную плату с 44-выводным контроллером и миниатюрный программатор PICkit2.
Компания Matrix Multimedia предлагает среду разработки Flowcode с интуитивно понятным графическим интерфейсом, позволяющим разрабатывать программу для микроконтроллера на уровне блок-схем.
Данная статья предназначена для начинающих разработчиков, которые только осваивают программирование микроконтроллеров. На начальной стадии среда разработки Flowcode, позволяющая реализовать простейшие операции на основе PIC-контроллеров, отличная альтернатива более сложной и профессиональной MPLAB IDE. Для получения базовых навыков по использованию программатора PICkit2 и программы Flowcode рассмотрим построение простейшего проекта по управлению светодиодом.
Для ознакомительных целей компания Matrix Macromedia предлагает бесплатную демонстрационную версию Flowcode (единственное ограничение – допустимый объем скомпилированного кода не более 2 Кб).
Обычно создание проекта начинается с планирования последовательности действий (алгоритма), которые должен выполнять микроконтроллер. В среде разработки Flowcode для данных целей предусмотрен наглядный интерфейс по созданию блок-схемы программы.
В качестве первого примера разработаем систему, которая будет приводить в действие один из двух режимов «моргания» светодиодами в соответствие с положением внешней кнопки. Алгоритм программы приведен на рис. 1.
Бесплатную демонстрационную версию Flowcode можно скачать по ссылке http://www.matrixmultimedia.com/temp/FlowcodeV3.exe
В пункте Connect to Port (соединения с портом) выпадающего меню, выберите PORTB (кнопка на плате 44-pin Demo Board подключена к PORTB, бит 0). Диалог Connect to Port примет следующий вид:
Теперь настало время настройки элементов, составляющих блок-схему. Для настройки элемента необходимо выполнить на его иконке двойной щелчок мышью. Для удобства чтения блок-схемы в строке “Display name” пишите короткое пояснению о функциональном назначении блока.
Для начала необходимо создать переменную, отвечающую за информацию о положении кнопки. Щелкните “Variables” (переменные), чтобы открыть диалог “Variables Manager”. Щелкните “Add New Variable” (добавить новую переменную) и добавьте новую переменную с названием Input:
Нажмите “OK”. Вернувшись в окно Variables Manager щелкните на кнопку Use Variable. Вернувшись в окно Properties выберите “PORTB “, “Single Bit”.
В окне Properties щелкните Variables и выберите Input, щелкните Use Variable. Дайте название (Display name) “Is switch pressed”
Output Чтобы зажечь крайние светодиоды необходимо выставить в единицу биты 0 и 7 порта PORTD, т.е. вывести на PORTD число 129 (27 + 20)
Первый блок Output Чтобы зажечь светодиоды с 0 по 3, необходимо вывести в PORTD число 15 (20 + 21 + 22 + 23):
Длительность задержки может быть задана в миллисекундах и секундах. Необходимо задать задержку в полсекунды:
Чтобы зажечь светодиоды с 4 по 7, необходимо вывести в PORTD число 240 (24 + 25 + 26 + 27):
Теперь блок-схема должна иметь следующий вид:
Программа Flowcode позволяет проверить работу программы при помощи симуляции. Симуляция возможна в двух режимах: непрерывная и пошаговая, блок за блоком. В обоих режимах в окнах “Variables” и “Call Stack” отображаются текущие значения. Когда Вы запускаете симуляцию программы на полной скорости, данные в этих окнах не обновляются. Если же скорость симуляции ниже полной или выполнение программы ведется пошагово – созданные переменные отображаются в окне “Variables” на каждой итерации.
Теперь посмотрим на симуляцию на полной скорости. Нажмите “Run” на панели инструментов. Используйте возможность остановки и продолжения работы программы (F5 или “Go/Continue” в меню “Run”). Вы наблюдаете текущие значения в окнах “Variables” и “Call Stack”, крайние светодиоды (0-й и 7-й светятся). Щелкните по иконке кнопки и убедитесь, что светодиоды 0-3 моргают в противофазе со светодиодами 4-7. Программа работает корректно! (Если Вы не получили нужного результата, вернитесь к началу и повторите все заново)
Подготовительная часть закончена, Вы получили полнофункциональную программу, работающую по заданному алгоритму. Выполните следующие инструкции для программирования контроллера:
В данной статье на наглядном примере показано как просто создать программу для контроллера по заданному алгоритму. При этом пример охватывает лишь малую часть функциональных возможностей Flowcode. Незатронутыми остались такие возможности, как вычислительные операции, манипуляции со строковыми переменными, создание пользовательских макросов, вставки C-кода и т.д. Для их освоения программа Flowcode снабжена подробными справочными материалами и описаниями (меню “Help”). Обо всех возможностях, предоставляемых Matrix Multimedia, Вы можете узнать на сайте www.matrixmultimedia.com.