Примеры программ algorithm builder

Эта страница — репозиторий шаблонов для создания проектов в Algorithm Builder.
Шаблоны облегчают создание программ, предоставляя готовый базовый функционал, такой как работа с кнопками, формирование ШИМ, управление пультом, работа с UART и тому подобное.

ab_m328_16_template.zip (Одна Загрузка)
Доступные модули:
— Wait — Модуль формирует задержки в программе
— PWM — Модуль формирует ШИМ-сигнал на произвольных ногах МК
— RND — Модуль формирует случайное число
— Math — Реализует математические операции (на данный момент не полностью закончен)
— EX_Key — Модуль обрабатывает произвольное количество кнопок на любых ногах МК.
— UART — Модуль выдает и принимает сообщения UART.
— STimer — Модуль реализует произвольное количество небольших и экономных независимых таймеров (от миллисекунд до пары секунд)
— LTimer — Модуль реализует произвольное количество независимых таймеров широких промежутков времени (от миллисекунд до суток)

How to Create Programming Flowchart | ALGORITHM AND FLOWCHART


— IR_Detect — Модуль принимает и обрабатывает ИК-посылки с любого бытового пульта посредством интегрального приемника TSOP4836
— LCD — Модуль позволяет подключить к проекту символьный дисплей на базе контроллера DH44780
— Nokia — Модуль позволяет подключить к проекту дисплей на базе контроллера PCD8544 (типа Nokia 5110 или 3310)
— Print — Модуль посредством которого можно выводить на произвольное отображающее устройство строки текста и числа
— Menu — Модуль реализует меню на произвольном устройстве отображения
— Menu_Struct — Пример построения структуры меню и небольшой манула по всем элементам структуры (для удобства создания своего меню)
— ADC — Модуль для автоматического опроса всех каналов АЦП (значения хранятся в массиве)
— Демонстрация работы ADC
— Color — Изменение различных параметров цвета
— Описание алгоритмов Color
— Демонстрация работы Color

ab_t2313_8_template.zip (2673 Загрузки)
Доступные модули:
— Wait — Модуль формирует задержки в программе
— PWM — Модуль формирует ШИМ-сигнал на произвольных ногах МК
— RND — Модуль формирует случайное число
— Math — Реализует математические операции (на данный момент не полностью закончен)
— EX_Key — Модуль обрабатывает произвольное количество кнопок на любых ногах МК.
— UART — Модуль выдает и принимает сообщения UART.
— STimer — Модуль реализует произвольное количество небольших и экономных независимых таймеров (от миллисекунд до пары секунд)
— LTimer — Модуль реализует произвольное количество независимых таймеров широких промежутков времени (от миллисекунд до суток)
— IR_Detect — Модуль принимает и обрабатывает ИК-посылки с любого бытового пульта посредством интегрального приемника TSOP4836
— LCD — Модуль позволяет подключить к проекту символьный дисплей на базе контроллера DH44780
— Nokia — Модуль позволяет подключить к проекту дисплей на базе контроллера PCD8544 (типа Nokia 5110 или 3310)

Светлые головы #1-2. Algorithm Builder 5.44


— Print — Модуль посредством которого можно выводить на произвольное отображающее устройство строки текста и числа

ATtiny13 (внутренний задающий генератор 9.6МГц)

Работать с шаблонами очень просто. Шаблон — это набросок программы к которому можно добавить необходимые странички-модули для различных целей. Все модули сделаны по возможности независимыми от основной программы (зачастую все действия выполняются в прерываниях) и по минимуму задействуя регистры общего назначения.

Настройка и запуск (инициализация) модуля в работу описаны на самой страничке модуля. В большинстве модулей есть макросы и процедуры для работы с ним из основной программы (они тоже подробно описаны). По умолчанию модули уже сконфигурированы и работоспособны сразу после их подключения, но Вы можете настроить их по своему усмотрению, например, изменив их параметры или поменяв используемые порта — это делается в таблице окна модуля (F12).

Читайте также:
Как написать программу клиент для сайта

Архив шаблона содержит следующие материалы:
— readme.txt — описание шаблона
— modules.txt — описание модулей входящих в шаблон
— ab_project_source — папка с исходником шаблона
— fuse.png — картинка с фьюз-битами
— ab_project_scheme.spl7 — шаблон схемы в sPlan 7
— Файл Excel (расширение xls) — помощник в создании программы. Файл содержит набор вкладок, таких как, вкладка для записи использования регистров общего назначения по модулям (очень удобно чтобы избежать коллизий при использовании регистров), вкладка с картинкой распиновки МК (чего очень не хватает в Билдере), вкладка расчета таймеров, вкладка расчета АЦП, вкладка с полезной информацией, …

Материалами для модулей служат следующие источники:
— мои разработки
— библиотеки подпрограмм и макросов с ресурса Билдера
— библиотека алгоритмов с форума
— любые Ваши идеи или готовые модули — можно оставить в специальном разделе форума

