Технический Портал Левши Воскресенье, 25.06.2017, 22:10
| RSS
Меню сайта

Категории раздела
ПИТАНИЕ [17]
МЕТАЛЛО ДЕТЕКТОРЫ [1]
СВЯЗЬ [5]
НАЧИНАЮЩИМ [6]
МикроКонтроллеры [15]
АВТОМАТИКА [4]
АУДИО. [2]
СИСТЕМЫ ОХРАНЫ И БЕЗОПАСНОСТИ [6]
СИСТЕМЫ ДЛЯ САМООБОРОНЫ [1]
ТЕЛЕФОНИЯ [7]

Мини-чат

Главная » Статьи » РАДИОЭЛЕКТРОНИКА » МикроКонтроллеры

ПРОГРАММА FLOWCODE - полет первый
Программа FlowCode
как самый простой и легкий путь к применению микроконтроллеров в своей практике.
Полет первый
Современные микроконтроллеры — это хорошо продуманные устройства, позволяющие существенно упростить построение схем. Очень часто в своем корпусе они имеют встроенные компараторы, АЦП, модули работы с сетью USART или радиоканалом RF. То, как настроить работу с этими устройствами, как использовать эти устройства, лучше прочитать в документации на конкретный тип микроконтроллера — никто лучше производителя не знает этого.
Но, если не пытаться при первом знакомстве с микроконтроллером использовать в полной мере все, что в нем заложено, то можно рассматривать контроллер, как обычную цифровую микросхему. У нее есть выводы, объединенные в группы, называемые портами. Выводы, в целом, могут как-то при программировании устанавливаться в свойствах быть входами или выходами микросхемы. Выходы микроконтроллера, как любой цифровой микросхемы устанавливаются в 0 или 1. При программировании микроконтроллера в определенном месте памяти устанавливаются режимы работы: будет ли контроллер использовать встроенный тактовый генератор или последний будет внешним, с кварцем или RC цепью; будет ли контроллер использован для перехода в режим ожидания; на какой скорости будет работать USART и т.д. Часто эти параметры устанавливаются в «слове конфигурации» контроллера, как биты 0 или 1. Эта конфигурация записывается при вводе программы в контроллер с программатора и остается неизменной в дальнейшем.
Все, что относится к слову конфигурации, мы можем рассмотреть тогда, когда заговорим о программировании и программаторах, и о программе, работающей с программатором. Как программаторов, так и программ работающих с программаторами много. Если вы не планируете профессионально заниматься микроконтроллерами, «прошивая» по сотне микросхем в день, то совсем не обязательно выбирать программатор, работающий с LPT или USB портами компьютера, вполне подойдет и простенький программатор, присоединяемый к COM-порту. То же можно сказать и о выборе контроллера — если у вас нет сложной задачи, для которой запланировано время на выбор контроллера, используйте тот, что подешевле, что можно купить в ближайшем магазине или получить по почте. Позже, когда вы наберетесь опыта, вам не сложно будет сменить PIC на AVR или любой другой. Среды разработки, такие как MPLAB или AVRStudio могут работать напрямую с рядом программаторов. Но это потребует от вас больше работы по поиску схемы и сборке устройства. Порой проще выполнить всю работу по созданию кода и его отладке в одной программе, а выполнить программирование микросхемы в другой. Но это, как говорят, дело вкуса.
Рассмотрим самый простой случай, когда все выводы микроконтроллера используются «на выход». Для конкретизации используем PIC16F628A. А для реализации простых задач программу FlowCode. Такой «самый простой» случай позволит использовать контроллер в качестве управляющего устройства, скажем для переключения елочных гирлянд. Или для генерации меандра. Или как индикатор включения. Или...

Запускаем программу FlowCode.


Рис. 1. Первый запуск программы FlowCode

Программа предназначена для операционной среды Windows, но я использую ее в Linux, поэтому могут иметь место незначительные отличия во внешнем виде и поведении программы. Так у меня при запуске программы основное рабочее поле необходимо открыть, используя стандартную кнопку Распахнуть в правом верхнем углу. Если вы уже работали с программой, то при запуске в окне диалога открытия файла можно выбрать, предстоит ли работа с новым файлом (Create a new FlowCode flowchart...), или будет продолжена работа со старым (Open an existing FlowCode flowchart...), который можно выбрать из предложенного ниже списка.
Я не борец за «крутость», по причине чего хочу заставить микроконтроллер управлять светодиодом, который на макетной плате припаяю к выводу, скажем, нулевому порта А. Пусть мигает раз в секунду.
Я подозреваю, что в программе это можно сделать несколькими способами, но использую самый очевидный — на правой инструментальной панели есть кнопочка с буквой «О». Думаю, это от слова output-выход (если навести курсор мышки на эту кнопочку, то высвечивается подсказка Output). Цепляю этот выход (нажимаю левую клавишу мышки, когда курсор указывает на иконку, и, не отпуская клавиши, перемещаю курсор в рабочее поле схемы) и тащу его к линии между овалами Begin-начало и End-конец. При этом курсор выглядит как стилизованная иконка, а слева появляется стрелочка-указатель.


