Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
360.doc
Скачиваний:
8
Добавлен:
30.04.2022
Размер:
2.84 Mб
Скачать

Средства разработки алгоритмов и программ для мк

Разработка управляющих алгоритмов для однокристальных микроконтроллеров выполняется обычно специалистами той предметной области, которая автоматизируется, а не программистами. Поэтому все изготовители семейств МК разрабатывают различные программы, делающие программирование МК более доступным. В этой работе принимают участие и сторонние разработчики. В частности, в Туле разработана графическая среда Algorithm Builder для разработки программного обеспечения к микроконтроллерам с архитектурой AVR фирмы ATMEL (графический макроассемблер).

Среда предназначена для производства полного цикла разработки, начиная от ввода алгоритма, включая процесс отладки и заканчивая программированием кристалла. Разработка программы может выполняться как на уровне ассемблера, так и на макроуровне с манипуляцией многобайтными величинами со знаком.

В отличие от классического ассемблера программа вводится в виде алгоритма с древовидными ветвлениями и отображается на плоскости, в двух измерениях. Сеть условных и безусловных переходов отображается графически, в удобной векторной форме. Это к тому же освобождает программу от бесчисленных имен меток, которые в классическом ассемблере являются неизбежным балластом. Вся логическая структура программы становится наглядной.

Среда объединяет в себе графический редактор, компилятор алгоритма, симулятор микроконтроллера, внутрисхемный программатор.

Следует учесть, что среда является однозадачной, открытие нескольких проектов в одном редакторе невозможно.

При использовании внутрисхемного программатора микроконтроллер подключается к COM порту компьютера через несложный адаптер (три диода и несколько резисторов). Программатор ведет подсчет числа перепрограммирований кристалла, сохраняя счетчик непосредственно в кристалле.

Algorithm Builder обеспечивает мониторную отладку на кристалле (On Chip debug) которая позволяет наблюдать содержимое реального кристалла в заданной точке останова. При этом, для связи микроконтроллера с компьютером используется только один вывод, причем по выбору пользователя. Мониторная отладка может быть применена к любому типу кристалла, имеющего SRAM. Среда предназначена для работы в ОС Windows 95/98/2000/NT/ ME/XP.

Скачать архив этой среды можно по адресу http://home.tula.net/algrom/russian.html. Там же размещены ссылки на некоторые библиотеки подпрограмм и макросов, созданные пользователями этой среды.

В данной и следующей лабораторной работе используется режим симуляции (эмуляции) МК средствами ПК.

Предварительное задание

Изучите приведенные выше сведения о регистрах МК. В случае надобности используйте файлы учебных материалов и лекции.

Изучите рабочее задание и подготовьтесь к его выполнению.

Рабочее задание

  1. Запустите AlgorithmBuilder.exe. Программа является однозадачной, поэтому, если загрузился какой-либо алгоритм, обязательно дайте команду Файл / Закрыть проект.

  2. Откройте и прочитайте мануал программы (подробно до стр. 9, далее ознакомительно), в частности, найдите упрощенный способ ввода символа « –> ». Особое внимание обратите также на раздел «Редактирование алгоритма».

  3. Наберите «Простой пример», приведенный в мануале (без комментариев, стрелки переходов – после полного ввода алгоритма).

  4. Задайте тип МК, выбрав AT90S4434. Запустите симуляцию.

  5. Для наблюдения процессов во введенном алгоритме откройте окна “Processor”, “Port B” и “Working registers”.

  6. Опробуйте работу кнопок F5-F9, изменяя положение и количество точек останова. Учтите, что полное отсутствие точек останова не позволит вам наблюдать отработку алгоритма. В этом случае придется воспользоваться кнопкой Стоп или Reset.

  7. Многократно проходя циклы (F9) и пользуясь комментариями к примеру из мануала, составьте письменное изложение алгоритма управления, определив цель каждого этапа. Обратите внимание, что основная часть любого алгоритма управления объектом должна быть цикличной, дабы непрерывно повторять стадии получения информации от датчиков и других устройств объекта и направления результа­тов обработки в исполнительные механизмы.

  8. Многократно проходя циклы, проследите изменение значений разрядов слова состояния процессора, объясните результаты.

  9. Проследите изменение значений r17 и порта B, объясните результаты.

  10. Снимая флажки DDR, определите их влияние на поступление сигналов на выходы порта (Pin), объясните результаты. Установите флажки Pin в тех разрядах, где флажки DDR сняты, пронаблюдайте за ними, многократно проходя циклы. Восстановите флажки DDR.

  11. Проследите начальную установку стека, с помощью встроенного редактора (наведя курсор) определите десятичное значение загруженного числа. Объясните необходимость двух команд для загрузки стека. Объясните изменение значения указателя стека SP при входе в подпрограмму и выходе из нее.

  12. Определите, сколько тактов процессора занимает переход «1» из разряда порта B в разряд с учетом длительности подпрограммы и программы.

  13. Создайте папку с вашим именем, сохраните в ней алгоритм под именем LR5_1.

  14. Найдите в мануале фрагмент, поясняющий, почему нельзя непосредственно выполнить операцию “$FF->DDRB”, и фрагмент, указывающий, как подобные операции можно задавать в алгоритме без записи промежуточных действий.

  15. Выполните соответствующие действия для операций загрузки SP и DDRB. Замените условный переход С = 0 на переход по состоянию R17. Проверьте работу алгоритма.

  16. Замените в алгоритме ручную загрузку начального значения SP на инструмент SETTER. Изучите его описание, разберитесь, как этот инструмент работает. Проверьте функционирование алгоритма. Сохраните его под именем LR5_2.

  17. Измените тип МК (AT90S2333 или иной – тип задает преподаватель).

  18. Изучите раздел мануала «Редактирование алгоритма». Пользуясь изученными макро-способами (включая Макро-условия), переработайте алгоритм так, чтобы при каждом нажатии F9 происходил переход «1» из разряда порта B в следующий разряд (без ухода в состояния, не отображаемые в задействованных разрядах порта). Проверьте работу алгоритма. Сохраните его под именем LR5_3.

  19. Переработайте свой алгоритм так, чтобы логические единицы в биты порта B выводились поочередно в порядке от старшего к младшему разряду. Выполните симуляцию и сохраните алгоритм под именем LR5_4.

  20. Переработайте свой алгоритм так, чтобы в порте B перемещались две смежные логические единицы. Обратите внимание на их переход с одного края разрядной сетки на другой. Доработайте алгоритм так, чтобы переход происходил через состояние 10…01. Выполните симуляцию и сохраните алгоритм под именем LR5_5.

  21. Изучите использование бита пользователя T в слове состояния процессора, попробуйте использовать его в предыдущем алгоритме. Сохраните алгоритм под именем LR5_6.

  22. Составьте отчет по перечисленным выше пунктам, включая скриншоты алгоритмов и экранов эмуляции. Приведите в пунктах отчета полученные навыки составления алгоритмов и навыки пользования программой, запишите отчет в файл под именем LR1 в той же папке, что и алгоритмы.

  23. Покажите результаты преподавателю, ответьте на его вопросы.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]