Участвуйте в создании модулей! Сделаем Билдер доступней!

Источник: www.getchip.net

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

В данном разделе я буду помещать материалы по программированию только в среде Algorithm Builder.
А следовательно, это только микропроцессоры AVR. Авторский сайт программы.

1. На рисунках представлен возможный вариант программатора для АБ (так уже устойчиво называют в интернете эту среду) по схеме из мануала АБ.

программатор общ. вид внутренности

2. Программа на АБ адаптирована для 2-х строчного индикатора.

Схема подключения LCD.

3. USB изолированный программатор по схеме из мануала АБ по версии v5.44.

Разводка печатной платы в формате SLayout5 лежит здесь.

вид на пайку вид на монтаж

Микросхема FT232 действительно оказалась очень термостойкой, как и заявляли производители. Мне пришлось её дважды перепаивать. Грел феном паяльной станции при 350 градусах. На фото видно, что текстолит немного потемнел. И тем не менее, Виндовс её сразу определил и проинсталил.

Советую при повторении сначала запаять FT, её питание, подпаять кабель, и сразу вставить в разьём USB. Если микросхема определится, то тогда стоит дальше паять остальное. Я, например, перепутал провода USB. Что бы повторяющим не проходить мой путь, я на плате обозначил не номера проводов, а их цвета, GWRB, соответственно. Экранирующую оплётку кабеля не подпаиваем.

Прошивка из мануала АБ для этого программатора шьётся за 5 секунд. Примерно 850 команд.

Программатор АБ в корпусе

Вот, упаковал в «корпус» из «термоусадки». Получилось вполне законченное изделие.

4. Программирование готовых hex-файлов.

Не всегда радиолюбители для конкретных применений пишут свои программы. Иногда необходимо просто зашить готовую чью-то программу, которая обычно представлена универсальным форматом, именуемым hex-файл. Для этих целей очень хорошо подходит программа АБ. Показываю, как это делается по шагам, в день пишу по предложению.

1. Для программирования любого AVR процессора, к нему необходимо подпоять 6 проводков. Из них 4 служебных и два питание 5 вольт. Так называемый ISP разьём подпаивается по стандартной, рекомендуемой изготовителем схеме. Привожу схему подпайки для популярного процессора ATmega-8 для обоих возможных корпусов.

Обычно я сразу в схеме рисую этот разьём, как это

сделано на верхней схеме на Attyni-2313 в этой статье. Хорошим тоном следует считать его наличие на печатной плате. Ну не выпаивать же каждый раз процессор, при наворачивании программы. Даже на серийных изделиях обычно этот разьём присутствует. Например, стандартный монетоприёмник EU-2.

Читайте также:
Программа рейзер для настройки мыши

Он сделан на той же Атмеге. Когда появились новые монеты по 10 р, просто приехал человек, подключил программатор и перепрошил проц.

3. Итак, помещаем добытый где-то HEX в новую пустую папку с любым Вашим названием. Не забудьте предварительно его распаковать.

3. Запускаем АБ. В закладке «файл», как обычно выбираем «новый». Откроется белое поле как на картинке:

Вместо NOPика пишем нашу волшебную фразу

В этой фразе Load: — это команда для АБ, означающая «ввести», а всё остальное — это название hex-файла, который АБ найдёт если Вы его положили в указанную папку.

Сохраняем проект, опять же в ту же папку и на панели нажимаем кнопку «. «. Если Вы ещё не указали, для прошивки какого кристалла будем готовить файл, то АБ нарисует вот такую картинку, где обычным способом выбираем кристалл и тактовую частоту. Опять жмём многоточие и если файл найден, то АБ нарисует такую картинку:

По подготовке файла это всё.

4. Подключаем проц электрически, через 6 верёвочек, по схеме из мануала АБ (жмём «?») на 35-й странице. Внешний вид обоих вариантов программаторов в начале этой статьи. Программирование при помощи USB программатора в данной статье не рассматривается. Описываю только программирование через COM-порт, как наиболее доступное для тех, кто не занимается созданием и отладкой программ.

5. Включаем наши «верёвочки» в COM-порт и смотрим в «девайс менеджере», каким номером программатор прописался, например COM-4. Показать с доп. портом не могу по причине отсутствия «верёвочек». Давно уже пользуюсь USB вариантом.

6.Запускаем АБ. «Опции»-Опции среды», выбираем COM-порт.

Обратите внимание, если мы используем простое подключение, то убираем «галочку» в окошке «через адаптор».

Жмём «применить». Замедление выбираем 3-4, обычно достаточно. Далее «Опции проекта» и выбираем закладку «Кристалл». Выбираем наш процессор и рабочую частоту (последнее не обязательно).

Далее закладка «Fuse bits». Здесь пока ни чего не меняем, а просто жмём «Read» и если всё правильно, АБ покажет внутренние установки кристалла. Внимание, в АБ «галочки» фузов ставятся противоположно даташиту. Галочка означает не запрограммированый бит, о чём предупреждает надпись выделенная красным.

