Общие принципы работы с комплексом

1.5.1 Общие положения

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

Каждому студенту заранее выдается индивидуальное задание. Он должен дома подготовиться к лабораторной работе:

- изучить теоретический материал, который давался студенту на лекциях;

- изучить адресацию и использование органов управления и индикации блока управления;

- проанализировать задание;

- разработать алгоритм решения поставленной задачи;

- написать программу на языке ассемблера для микроконтроллера.

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

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

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

Разработка программы на языке ассемблера включает следующие этапы:

а) подготовка исходного текста программы;

б) компиляция программы (получение объектного кода);

г) отладка программы.

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

1.6 Работа комплекса в режиме «Одна ПЭВМ – одно рабочее место»

Лабораторный комплекс может использоваться не только для проведения лабораторных работ со студентами. Можно его использовать для решения реальных задач (производственных), требующих подготовки и записи программы в микроконтроллеры AT90S8535 или AT90S4434, используемые в качестве встраиваемых контроллеров.

В этом случае необходимо использование одного рабочего места. Можно отказаться от работы монитора ПЭВМ в восьмиоконном режиме и от ввода программы с клавиатуры рабочего места. Тогда ввод программы в ПЭВМ и её редактирование осуществляется с клавиатуры преподавателя. Исчезают затруднения с «длинными» директивами и командами, комментарии можно писать и на русском языке, более удобно работать с экраном монитора, чем с экраном ЖКИ.

В рассматриваемом режиме работы комплекса, который условно назван режимом «Одна ПЭВМ – одно рабочее место», БУ рабочего места используется для записи программы в микроконтроллер. Поэтому в схеме подключения комплекса ПЭВМ никаких изменений, по сравнению с режимом работы со студентами, нет. Из восьми рабочих мест используется только одно (остальные рабочие места могут быть отключены от БС).

В режиме «Одна ПЭВМ – одно рабочее место» изменяется использование программного обеспечения комплекса.

Для ввода программы используется программа AvrStudio.

Для запуска программы запустите файл AvrStudio.exe. Появится основное диалоговое окно программы.

В верхней части программы находится меню, в нем надо выбрать Project–>New. В появившемся окне выберите имя проекта (Project name), место на диске, куда сохранять проект (Location), а также тип проекта(Project type), щелкнув мышью на AVR assembler, затем щелкнув на кнопке OK.

Появится окно проектов (Project:), в котором находится дерево файлов. В него входят файлы, которые будут компилироваться, с расширением.asm (Assembler Files), а также дополнительные файлы библиотек (Other Files). На ветви Assembler Files необходимо щелкнуть правой кнопкой мыши появится меню, в нем необходимо выбрать пункт Create New File.

В появившемся окне выбрать имя файла (Name), обязательно с расширением.asm и нажать кнопку OK.

В открывшемся окне проектов появится в дереве файлов отдельной ветвью имя файла. Его нужно перетащить, удерживая на нем правую кнопку мыши на ветвь Assembler Files. После этого щелкнув правой клавишей мыши снова вызвать меню и выбрать пункт параметры проекта (Project Settings). В появившемся окне AVR Assembler Options в пункте формат выходного файла (Output file format:) выбрать Intel Intellec 8/ MDS (Intel Hex), нажать OK.

Затем снова вернуться в окно проектов, и щелкнув правой кнопкой мыши на ветви другие файлы (Other Files) вызвать меню и выбрать пункт добавить файл (Add File), найти файл 8535def.inc и подключить его к проекту. Необходимо отметить, что этот файл должен находится в той же папке, что и asm файл, который создается, поэтому его лучше скопировать заранее, иначе это вызовет ошибку компиляции. Если все сделано правильно, то окно проектов должно выглядеть следующим образом:

Теперь щелкаем два раза на asm файле и в открывшемся окне набираем программу. После того как программа набрана, нажимаем F7 и производим её компиляцию, при этом создается файл с расширением hex, который затем надо будет записать в микроконтроллер. После компиляции появится окно Project Output, в котором указано, какой файл ассемблируется, используемый файл библиотеки, количество слов в программе и сообщение об отсутствии ошибок Assembly complete with no errors. Если есть ошибки, то в этом окне указывается тип ошибки, номер строки с ошибкой и в конце общее число ошибок. Для их исправления необходимо вернутся к редактируемому файлу и их исправить, а затем снова откомпилировать программу.

AvrStudio позволяет не только компилировать программы но и отлаживать их на этапе разработки. При этом AvrStudio эмулирует работу микроконтроллера, всех портов ввода/вывода, счетчиков/таймеров, прерываний, ШИМ и АЦП. Эмуляция работы программы позволяет рассмотреть её работу, как если бы она была записана в микроконтроллер.

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

Для отладки программы, после того как она написана, нужно в меню Project выбрать пункт Build and run или нажать Ctrl + F7. Появится окно опции эмулятора (Simulation Options). В пункте устройство (Device) нужно выбрать микроконтроллер AT90S8535, в пункте частота (Frequency), частоту 8 МГц, нажать кнопку OK.

После этого появится окно, в котором набиралась программа, но начало программы будет отмечено желтой стрелкой – это начало программы, выше идут директивы компилятора. При эмуляции работы программы необходимо видеть состояния регистров, портов ввода/вывода, процессора. В главном меню программы выбираем пункт просмотр (View), затем пункт регистры (Registers), далее пункты процессор(Processor), просмотр ввода/вывода (New IO View). В меню View имеются и другие пункты, которые можно использовать, но в данном руководстве не рассматриваются. Для наблюдения работы микроконтроллера в большинстве случаев достаточно только этих окон. Таким образом после всех этих действий получится окно примерно такого вида:

