
- •5.4. Организация работы с прерываниями в pic-контроллерах
- •Настройка параметров таймера tmr0 и прерывания по внешнему сигналу на выводе int
- •Работа с внешними портами ввода/вывода
- •5.5. Интегрированная среда разработки прикладного программного обеспечения mplab ide
- •Возможности мрlab ide
- •Порядок создания и отладки прикладной программы в среде mplab ide
- •Запуск mplab ide и структура среды
- •Создание нового проекта
- •Создание текста программы на языке ассемблера
- •Структура программы для pic-контроллеров
- •Компилирование
- •Отладка
Компилирование
Когда текст программы набран, можно перейти к процедуре компилирования. Наиболее просто и удобно произвести компиляцию, используя правую пиктограмму на фрагменте панели инструментов, показанном на рис. 2.
Рис. 2. Пиктограммы компилирования
После завершения процесса компиляции вы увидите окно с перечнем предупреждений или ошибок. Если проект успешно построен, то вы увидите в конце окна сообщение "BUILD SUCCEEDED". Если этого не произошло, необходимо перейти к редактированию исходного текста программы и исправлению ошибок. Удобно кликнуть мышкой на сообщении об ошибке, и вы сразу перейдете в редакторе на ту строчку, к которой у компилятора есть претензии.
Отладка
После успешной компиляции начинается собственно основная работа над программой. Требуется убедиться, что программа работает правильно. Для этого нужно установить режим программной симуляции работы процессора (Закладка Debugger -> Select Tool MPLAB SIM). При этом у вас на экране появятся новые кнопки, специально предназначенные для целей отладки программы (см. рис. 3).
2
1
Рис.3. Пиктограммы отладки
1. Run - переход в режим автоматического выполнения отлаживаемой программы. Программа будет выполняться до точки останова или до нажатия программистом кнопки Halt.
2. Step Into - пошаговая отладка. Выполнение одной очередной команды программы. Если это команда входа в подпрограмму, то отладчик перейдет на текст подпрограммы.
Отладка обычно выполняется по шагам с одновременным контролем изменения регистров микроконтроллера. Содержимое всех регистров можно открыть через закладку View:
ViewFile Registers;
ViewSpecial Function Registers;
ViewWatch.
В окне наблюдения Watch можно собрать все наблюдаемые регистры (см. рис. 4).
Наиболее удобным и понятным способом помещения регистра в Watch является «Drag and Drop», т.е. просто выделяем регистр и перетаскиваем его в окно Watch.
Для изменения системы представления данных в столбце Value окна Watch (см. рис. 4) необходимо выполнить следующие действия. Левой кнопкой мышки выделить интересующий Вас регистр. Выпадет меню. В выпавшем меню с помощью правой кнопкой мыши выбрать «Properties». В появившемся окне выбрать закладку Watch Properties (см. рис. 1.5).
Рис. 4. Окно наблюдения с контекстным меню
Установить желаемую систему счисления. По умолчанию содержимое всех регистров представляется в 16-ричной (hex) системе.
Требуемое значение тактовой частоты вводится в процессе отладки (закладка Debugger -> Settings ->Clock). В данной работе рекомендуется выбрать тактовую частоту равной 4 МГц (см. рис. 6).
Рис. 5. Окно представления данных
Закончив подготовительные работы, можно приступить непосредственно к отладке. Для этого необходимо нажать на пиктограмму панели инструментов, соответствующую пошаговому режиму. Стрелка, указывающая на очередную команду в тексте отлаживаемой программы, переместится и будет показывать на следующую команду, подлежащую исполнению. Просмотрим содержимое регистров микроконтроллера в окне наблюдения Watch. Сравним полученные значения с ожидаемыми. Таким образом, анализируя содержимое регистров после выполнения каж-
дой команды, можно проконтролировать логику выполнения программы.
Рис. 6. Окно установки тактовой частоты
В тех случаях, когда о работе отлаживаемой программы можно однозначно судить по конечному содержанию использованных регистров, целесообразно использовать режим автоматического выполнения отлаживаемой программы, вызываемый кнопкой Run. После останова выполнения программы, вызванного нажатием кнопки HALT, можно проанализировать содержимое использованных регистров.