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

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

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

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

Для ознакомительных целей компания Matrix Macromedia предлагает бесплатную демонстрационную версию Flowcode (единственное ограничение – допустимый объем скомпилированного кода не более 2 Кб).

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

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

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

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

Бесплатную демонстрационную версию Flowcode можно скачать по ссылке http://www.matrixmultimedia.com/temp/FlowcodeV3.exe

  • Запустите программу 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 (соединения с портом) выберите PORTD (светодиоды демонстрационной платы 44-pin Demo Board выведены на PORTD). Данный диалог должен принять следующий вид:

  • В выпадающем меню окна Switch (переключатель) выберите пункт Properties (свойства) и укажите количество кнопок – 1.

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

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

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

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

Input

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

Нажмите “OK”. Вернувшись в окно Variables Manager щелкните на кнопку Use Variable. Вернувшись в окно Properties выберите “PORTB “, “Single Bit”.

Desicion

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

Ветка “No”

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

Ветка “Yes”

Первый блок Output Чтобы зажечь светодиоды с 0 по 3, необходимо вывести в PORTD число 15 (20 + 21 + 22 + 23):

Оба блока Delay

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

Второй блок Output

Чтобы зажечь светодиоды с 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. Программа работает корректно! (Если Вы не получили нужного результата, вернитесь к началу и повторите все заново)

Программирование 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, Вы можете узнать на сайте www.matrixmultimedia.com.

статьи/программа.flowcode.и.программатор.microchip.pickit2.txt · Последние изменения: 11/06/2009.11:23 (внешнее изменение)
CC Attribution-Noncommercial-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0