И только если кристалл читается можно что-то (вдумчиво) поменять и нажать «Write». Не нажимая опасную кнопку Write, Вы можете играть с фузами до бесконечности, при этом Вы можете наблюдать их назначение. Например, видно, что в данном случае кристалл настроен для работы на внешний керамический резонатор с частотой от 1 до 16 мГц. Окончательно запутавшись, Вы можете опять прочитать кристалл и опять получите «заводские» установки, но это только пока Вы ничего не переписали.

7. Ну а если всё работает, жмём на картинку с изображением эл.жучка и поехали.

Схема подключения программатору процессора AT90PWM3.

Источник: samopal.su

Algorithm Builder. Урок 2 — О создании первой программы

Как я уже говорил, для загрузки прошивки в микроконтроллер необходим программатор. Самый простой вариант — это программатор на LPT порт.

Принципиальная схема программатора:

Вообще, резисторы можно и не ставить, но тогда риск спалить lpt порт становится еще выше.

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

Читайте также:
Logitech программа для настройки камеры

Кратко пробежимся по элементам, из которых строится алгоритм

  1. Текст. Представляет из себя текстовую строку, в которую записываются некоторые команды для algorithm builder.
  2. Вершина блока. Алгоритм в Algorithm Builder делится на блоки. Для создания такого блока и служит этот элемент.
  3. Поле. Представляет из себя отцентрированную в блоке строку. Предназначен для записи большинства команд микроконтроллеру. (создается при нажатии клавиши ENTER).
  4. Метка. Просто вертикальная черта. Не несет в себе никакой информации микроконтроллеру,
  5. Условный переход. Просто говоря — условие. Если то, что записано в прямоугольнике правда, идем по стрелке вправо, если ложь — вниз.
  6. Безусловный переход. Просто стрелка, для перехода между элементами алгоритма.
  7. Настройщик управляющих регистров. Элемент, позволяющий удобно настраивать периферию микроконтроллера

Переходим к практике

  • Открываем Algorithm Builder
  • Создаем новый проект (Файл-Новый. Перед созданием нового проекта нужно закрыть старый!)
  • Клик правой кнопкой мыши по рабочей области — опции проекта. В выпадающем списке выбираем контроллер(Atmega88). В поле тактовая частота вводим 1000000 (Это 1 МГц). И жмем применить.

​Теперь все готово для написания программы!

Начнем с классики — мигание светодиодом

Последовательность действии очень проста:

  • Включить светодиод
  • Подождать немного
  • Выключить светодиод
  • Еще немного подождать

​Начнем по-порядку — как включить светодиод? (т.е установить логическую 1 на ножке)

Ответ: Все действия с периферией микроконтроллера (В т.ч с портами ввода/вывода) осуществляются через регистры.

Регистр — набор из 8 бит. Бит — элементарная единица информации, может быть 1 либо 0

1 1 1 1 1

Это — пример регистра. Самый левый бит называется старшим, и имеет номер 7, самый правый — младшим, имеет номер 0. Не 1, а 0, это важно! Каждый бит регистра за что-либо отвечает. Например, за запуск таймера. Так что регистр можно сравнить с набором тумблеров.

Запись значения в бит регистра осуществляется следующим образом:

Большинство ножек микроконтроллера Atmega88 разделены на 3 порта ввода/вывода. Ножка может настраиваться как на выход, так и на вход. Мы будем работать с портом с индексом C

Каждый регистр имеет свое название

Нас интересуют два регистра — PORTC и DDRC.

  • DDRC отвечает за то, будет ли ножка входом или выходом
  • PORTC управляет состоянием ножки, то есть задает 0 на ножке или 1.

Посмотрим на распиновку микроконтроллера:

Нас интересует 6 ножек с 23 по 28. Это и есть порт C. Светодиод будем подключать к выводу 5 порта C (PC5, 28 ножка)

  • Настроить ножку PC5 на выход
  • Установить единицу на ножке PC5.

За то, будет ли ножка порта C входом или выходом отвечает регистр DDRC. Что бы ножка PC5 была входом, нужно записать в бит №5 лог. «0». Что бы ножка PC5 была выходом, нужно записать в бит №5 лог. «1».

«NOP» удаляем, он нам пока не нужен

Выделяем вершину блока, идем в раздел элементы-прерывания, выбираем из списка Reset

Жмем кнопку «S» (настройщик), выбираем Stack Pointer.

О том, зачем это нужно, я расскажу позднее.

Ставим элемент «label», жмем Enter

Вместо «NOP» пишем следующее:

То есть мы конфигурируем ножку 5 порта C (PC5) на выход

Жмем «L»(метка), далее Enter, набираем следующее:

Как я уже говорил, регистр PORTC управляет состоянием ножек порта C, то есть задает 0 на ножке или 1. Записывая в бит 5 этого регистра единицу, на ножке 28(PC5) установится 1, записывая в бит 5 этого регистра ноль, на ножке 28(PC5) установится 0.

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru