Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
2009-103.doc
Скачиваний:
5
Добавлен:
19.12.2018
Размер:
839.17 Кб
Скачать

4.1 Рекомендуемая последовательность действий при использовании среды asm Editor

При разработке программы в среде ASM Editor рекомендуется следующая последовательность действий:

  1. Запустить среду ASM Editor (ASM_Ed.exe).

  2. В области написания программы ввести текст программы, используя синтаксис и правила написания программ на языке Ассемблер.

  3. Сохранить программу (выбрав в меню File>Save или нажав на кнопку панели инструментов). Сохранять программу необходимо на диск С в папку C:\asm_8051\asm\. Имя файла должно быть записано латинскими символами и содержать не более 8 символов.

  4. Выполнить компиляцию программы, выбрав в меню Project> Compile Resource. Данный пункт позволяет запустить процесс компиляции программы с проверкой ошибок и процесс линковки откомпилированной программы. При возникновении ошибок на экране появляется окно с сообщениями об ошибках (рисунок 4), и линковка не выполняется. Для закрытия окна сообщений об ошибках необходимо нажать любую клавишу.

Рисунок 4 – Внешний вид окна сообщений об ошибках

Если компиляция прошла успешно, на экране появится окно с сообщением об успешной компиляции (рисунок 5). При этом в папках HEX и OBJ будут созданы файлы с соответствующими расширениями (*.hex и *.obj). Для закрытия окна сообщения об успешной компиляции необходимо нажать любую клавишу.

Рисунок 5 – Внешний вид окна сообщения об успешной компиляции

5 Программа управления внутрисхемным эмулятором микроконтроллеров семейства

MCS-51 ДЛЯ WINDOWS

Программа позволяет управлять внутрисхемным эмулятором на IBM-совместимом ПК. Взаимодействие программы и ВЭ осуществляется через интерфейс RS-232. Программа реализует следующие функции:

- загрузка скомпилированной программы в память ВЭ, с возможностью перезагрузки ранее загруженной программы;

- дизассемблирование загруженной программы и отображение исходного кода;

- запуск программы на выполнение;

- пошаговое выполнение программы;

- пошаговое выполнение программы с выполнением команд вызова за один шаг;

- задание точек останова программы, с проверкой корректности установки;

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

- просмотр и редактирование состояния портов микроконтроллера;

- просмотр памяти ВЭ;

- побайтное редактирование памяти ВЭ.

На рисунке 6 показан внешний вид окна программы после запуска, выполнения загрузки кода программы и отображения памяти ВЭ.

Рисунок 6 – Внешний вид окна программы управления внутрисхемным эмулятором микроконтроллеров семейства MCS-51

Интерфейс пользователя содержит следующие элементы:

  1. Основное меню.

  2. Панель основных функций.

  3. Группу элементов просмотра и редактирования данных регистров микроконтроллера.

  4. Группу элементов просмотра и редактирования состояния портов микроконтроллера.

  5. Исходный текст программы.

  6. Группу элементов отображения и редактирования данных памяти ВЭ.

Рассмотрим основные функции, выполняемые программой.

1. Загрузка программы. Для доступа к данной функции необходимо выбрать в основном меню Файл > Загрузить (Ctrl+L) или нажать кнопку на панели основных инструментов.

Данная команда позволяет открыть файл с расширением .hex, содержащий скомпилированный код программы, загружаемой во ВЭ. Дизассемблированный код программы будет отображен в области программы «Текст программы». В первой колонке отображается адрес команды в шестнадцатеричном представлении, во второй колонке отображается указатель точки останова программы (если есть), в третьей колонке отображается указатель , определяющий следующую исполняемую команду, в последней колонке содержится текст и данные команды на языке Ассемблер. После открытия и обработки файла программы исполняемый код загружается в память ВЭ, начиная с адреса 8000h. Адресация в программе должна начинаться с этого же значения, иначе могут возникнуть ошибки как при выполнении программы на ВЭ, так и связанные с работой программы управления ВЭ.

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

Данная команда позволяет перезагрузить ранее открытый файл программы и повторно загрузить исполняемый код в память ВЭ.