Рис. 2. Добавление элемента программы к диаграмме

После добавления элемента Output диаграмма принимает следующий вид:



Рис. 3. Начальный вид диаграммы первой программы
Нуль в заголовке состояния порта А подразумевает, что все выводы находятся в состоянии логического нуля (в низком уровне напряжения) или что они будут установлены в 0.
Мигать чем-то — это менять состояние, но чтобы мигание имело место, понадобится пауза. Такой элемент (иконка на левой инструментальной панели с литерой «D») Delay-задержка есть. Перетаскиваем его и вставляем ниже первого выхода Output. Но, если состояние выводов порта А меня устраивало, то время паузы 1 мС не то, что мне хотелось бы. Двойной щелчок левой клавишей мышки по этому элементу на рабочем поле открывает диалоговое окно свойств элемента.



Рис. 4. Диалоговое окно свойств элемента Delay
Теперь достаточно выбрать опцию seconds, чтобы превратить миллисекунду в секунду. Следом за задержкой в 1 секунду я добавляю еще один Output, как и в первый раз, но теперь, двойным щелчком левой клавиши мышки по нему на рабочем поле схемы, открываю диалоговое окно его свойств:



Рис. 5. Изменение свойств выхода порта А в диалоговом окне

Заменив 0 в окне Variable or Value: единицей, добавив еще одну паузу, я почти достиг желаемого, если не... учитывать, что я хотел бы, чтобы светодиод мигал непрерывно. Такое непрерывное выполнение фрагмента программы, если не ошибаюсь в программировании называется циклом-Loop. И такой элемент на левой инструментальной панели есть, седьмая кнопка сверху. Добавление его к концу столь «долго» выстраиваемой программы, конечно, не приводит к цели. Но, нажав левую клавишу мышки, когда курсор находится на пустом месте над моей программой, я, удерживая клавишу, отрисовываю прямоугольник, включающий всю мою программу, кроме цикла. Все, что теперь выделено, можно перетащить к линии, соединяющей начало цикла While и конец, отмеченный как Loop. В программировании часто используются циклы, и бывают они разного вида, например, выполняемые заданное количество раз (For...) или условные, выполняемые до тех пор, пока не будет (или будет) выполнено некое условие, которое может, в свой черед, проверяться до выполнения очередного прохода программы, заключенной в цикл, или после прохода и т.д., но это уже имеет отношение к кодированию программы, к языку программирования, а не к нашему первому опыту.


Рис. 6. Первая программа в FlowCode

А мы написали первую программу, и пора бы проверить, работает ли она. Программа FlowCode имеет отладочные средства. И я глубоко убежден, что их должно хватать для создания достаточного количества устройств без необходимости покупать и программировать контроллеры.
Чтобы запустить отладку, достаточно в основном меню выбрать пункт Run и раздел Go/Continue или на основном инструментальном меню нажать кнопочку с иконкой, как у любого плеера обозначающей воспроизведение. Однако прежде, чем это сделать полезно (или весьма полезно) на левой инструментальной панели (второй) нажать первую кнопочку с изображением ряда индикаторов (светодиодов), появляющаяся подсказка к ним LEDs. Вот теперь можно и запустить отладку. Мигающий светодиод, обозначенный как А0, в точности повторит то, что вы увидите, собрав макетную плату.
Для первой программы полезно будет попробовать менять состояние порта А во втором Output, вписывая разные числа. Они все будут отображаться состояниями выводов порта А в виде, который можно называть кодом 1-2-4-8 или двоичном виде.

Рис. 7. Первый запуск первой программы

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

продолжение следует....!

обсудить  на форуме:  http://elektron.ucoz.ru/forum/9


Категория: МикроКонтроллеры | Добавил: ЛЕВША (30.07.2008) | Автор: не известен
Просмотров: 23915 | Рейтинг: 4.1/8
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Поиск

Статистика

Наш опрос
КАКАЯ ОБЛАСТЬ ЭЛЕКТРОНИКИ ВАС ИНТЕРЕСУЕТ?
Всего ответов: 2460

Друзья сайта
  • Форумы Игростроя
  • CЛОВЕНСК
  • RemEXpert
  • ПАЯЛЬНИК
  • МЕДТЕХНИКА

  • Copyright MyCorp © 2017