Программа Flowcode и программатор Microchip PICkit 2

№ 6’2009
PDF версия
Компания Microchip предлагает стартовый набор разработчика PICkit 2 Debug Express, включающий демонстрационную плату с 44-выводным контроллером и самый маленький программатор в мире. А компания Matrix Multimedia создала среду разработки Flowcode с интуитивно понятным графическим интерфейсом, позволяющим разрабатывать программу для микроконтроллера на уровне блок-схем. Данная статья предназначена для начинающих разработчиков, которые только осваивают программирование микроконтроллеров. На начальной стадии среда разработки Flowcode, позволяющая реализовать простейшие операции на основе PIC-контроллеров — отличная альтернатива более сложной и профессиональной MPLAB IDE. Для получения базовых навыков по использованию программатора PICkit2 и программы Flowcode рассмотрим построение простейшего проекта по управлению светодиодом.

Введение

Компания Microchip предлагает стартовый набор разработчика PICkit 2 Debug Express, включающий демонстрационную плату с 44-выводным контроллером и самый маленький программатор в мире. А компания Matrix Multimedia создала среду разработки Flowcode с интуитивно понятным графическим интерфейсом, позволяющим разрабатывать программу для микроконтроллера на уровне блок-схем.

Данная статья предназначена для начинающих разработчиков, которые только осваивают программирование микроконтроллеров. На начальной стадии среда разработки Flowcode, позволяющая реализовать простейшие операции на основе PIC-контроллеров,— отличная альтернатива более сложной и профессиональной MPLAB IDE. Для получения базовых навыков по использованию программатора PICkit2 и программы Flowcode рассмотрим построение простейшего проекта по управлению светодиодом.

Для ознакомительных целей компания Matrix Macromedia предлагает бесплатную демонстрационную версию Flowcode — http://www.matrixmultimedia.com/temp/FlowcodeV3.exe.

Примечание. Единственное ограничение— допустимый объем скомпилированного кода не более 2 кбайт.

 

Шаг первый — построение блок-схемы

Обычно создание проекта начинается с планирования последовательности действий (алгоритма), которые должен выполнять микроконтроллер. В среде разработки Flowcode для данных целей предусмотрен наглядный интерфейс по созданию блок-схемы программы.

В качестве первого примера разработаем систему, которая будет приводить в действие один из двух режимов «моргания» светодиодами в соответствии с положением внешнего переключателя. Алгоритм программы приведен на рис. 1.

ример алгоритма программы

Рис. 1. Пример алгоритма программы

 

Шаг второй — реализация блок-схемы в Flowcode

Этапы реализации блок-схемы в Flowcode (рис. 2):

  • Запустите программу Flowcode.
     Блок-схема, созданная во Flowcode

    Рис. 2. Блок-схема, созданная во Flowcode

  • Нажмите ОК, когда откроется окно Reminder Screen.
  • Создайте новый проект (Create a new FlowCode flowchart).
  • Выберите в качестве контроллера (Choose a target) PIC16F887 (он установлен на демонстрационной плате 44-pin Demo Board комплекта PICkit 2 Debug Express).
  • Откройте новую рабочую область (workspace) с названием “Main”.
  • Добавьте необходимые блоки для блок-схемы. Для этого наведите курсор на нужную иконку в левой панели и, удерживая левую кнопку мыши, перетащите ее в рабочую область.
  • Добавьте необходимые элементы (светодиоды LED, переключатель). Для этого щелкните мышью по иконке соответствующего элемента в верхней панели.
  • В выпадающем меню окна LEDs («Светодиоды») выберите пункт Component Connections. В меню Connect to Port («Соединение с портом») выберите PORT D (светодиоды демонстрационной платы 44-pin Demo Board выведены на PORT D). Данный диалог должен принять вид, который представлен на рис. 3.
    Выпадающее меню окна LEDs («Светодиоды»)

    Рис. 3. Выпадающее меню окна LEDs («Светодиоды»)

  • В выпадающем меню окна Switches («Переключатели») выберите пункт Properties («Свойства») и укажите количество кнопок — 1 (рис. 4).
     Выпадающее меню окна Switches («Переключатели»)

    Рис. 4. Выпадающее меню окна Switches («Переключатели»)

  • В пункте Connect to Port выпадающего меню выберите PORT B (кнопка на плате 44-pin Demo Board подключена к PORT B, бит 0). Диалог Connect to Port примет вид, который представлен на рис. 5.
     Диалоговое окно Connect to Port

    Рис. 5. Диалоговое окно Connect to Port

 

Настройка элементов блок-схемы

Теперь настало время настройки элементов, составляющих блок-схему. Для настройки элемента нужно дважды щелкнуть на его иконке мышью. Для удобства чтения блок-схемы в строке Display name напишите короткое пояснение о функциональном назначении блока.

Loop («Основной цикл»)

 Основной цикл

Рис. 6. Основной цикл