3. Запуск программы на выполнение. Для доступа к данной функции необходимо выбрать в основном меню Управление > Выполнить все (F5) или нажать кнопку на панели основных инструментов.

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

4. Выполнение одной команды. Для доступа к данной функции необходимо выбрать в основном меню Управление > Выполнить одну команду (F8) или нажать кнопку на панели основных инструментов.

Происходит выполнение одной команды, отмеченной указателем в области программы «Текст программы». Во время выполнения одной команды, программой управления в памяти ВЭ создается 1 или 2 точки останова. Точки останова, установленные программой не отображаются в области «Текст программы», они не могут быть удалены пользователем, кроме как непосредственным редактированием памяти ВЭ, и удаляются программой управления в процессе работы.

5. Выполнение одной команды с выполнением команд вызова за один шаг. Для доступа к данной функции необходимо выбрать в основном меню Управление > Выполнить одну команду с пропуском xCALL (F9) или нажать кнопку на панели основных инструментов.

Происходит выполнение одной команды, отмеченной указателем в области «Текст программы» аналогично пункту 4, но в случаях выполнения команд вызова, ACALL или LCALL пошаговое выполнение кода подпрограммы не выполняется.

6. Задание точки останова. Двойной щелчок по требуемой строчке области «Текст программы» приведет к установке на этой команде точки останова. Повторный двойной щелчок снимает точку останова. Поскольку точка останова занимает в памяти ВЭ 3 байта, а команда микроконтроллера может быть длиной от 1 до 3 байт, то точка не ставится, если ее установка приведет к «затиранию» данных следующей команды или адреса метки перехода.

7. Редактирование регистров микроконтроллера. Для изменения данных регистров микроконтроллера необходимо изменить соответствующее значение в области «Регистры» и нажать кнопку «Установить». Новые значения регистров необходимо вводить в шестнадцатеричном представлении. Чтение значений регистров ВЭ происходит автоматически в процессе работы программы управления.

8. Изменение значений на портах микроконтроллера. Состояние портов отображается в области «Порты». Наименование строк соответствует наименованию портов: Р0, Р1, Р2, Р3; наименование столбцов соответствует наименованию битов портов. Установленный «флажок» соответствует установленному биту порта в логическую 1, снятый – снятому биту порта в логический 0. Запись значения в порт осуществляется по кнопке «Записать», чтение данных с порта осуществляется по кнопке «Читать». Для каждого порта предусмотрена своя пара кнопок «Записать» - «Читать».

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

9. Отображение данных памяти ВЭ. Отображение данных памяти ВЭ осуществляется в области «Память». Диапазон адресов устанавливается в двух полях ввода, первым устанавливается адрес начала области памяти, затем – адрес конца области памяти, значения адресов указываются в шестнадцатеричном представлении. Для чтения указанной области памяти необходимо нажать кнопку «Отобразить». После чтения памяти в области программы «Память» появится перечень значений ячеек памяти с адресами в указанном диапазоне. Предельные границы области отображения содержимого памяти ВЭ – 8000h…81FFh.

10. Изменение данных памяти ВЭ. Двойной щелчок по области программы «Память» вызовет окно, в котором необходимо ввести адрес и новое значение ячейки памяти ВЭ в шестнадцатеричном представлении, после чего необходимо нажать кнопку «Записать» для изменения содержимого памяти. Процедуру изменения данных памяти ВЭ следует проводить с пониманием того, что запись некорректного значения в область памяти, содержащей код исполняемой программы, может привести к возникновению ошибок как при выполнении программы на ВЭ, так и связанных с работой программы управления ВЭ.

11. Обработка программного сброса ВЭ. Программный сброс ВЭ осуществляется командой JMP 0. Так как в процессе работы ВЭ только отвечает на команды программы управления, то в случае выполнения программного сброса возникает «рассинхронизация» данных программы управления и данных ВЭ, что приводит к некорректной работе программы управления и очищению части области памяти ВЭ с исполняемым кодом программы пользователя. При пошаговом выполнении программы данное событие обрабатывается управляющей программой – выполняются функции по п. 2.

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