Теперь осуществите выполнение программы в режиме Animate, выбрав пункт меню Debugger > Animate. В этом режиме происходит замедленное автоматическое выполнение программы. Можно следить за работой программы по перемещению зеленой стрелки и обновлению информации в линейке состояния. Остановить работу можно с помощью пункта меню Debugger > Halt.
Использование пунктов меню Debugger в процессе проверки работы программы не совсем удобно. Проще воспользоваться значками (кнопками) в области графического меню или «горячими клавишами». В табл. 1 приведены соответствия между пунктами меню Debugger , значками (кнопками) и «горячими клавишами».
Таблица 1
Выполняемые функции при отладке поясняются в табл. 2.
Таблица 2
Название режима |
Выполняемые действия |
Run |
Автоматическое выполнение программы |
Halt |
Останов выполнения программы |
Animate |
Автоматическое выполнение программы в замедленном режиме |
Step Into |
Выполнение одной команды |
Step Over |
Выполнение одной команды с пропуском вызова подпрограммы |
Step Out |
Выполнение одной команды с выходом из подпрограммы |
Reset |
Сброс микроконтроллера |
Примечания. 1.Чтобы узнать функцию кнопки (значка) графического меню, нужно поместить курсор на эту кнопку и на экране появится название функции.
2.Пошаговые режимы Step Over и Step Out действуют только при выполнении подпрограмм.
Задание 1. Выполните действия по проверке работы программы (сброс, пошаговое выполнение, прогон в автоматическом и замедленном режимах, останов) с использованием кнопок (значков) графического меню.
Задание 2. Выполните аналогичные действия с использованием «горячих клавиш».
Сделайте выводы об удобствах каждого способа управления выполнением программы. В дальнейшем вы можете использовать любой из этих способов.
3.8. Открытие дополнительных окон
В MPLAB IDE существует большое количество способов контролировать ход выполнения программы. Например, программа, которая используется в примере, увеличивает значение счетчика, но как можно убедиться в том, что это действительно происходит? Для просмотра текущего значения регистра воспользуйтесь пунктом меню View > File Registers. На экране появится окно со всеми регистрами памяти данных PIC16F84A.
Рис. 5. Окно с текущими значениями регистров
При каждом шаге в процессе выполнении программы значение регистров в окне будет обновляться. Сделайте несколько шагов. В нашем случае изменяется значение счетчика Count в регистре с адресом 0х0С. Изменение значения регистра отображается в окне памяти данных, выделяя его другим цветом.
Для «ручного» изменения содержимого регистра надо подвести курсор на нужный адрес и щелкнуть левой кнопкой мыши. Выделенный адрес изменит цвет на синий. Затем надо щелкнуть два раза левой кнопкой мыши и ввести с клавиатуры новое значение содержимого регистра.
Задание 1. Занесите в регистры (ячейки памяти данных) с адресом 11h (0x11) значение 55h (0x55), а по адресу 18h (0x18) значение AAh (0xAA).
Иногда возникает необходимость заполнить несколько ячеек памяти данных константой. Для этого нужно поставить курсор в любое место окна File Registers и щелкнуть правой кнопкой мыши. Появится контекстное меню, в котором следует выбрать пункт Fill Registers... В раскрывшемся окне нужно задать начальный и конечный адреса области памяти, а в поле Dataввести требуемые данные в шестнадцатиричном или десятичном формате (это определяется с помощью переключателей DataRadix) и нажать кнопку Write. Для выхода без выполнения записи используется кнопка Close.
Задание 2. Занесите в регистры (ячейки памяти данных) с адреса 10h (0x10) по 1Fh (0x1F) константу 22h (0x22).
Обратите внимание, что содержимое регистров общего назначения, расположенных в 0-м банке памяти данных по адресам 0x0C...0x4F дублирует содержимое регистров, расположенных в 1-м банке по адресам 0x8C...0xCF. Другими словами, регистры общего назначения, а их всего 68 в микроконтроллере PIC16F84A, отображаются в банке 0 на адреса 0x0C...0x4F, а в банке 1 – на адреса 0x8C...0xCF.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.