Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Дмитриев Универсалный лабораторный стенд. Инструменталные средства проектирования и отладки 2009

.pdf
Скачиваний:
47
Добавлен:
17.08.2013
Размер:
17.8 Mб
Скачать

Так, в результате выполнения команды MOV A,#01h в аккумулятор должно быть записано значение 01. В этом можно убедиться, просмотрев окно «Regs» (рис. 1.18).

В результате выполнения команды MOVX @DPTR, A в ячейку внешней памяти с адресом 8000h должно быть записано значение 01. Этот результат проконтролируем в окне «Memory». Как говорилось ранее, в этом окне можно просматривать состояние как внутренней, так и внешней памяти данных. Для просмотра содержимого именно внешней памяти данных в командной строке окна «Сommand» следует набрать команду d x:0x8000, 0xffff (рис. 1.19).

Рис. 1.18. Контроль записи значения 01 в аккумулятор

Рис. 1.19. Ввод команды для просмотра содержимого внешней памяти данных

Поясним обозначения, используемые при записи команды:

D – сокращенное имя команды Display для просмотра содержимого памяти,

X – указатель на внешнюю память данных,

I – указатель на внутреннюю память данных, 0x8000 – начальный адрес внешней памяти данных, 0xFFFF – конечный адрес внешней памяти данных.

21

После выполнения данной команды в окне «Memory», настроенном таким образом на просмотр именно внешней памяти данных, можно увидеть, что действительно в ячейку с адресом 8000h записано значение 01 (рис. 1.20).

Рис. 1.20. Просмотр содержимого внешней памяти данных

1.2.3. Работа с периферийными устройствами

Для отладки программ в симуляторе «dScope» по умолчанию используется модель базового ядра семейства MCS-51. Если отлаживаемая программа предполагает использование расширенного набора периферийных устройств, специфичных для конкретного МК, то к модели ядра необходимо подключить модели этих самых периферийных устройств.

В нашем случае такое подключение выполняется путем указания в главном окне симулятора «dScope» драйвера 80552.dll. После этого активизируется вкладка меню «Peripherals» (рис. 1.21), и пользователь получает возможность открытия необходимых окон, в которых отображаются состояния регистров как дополнительных, так и входящих в базовое ядро встроенных периферийных устройств.

Вкладка вложенных меню «Peripherals» содержит опции для вывода на экран окон всех периферийных устройств. На рис. 1.22 показан пример выбора опции для вывода на экран окна для отображения состояния порта Р4 при формировании отладочной среды

22

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

Рис. 1.21. Подключение драйвера для работы с окнами периферийных устройств

Рис. 1.22. Выбор опции Port4

Рассмотрим перечисленные возможности работы с окнами периферийных устройств на примере окна порта Р4. На рис. 1.23 показан текст программы, которую будем выполнять в пошаговом режиме.

Команда по адресу 8105h выводит в порт Р4 содержимое аккумулятора, которое после выполнения предшествующей команды по адресу 8101h составляет 1Fh. Проконтролировать правильность вывода в порт Р4 можно при помощи его окна.

Перед началом выполнения отладки оnкроем окно «Parallel Port 4» , добавив его к формируемой отладочной среде (рис. 1.24).

После выполнения команды по адресу 8105h в данном окне можно наблюдать требуемый результат (рис. 1.25).

23

Рис. 1.23. Текст программы с выводом в порт Р4

Рис. 1.24. Окно для отображения

Рис. 1.25. Результат вывода в порт

состояния порта Р4

Р4 значения 1Fh

Рис. 1.26. Установка требуемого значения 15h на линиях порта Р4

Ввод данных в МК через порт Р4 имитируется выполнением требуемой модификации состояний линий порта (строка «Pins»). Пусть, например, при выполнении команды по адресу 8109h требуется из порта Р4 загрузить в аккумулятор значение 15h. Перед шагом выполнения этой команды в строке «Pins» установим требуемое значение, как показано на рис. 1.26.

24

Результат выполнения команды по адресу 8109h можно проконтролировать в окне «Regs». Из рис. 1.27 видно, что после выполнения этой команды аккумулятор действительно содержит значение

15h.

Рис. 1.27. Контроль чтения из порта Р4 значения 15h

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

25

2.ПОДСИСТЕМA «МОНИТОР-ОТЛАДЧИК»

ДЛЯ ОТЛАДКИ ПРОГРАММ МИКРОКОНТРОЛЛЕРА

Подсистема «МОНИТОР-ОТЛАДЧИК» как приложение, работающее в среде Windows-XP, является составной частью комплекса аппаратно-программных средств отладки программного обеспечения МК PCF80C552 семейства MCS-51 и устанавливается на инструментальной ЭВМ. Данная подсистема предназначена для работы только с УЛС, подключаемым к инструментальной ЭВМ через СОМ-порт. Для обеспечения взаимодействия стенда с инструментальной ЭВМ в режиме запуска на ней рассматриваемого приложения используется программа «МОНИТОР», выполняемая микроконтроллером стенда.

При помощи подсистемы «МОНИТОР-ОТЛАДЧИК» пользователь имеет возможность:

загружать в эмулятор ПЗУ стенда отлаживаемую программу и запускать ее на исполнение;

загружать внешнюю память данных из файла и модифицировать ее содержимое в просмотровом окне;

осуществлять запуск программы в режиме останова в контрольных точках и пошаговом режиме;

осуществлять модификацию состояний внутренних ресурсов микроконтроллера без переассемблирования кода;

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

Замечание: для реализации функций останова в контрольных точках, модификации переменных и трассировки таймер Т1 внешнее прерывание INT0 и UART МК используются программой «монитор» стенда. Поэтому программы пользователя, использующие работу с данными ресурсами МК, нельзя отлаживать с использованием перечисленных выше функций. Если в отлаживаемой программе используется работа с таймером Т0, то при настройке режима его работы путем программирования регистров TMOD и TCON следует сохранять настройки таймера Т1, необходимые для корректной работы программы «МОНИТОР».

26

Рассмотрим последовательность работы с подсистемой «МО- НИТОР-ОТЛАДЧИК».

2.1. Вход в подсистему «МОНИТОР-ОТЛАДЧИК»

Для входа в систему необходимо на рабочем столе Windows

дважды щелкнуть мышью пиктограмму системы: После выполнения этих действий открываются:

– главное окно управляющей программы – MCS51 (рис. 2.1);

Рис. 2.1. Главное окно управляющей программы

программное окно «Program» (рис. 2.2) для последующего отображения листинга отлаживаемой программы. После входа в систему

вданном окне пользователю доступна только функция просмотра (выгрузки) внешней памяти данных

(ВПД) – кнопка «Upload Memory»;

окно внешней памяти данных

«Data Memory» (рис. 2.3). После входа в систему пользователю доступны функции открытия файла с требуемым содержимым ВПД – кнопка «Open File», редактирования содержимого окна – кнопка «EDIT» и очистки окна – кнопка

«Reset».

Рис. 2.2. Программное окно

27

Рис. 2.3. Окно внешней памяти данных

2.2. Открытие пользовательской программы

Перед загрузкой отлаживаемой программы в эмулятор ПЗУ необходимо открыть ее листинг в окне «Program». Выполнение данного действия доступно во вкладке меню «File» (рис. 2.4), а также

на панели быстрого доступа (пиктограмма ) или с помощью «горячих клавиш» Ctrl+O.

Рис. 2.4. Окно открытия листинга программы

После этого на экране монитора можно наблюдать стандартное окно навигации для поиска и открытия файла с листингом программы (рис. 2.5).

28

Рис. 2.5. Окно поиска и открытия файла с листингом пользовательской программы

Для открытия файла с листингом программы необходимо выбрать в окне требуемый файл с расширением *.LST. Пример открытого листинга показан на рис. 2.6.

Рис. 2.6. Программное окно с открытым листингом пользовательской программы

29

После выполнения данного действия можно переходить к загрузке абсолютного кода программы в эмулятор ПЗУ. Этот код содержится в одноименном файле с расширением *.HEX. Для загрузки эмулятора ПЗУ необходимо, чтобы файлы с расширениями *.LST и *.HEX находились в одной директории (по умолчанию C:\C51EVAL\BIN). После открытия листинга программы (см. рис. 2.6) для загрузки и запуска программы активизированы кнопки «Load» (загрузка пользовательской программы в эмулятор ПЗУ) и «Load+Go» (загрузка и автоматический запуск пользовательской программы).

2.3. Загрузка и отладка пользовательской программы

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

1.Загрузить в ПЛИС стенда файл с пользовательской или технологической «прошивкой».

2.Тумблер «СТ» на лицевой панели стенда перевести в положение «ВЫКЛ».

3.Микроконтроллер перевести в режим выполнения программы «МОНИТОР», расположенной в его ПЗУ с адреса 0000h путем нажатия кнопки «RESET» на лицевой панели стенда.

После правильного выполнения указанных действий программой «МОНИТОР» микроконтроллера на ЖКИ выводится контрольное сообщение «Кафедра КСиТ МИФИ».

НЕ СОБЛЮДЕНИЕ ДАННЫХ ТРЕБОВАНИЙ ПОСЛЕ НАЧАЛА ВЫПОЛНЕНИЯ ПОСЛЕДУЮЩИХ ДЕЙСТВИЙ ПО ЗАГРУЗКЕ И ОТЛАДКЕ ПРОГРАММЫ ПРИВЕДЕТ К ВОЗНИКНОВЕНИЮ НЕШТАТНОЙ СИТУАЦИИ В РАБОТЕ «МОНИТОРА –ОТЛАДЧИКА» .

Нештатная ситуация проявляется в виде эффекта зависания программы. Для возобновления работы с программой «МОНИТОРОТЛАДЧИК» необходимо перезапустить данное приложение и правильно выполнить перечисленные выше подготовительные операции.

30

Соседние файлы в предмете Интегрированные системы управления и проектирования