Input

Для начала необходимо создать переменную, отвечающую за информацию о положении кнопки. Щелкните по Variables («Переменные»), чтобы открыть диалог Variables Manager. Щелкните по Add New Variable («Добавить новую переменную») и добавьте новую переменную с названием Input (рис. 7).

обавление новой переменной с названием Input

Рис. 7. Добавление новой переменной с названием Input

Нажмите OK. Вернувшись в окно Variables Manager, нажмите кнопку Use Variable. Вернувшись в окно Properties, выберите PORT B, Single Bit (рис. 8).

Настройка новой переменной в окне Variables Manager

Рис. 8. Настройка новой переменной в окне Variables Manager

Decision

В окне Properties нажмите на Variables и выберите Input, затем щелкните на Use Variable. Дайте название (Display name) — “Is switch pressed?” (рис. 9).

 Введение названия для новой переменной

Рис. 9. Введение названия для новой переменной

Ветка No/Output

Чтобы зажечь крайние светодиоды, необходимо выставить в единицу биты 0 и 7 порта PORT D, то есть ввести в PORT D число 129 (27+20) (рис. 10).

Введение в PORT D числа 129

Рис. 10. Введение в PORT D числа 129

Ветка Yes / Первый блок Output

Чтобы зажечь светодиоды с 0 по 3, необходимо ввести в PORT D число 15 (20+21+22+23) (рис. 11).

Введение в PORT D числа 15

Рис. 11. Введение в PORT D числа 15

Оба блока Delay

Длительность задержки может быть задана в миллисекундах и секундах. Необходимо задать задержку в полсекунды (рис. 12).

Задание длительности задержки

Рис. 12. Задание длительности задержки

Второй блок Output

Чтобы зажечь светодиоды с 4 по 7, необходимо ввести в PORT D число 240 (24+25+26+27) (рис. 13).

Введение в PORT D числа 240

Рис. 13. Введение в PORT D числа 240

Теперь блок-схема должна иметь вид, представленный на рис. 14.

Конечный вид блок-схемы, созданой во Flowcode

Рис. 14. Конечный вид блок-схемы, созданой во Flowcode

 

Симуляция программы

Программа Flowcode позволяет проверить ее работу при помощи симуляции. Симуляция возможна в двух режимах: непрерывная и пошаговая, блок за блоком. В обоих режимах в окнах Variables и Call Stack отображаются текущие значения. Когда вы запускаете симуляцию программы на полной скорости, данные в этих окнах не обновляются. Если же скорость симуляции ниже полной или выполнение программы ведется пошагово, созданные переменные отображаются в окне Variables на каждой итерации.

Теперь посмотрим на симуляцию на полной скорости. Нажмите Run на панели инструментов. Используйте возможность остановки и продолжения работы программы (F5 или Go/Continue в меню Run). При этом можно увидеть текущие значения в окнах Variables и Call Stack, а также крайние светодиоды (0-й и 7-й светятся). Щелкните по иконке кнопки и убедитесь, что светодиоды 0–3 моргают в противофазе со светодиодами 4–7. Программа работает корректно.

Если вы не получили нужного результата, вернитесь к началу и повторите все заново.

 

Программирование PIC-контроллера

Подготовительная часть закончена, вы получили полнофункциональную программу, работающую по заданному алгоритму. Выполните следующие инструкции для программирования контроллера:

  • Подключите PICkit2 к ПК через USB.
  • Подключите PICkit2 к демонстрационной плате 44-pin Demo Board.
  • В меню Chip выберите пункт Compile to Chip (для компиляции необходимо сохранить созданную программу).
  • Откроется окно Compile Messages, в котором отображается текущий прогресс. При программировании контроллера засветятся индикаторы Target и Busy на PICkit2. Когда программирование закончится, появится строка Finished, после чего следует нажать кнопку Close.
  • Ваша программа должна запуститься. Светодиоды 0–3 должны мигать в противофазе со светодиодами 4–7. При нажатии кнопки должны светиться только светодиоды 0 и 7.
  • Незаметно для пользователя программа Flowcode сформировала по графической блок-схеме C-файл и компилировала его в ассемблер. Полученный C- и asm-код можно просмотреть, выбрав в меню Chip соответственно команды “View C” и “View ASM” либо просмотрев содержание файлов prog1name.c и prog1name.asm в папке, где сохранен данный проект.

 

Заключение

В данной статье показано, как просто создать программу для контроллера по заданному алгоритму. При этом пример охватывает лишь малую часть функциональных возможностей Flowcode. Незатронутыми остались такие возможности, как вычислительные операции, манипуляции со строковыми переменными, создание пользовательских макросов, вставки C-кода и т. д. Для их освоения программа Flowcode снабжена подробными справочными материалами и описаниями (меню Help). О всех возможностях, предоставляемых Matrix Multimedia, можно узнать на сайте http://www.matrixmultimedia.com/.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *