Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
MPS_kaf12_8 / MPS_kaf12_8.doc
Скачиваний:
114
Добавлен:
27.03.2016
Размер:
3.27 Mб
Скачать

1.3. Рекомендации по разработке и отладке программы на программно-логической модели

Программа реализации задания может быть оформлена в текстовом виде или непосредственно создана (написана) в среде Keil PK51 – Eval. В состав этого пакета входят интегрированная среда разработки μVision и программный симулятор-отладчик dScope. Среда разработки программы для микроконтроллера μVision вызывается кликом на пиктограмме (рис. 1.2) на рабочем столе.

Рис. 1.2. Пиктограмма среды разработки μVision

Порядок разработки подробно описан в пособии [4]. Далее обратим внимание только на отдельные этапы, касающиеся данной лабораторной работы.

На начальном этапе создаётся новый проект, для чего необходимо в меню-вкладке Project выбрать New Project (рис.1.3).

Рис. 1.3. Вкладка Project, создание нового проекта

После этого откроется меню создания нового проекта (рис. 1.4).

Рис. 1.4. Меню создания проекта Create New Project

В поле «Имя файла» вместо знака «*» нужно указать название проекта, не превышающее восьми символов, например LAB1 (но рекомендуется указать не более семи первых букв фамилии и цифру 1 на конце).

Проект должен располагаться в папке С:\С51EVAL\BIN.

Диск С – не сетевой, поэтому при выполнении работы в лаборатории при смене компьютера составленный проект придётся заново восстанавливать.

После заполнения всех полей и нажатия кнопки «ОК», откроется меню настройки проекта. На начальном этапе нет необходимости менять значения установок данного меню. Для закрытия следует нажать «Cancel». Далее во вкладке «File» нужно открыть новый файл «New», в результате появится окно, в котором записывается текст программы (рис. 1.5).

Рис. 1.5. Пример формирования программного кода

Созданному файлу необходимо присвоить имя, при этом имена ранее созданного проекта и файла должны совпадать. После выбора вкладки «File» и далее «Save As» в окне «Сохранить как» для указания типа файла нужно выбрать «Assembly Source (*.a51)». Далее с оставшимися полями проводим действия, как и при создании проекта.

Файл должен быть расположен в той же папке, где расположен проект, а именно в папке С:\С51EVAL\BIN.

Для завершения формирования проекта необходимо в меню настройки проекта добавить созданный файл. Для этого во вкладке «Project» выбираем «Edit Project» (рис. 1.6).

Рис. 1.6. Вкладка «Project», настройка проекта

Далее в меню настройки проекта нажимаем «Add» и находим созданный файл. Выбранный файл отображается в поле «Source Files». Для сохранения настроек нажимаем «Save».

На следующем этапе целесообразно проверить синтаксис написанной программы, для этого во вкладке «Project» выбираем «Compile File».

В случае успешной компиляции система выдаёт сообщение об этом. В случае ошибки система выдаёт сообщение о неудачной компиляции и подсвечивает место ошибки в программном коде. Также система даёт краткую расшифровку ошибки (рис. 1.7).

На рисунке показан вариант, когда в программе вместо Р1.2 ошибочно использовано обозначение Р4.2 Использование символических имен портов удобно при написании программ, но в имеющемся в настоящее время программном обеспечении поддерживаются только символические имена портов, имеющихся в базовой конфигурации МК (порты Р0-Р3).

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

До исправления ошибки дальнейшие действия не выполняются.

Рис. 1.7. Сообщение об ошибке компиляции программы

В случае успешной компиляции во вкладке «Project» нужно выбрать «Build Project», в результате чего должно быть получено сообщение системы об успешном создании файла *.hex (в данном случае LAB1.hex).

Далее отладка программы происходит в симуляторе dScope, предназначенном для отладки пользовательских программ на моделях различных микроконтроллеров. Окно симулятора вызывается нажатием на пиктограмму «Debug» (крайняя справа).

Пользовательский интерфейс симулятора изображен на рис. 1.8.

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

  • Go – выполнение программы, начиная с текущего адреса счётчика команд;

  • GoTilCurs – выполнение программы, начиная с текущего адреса счётчика команд. Выполнение заканчивается при достижении команды, содержащейся в строке, на которую указывает курсор;

  • StepInto – выполнение следующей команды (если встречается команда вызова функции, то происходит вход в тело функции);

  • Stop – прекращение выполнения программы.

Рис. 1.8. Пользовательский интерфейс симулятора dScope

Окно памяти (Memory) может отображать как память программ, так и память данных МК. Переключение режимов осуществляется путём выполнения специальных команд. Для ввода команд предусмотрено специальное окно (Command).

Окно регистров (Regs) отображает содержимое аккумулятора (А), вспомогательного регистра (В), восьми регистров общего назначения R7-R0. Последние относятся к тому банку регистров, номер которого задан в разрядах 4 и 3 слова состояния процессора (PSW). На экране в регистре слова состояния в этих разрядах цифра справа от буквы R как раз и означает номер используемого в данный момент банка регистров. При выполнении битовых операций важно контролировать состояние битового аккумулятора С, который является ничем иным как разрядом переноса в слове состояния (PSW.7). При нулевом состоянии этого разряда отображается символ «-», при единичном – символ «С».

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

Для обращения к периферийным устройствам МК в процессе отладки необходимо настроить dScope на работу с микроконтроллерами данного вида. Для этого в основном окне симулятора необходимо выбрать драйвер 80552.dll для установления соответствия микроконтроллеру, используемому в УЛС, после чего на верхней панели основного окна появляется дополнительное меню Peripherals.

Для отладки программы необходимо в меню «File» выбрать «Load object file». В поле «Типы файлов» необходимо выбрать «Hex file (*.hex)», указав диск и папку, содержащую файл (С:\С51EVAL\BIN), в поле «Имя файла» необходимо выбрать файл из списка (в нашем примере – LAB1.HEX).

Обратим внимание на то, что код программы будет в отладчике располагаться с адреса 8000h, а в окне данные начинаются с адреса 0000h. Для того чтобы перейти на первую команду программы, достаточно один раз кликнуть левой кнопкой мыши на бегунок в правой части окна. Потом необходимо нажать кнопку GoTilCurs. Таким образом, сразу выполняются все команды, расположенные в памяти программ с адреса 0000h по 7FFFh. По умолчанию в начальный момент вся эта область заполнена командами NOP. Далее можно работать по шагам с помощью команды StepInto.

Пояснения. При отладке программы на программно-логической модели в окне отладки символические имена портов Р3-Р0 сохраняются, а номера разрядов портов отображаются иначе. В состав МК PCF80C552 входят шесть 8-разрядных портов ввода-вывода (Р5-Р0). Каждый разряд всех портов, кроме Р5, для возможности организации двунаправленного обмена в своем составе имеет защёлку, входной буфер и выходной драйвер. Табл.1.2.иллюстрирует назначение разрядов порта P1 (используемого в рассматриваемой программе) микроконтроллера с учетом их альтернативных функций.

Таблица 1.2