Теперь можно приступить к запуску программы. AvrStudio позволяет запустить программу в реальном времени, в пошаговом режиме, до указателя. В главном меню в пункте отладка (Debug), находятся все варианты запуска программы.Reset – сброс на начало программы (желтая стрелка указателя показывает на начало),Go – запуск в реальном времени (программа будет выполнятся до тех пор пока не будет выбран пункт Break), Step over – пошаговый режим (программа выполняется построчно, при этом останавливается после каждой команды, стрелка указывает на текущую команду), Run to cursor – выполнять до курсора (программа выполняется до места отмеченного курсором в окне с редактируемой программой). Во время выполнения программы можно наблюдать за состоянием регистров после каждой команды, тем самым проверяется правильность операций, производимых микроконтроллером. Наиболее удобный режим для этого – пошаговый.

Содержание окон для наблюдения процессов в микроконтроллере в основном понятно, необходимо пояснить содержание окна IO, в котором показаны все устройства микроконтроллера. Напротив каждого устройства стоит знак «+», щелкнув на нем мышкой, получаем содержимое этого устройства, т.е. состояние управляющих регистров, регистров данных и т.д. Два раза щелкнув на содержание, какого-нибудь регистра можно изменить его состояние в процессе выполнения программы. В регистре портов ввода/вывода можно задать входные сигналы, отмечая галочкой в нужном бите состояния логической единицы, тем самым эмулируется воздействие внешних сигналов.

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

AvrStudio позволяет записывать программу в микроконтроллер, но в стенде используется несколько другая схема программатора, поэтому использовать эту возможность программы нельзя.

Для записи программы в микроконтроллер используется программа New_SP. Для запуска программы запустите new_sp.exe.

В нижней части окна программы установить номер порта COM2, нажать кнопку Start. Если порт установлен, нижняя часть окна станет зеленой. Затем в окнах с полосами прокрутки выбрать диск, каталог, и имя записываемого файла с расширением.hех. Для записи программы нажать кнопку Write Flash. Программа записывается в микроконтроллер и в верхнем окне выводится тип микроконтроллера и имя записываемого файла. Если запись невозможна, не выбран hex файл или нет соединения с микроконтроллером, программа выводит сообщение Nothing to do for sp.

Разработать и отладить на эмуляторе AVR STUDIO программы, выполняющую следующее:

Составить программу изменение порядка размещения данных в массиве из 20 восьмибитных чисел (от 0 до 255) на обратный. Массив задать в ОЗУ. Адрес начала массива выбрать самостоятельно.

На вход таймера Т2 поступают импульсы. На линии порта В1 должна установиться 1, если за 1 с таймер не насчитает больше 123 импульсов. Частота тактового генератора

1 МГц.

Составить программу сложения двух двухразрядных чисел. Ввод первого числа с помощью двух тумблеров (диапазон 0…3). Ввод второго числа с помощью других двух тумблеров (диапазон 0….3). Вывод результата на семисипьентный индикатор подключенный к порту С. Сегмент а – С0, сегмент b – C1 и т.д.

На вход таймера Т2 поступают импульсы. На линии порта В должна установиться 0, если за 1 с таймер насчитает больше 45 импульсов. Частота тактового генератора

1 МГц.

Составить программу выделения максимального числа из массива 20 однобайтовых чисел (в диапазоне 0….255). Числа взять из массива в ОЗУ. Начальный адрес массива 30Н ($30). Предварительно массив заполнить произвольными числами (можно программно). Максимальное число отправить в порт С.

Составить программу вывода на линию порта В0 пачку импульсов частотой 10 кГц. Количество импульсов в пачке 10, скважность импульсов 2. Частоту тактового генератора выбрать самостоятельно.

Разработать и отладить на эмуляторе AVR STUDIO программы, выполняющую следующее:

Составить программу изменение порядка размещения данных в массиве из 20 восьмибитных чисел (от 0 до 255) на обратный. Массив задать в ОЗУ. Адрес начала массива выбрать самостоятельно.

На вход таймера Т2 поступают импульсы. На линии порта В1 должна установиться 1, если за 1 с таймер не насчитает больше 123 импульсов. Частота тактового генератора

1 МГц.

Составить программу сложения двух двухразрядных чисел. Ввод первого числа с помощью двух тумблеров (диапазон 0…3). Ввод второго числа с помощью других двух тумблеров (диапазон 0….3). Вывод результата на семисипьентный индикатор подключенный к порту С. Сегмент а – С0, сегмент b – C1 и т.д.

На вход таймера Т2 поступают импульсы. На линии порта В должна установиться 0, если за 1 с таймер насчитает больше 45 импульсов. Частота тактового генератора

1 МГц.

Составить программу выделения максимального числа из массива 20 однобайтовых чисел (в диапазоне 0….255). Числа взять из массива в ОЗУ. Начальный адрес массива 30Н ($30). Предварительно массив заполнить произвольными числами (можно программно). Максимальное число отправить в порт С.

Составить программу вывода на линию порта В0 пачку импульсов частотой 10 кГц. Количество импульсов в пачке 10, скважность импульсов 2. Частоту тактового генератора выбрать самостоятельно.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: