ЭЛЕКТРОНИКА И МИКРОПРОЦЕССОРНАЯ ТЕХНИКА

0

 

МЕТОДИЧЕСКИЕ   УКАЗАНИЯ

 

ЭЛЕКТРОНИКА И МИКРОПРОЦЕССОРНАЯ ТЕХНИКА

 

 

Методические указания содержат рекомендации по выполнению лабораторных работ по дисциплине «Электроника и микропроцессорная техника».

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

 

 

Содержание

 

 

1 Отладка простых программ ……………………………………………….

4

2 Отладка программы формирования интервалов времени ………………

8

3 Отладка программы дискретного ввода-вывода   ……….………………

10

4 Отладка программы вывода символьной информации ………………….

14

5 Отладка программы аналогового ввода   ……………………...................

17

6 Отладка программы, использующей прерывания ………………….

20

Список использованных источников ……………………………………….

24

 

 

 

1 Отладка простых программ

 

1.1   Описание работы с кратким изложением теории

 

Цель работы:

- освоить работу в среде системы MPLAB IDE;

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

Объектом отладки в работе является программа, основной функцией которой является модификация содержимого ячейки памяти (в соответствии с вариантом задания). 

MPLAB IDE – это интегрированная среда разработки программ для микроконтроллеров (МК) PICmicro фирмы Microchip, позволяющая писать, компилировать и отлаживать программы [1]. MPLAB IDE включает несколько инструментальных средств:

- Project Manager (менеджер проекта)  необходим, чтобы создать проект и работать с файлами, связанными с проектом;

- Editor (редактор) необходим для создания и редактирования исходных текстов программ, а также используется как окно отладчика;

- Language Tools (языковый инструмент) – позволяет работать с кросс- ассемблером MPASM или кросс-компиляторами;

- Debugger (отладчик)совместно с редактором реализует механизмы управляемости и наблюдаемости процесса отладки целевых программ;

- Execution Engines (механизм исполнения команд)программные симуляторы, позволяющие выполнять команды МК на персональном компьютере  и имитировать работу периферийных модулей.

Подобно другим инструментальным средствам разработки программ MPLAB IDE содержит встроенный отладчик программ. Но в отличие от резидентных систем в процессе отладки используется не процессор компьютера, а МК PICmicro или его программно-логическая модель. В системе MPLAB IDE реализованы следующие режимы работы отладчика:

- MPLAB-SIM Simulatorотладка средствами симулятора, который  моделирует работу процессорного ядра и периферийных модулей МК PICmicro;

- MPLAB-ICE Emulatorотладка средствами внутрисхемного эмулятора (аппаратного блока для замещения МК PICmicro в реальном времени в отлаживаемой системе);

- MPLAB-ICD Debugger - отладка средствами внутрисхемного отладчика

(аппаратного блока, позволяющего использовать встроенные в МК PICmicro средства отладки в реальном времени в отлаживаемой системе).

Основное окно системы MPLAB IDE выглядит аналогично боль­шинству инструментальных приложений Windows. Вверху расположена панель меню, а внизу строка состояния. В строке состояния отображается текущая настройка и состояние отладочной системы. Для разработки доступны все инструменты, в том числе для отладки исполняемого кода.

 

1.2 Создание нового проекта и трансляция программы

 

В процессе разработки программы формируется проект - множество взаимосвязанных файлов, включая исходный текст программы <имя>.asm, загрузочный модуль <имя>.hex и другие файлы. Все эти файлы удобно хранить в отдельной папке. Взаимосвязи файлов содержатся в корневом файле проекта.

В папке MPT создайте свою рабочую папку, а в ней папку lr1. Скопируйте в нее подготовленный файл с исходным текстом программы lr1.asm. Создайте новый проект, для этого выберите команду Project > Project Wizard и последовательно выполните действия:

- задайте тип микроконтроллера PIC16F877;

- задайте транслятор Microchip MPASM Toolsuite;

- задайте имя проекта lr1 и папку для нового проекта;

- включите в проект исходный текст программы lr1.asm.

Откройте окно с исходным текстом программы, для этого в окне менеджера проекта lr1.mcw дважды щелкните по ярлыку lr1.asm в папке Source Files или выполните команду File>Open.

Выполните трансляцию программы (команда Project>Make). На закладке Build в окне Output будет приведена командная строка, посланная ассемблеру, сообщения об ошибках или успешном завершении трансляции.

Если программа содержала синтаксические и другие формальные ошибки, в окне будет выведен список сообщений об ошибках (ERROR). Если дважды щелкнуть мышкой на сообщении об ошиб­ке, то курсор автоматически перейдет к соответствующему оператору в исход­ном тексте. Если в программе нет подобных ошибок, ассемблер выдаст сообщение BUILD SUCCEEDED. Это означает, что получен загрузочный модуль программы, готовый для выполнения микроконтроллером. Но это не означает, что программа не содержит логических ошибок, и будет работать правильно. Проверку работы программы, поиск и исправление возможных ошибок выполняют в ходе отладки.

 

1.3 Отладка программы

 

В данной лабораторной работе предусмотрено выполнение только автономной отладки программы на программно-логической модели МК. Активировать инструмент MPLAB-SIM Simulator можно командой Debugger>Select Tool>MPLAB SIM.

Существуют различные методы тестирования программ, направленные на проверку их правильности и выявление возможных ошибок. Но практически все они основаны на отслеживании выполнения программы и сравнении с ожидаемым ходом выполнения. Для отладки программ обычно применяют два режима:

- пошаговая отладка;

- выполнение программы (прогон) до точки останова.

При пошаговой отладке выполняется один оператор программы, и затем контролируются те переменные, на которые должен воздействовать данный оператор.

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

Для отслеживания содержимого ограниченного набора ячеек памяти удобно использовать смотровое окно. Чтобы создать смотровое окно выполните команду View> Watch. В верхней части окна Watch находятся прокручиваемые списки регистров специальных функций (SFR) и идентификаторов, используемых в программе (Symbol). Из правого списка выберите объявленную в программе ячейку, добавьте в окно наблюдения нажатием кнопки Add Symbol.

Инициализируйте МК нажатием кнопки Reset. Программный счетчик бу­дет сброшен в ноль. Средствами символьного отладчика строка исходного кода, соответствующая этому адресу, отмечена указателем (зеленой стрелкой). В строке состояния MPLAB IDE отображаются:

- режим работы отладчика (MPLAB SIM);

- тип МК (PIC16F877);

- содержимое программного счетчика PC;

- содержимое аккумулятора W;

- состояние флагов Z dc c (заглавной буквой – установлен, строчной – сброшен);

- тактовая частота МК (20 MHz);

- активный банк памяти данных (bank 0).

Нажмите кнопку Step Into. Будет выполнена первая команда программы. Программный счетчик будет показывать PC:0x01, указатель пе­реместится на следующую исполняемую команду. Для пошагового выполнения можно также использовать функциональную клавишу <F7>. Нажимайте клавишу <F7> несколько раз и наблюдайте, как перемещается по тексту  указатель, изменяются показания программного счетчика и значения переменных в смотровом окне.

По содержимому окна Watch определите корректность выполнения программы. При выявлении несоответствия хода выполнения программы ожидаемому, необходимо локализовать ошибку в программе.  Для этого необходимо:

- определить шаг (и соответствующий оператор программы), начиная с которого выполнение программы отклоняется от ожидаемого;

- проанализировать причину этого отклонения;

- исправить ошибку в исходном тексте;

- выполнить трансляцию программы.

При последующем тестировании необходимо убедиться в корректности выполнения программы. После выполнения работы закройте проект командой Project>Close.

 

 

1.4 Содержание отчета

 

Отчет должен содержать:

- схему алгоритма программы;

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

- зафиксированные значения рабочей ячейки памяти;

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

 

1.5 Контрольные  вопросы

 

1.5.1 Перечислите основные инструментальные средства и режимы работы отладчика системы MPLAB IDE.

1.5.2 Перечислите основные режимы отладки программ в среде MPLAB IDE?

1.5.3 Поясните по схеме алгоритма работу программы.

 

 

 

2 Отладка программы формирования интервалов времени

 

2.1 Описание работы с кратким изложением теории

 

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

Содержанием работы является автономная и комплексная отладка программы для МК типа PIC16F877 [3] с использованием  интегрированной системы MPLAB IDE и внутрисхемного отладчика MICD2. Объектом отладки в работе является программа формирования интервалов времени, через которые происходит переключение выходных линий порта POPTD (в соответствии с вариантом задания). Для отсчета интервалов времени используется встроенный таймер TMR0.

При выполнении автономной отладки программу выполняет симулятор, взаимодействующий с отладчиком системы MPLAB IDE.  При выполнении комплексной отладки программу выполняет реальный МК, который может быть установлен в различных устройствах. На лабораторном занятии комплексная отладка программы выполняется на отладочном стенде. Для обеспечения взаимодействия МК с отладчиком системы MPLAB IDE необходимы специальные аппаратные средства поддержки, в качестве которых используется внутрисхемный отладчик MPLAB ICD2 [4] или его аналог MICD2.

Схема подключения модуля MICD2 к компьютеру и отлаживаемому микропроцессорному устройству (МПУ) - отладочному стенду приведена на рисунке 2.1. Питание отлаживаемого устройства будет осуществляться от модуля MICD2, который, в свою очередь, получает питание от блока питания (AC-DC адаптера 9 В). Отлаживаемое устройство и модуль MICD2 имеют открытые токоведущие части, находящие под напряжением не более 12 В. Важно помнить, что при коммутации (подключении или отключении) устройств на линиях связи могут кратковременно формироваться броски напряжения, многократно превышающие номинальные значения уровней напряжения. Поэтому при любых коммутациях питание модуля MICD2 должно быть отключено.

 

Рисунок 2.1

 

 

 

2.2 Описание последовательности выполнения

 

2.2.1 В своей рабочей папке создайте папку Lr2. Скопируйте в нее подготовленный файл с исходным текстом программы lr2.asm. Создайте новый проект с помощью мастера Project>Project Wizard. Задайте имя проекта lr2, включите в проект исходный текст программы lr2.asm.

Откройте окно с исходным текстом программы. Выполните трансляцию программы (команда Project>Make). Если программа содержала синтаксические и другие формальные ошибки, исправьте их и повторите трансляцию.

2.2.2  Активируйте отладчик MPLAB IDE для работы с симулятором (команда Debugger> Select Tool>MPLAB SIM). Настройте симулятор для выполнения автономной отладки данного приложения (команда Debugger>Setting). В окне Simulator Setting на закладке Osc/Trace задайте значение тактовой частоты Processor Frequency 3.6864 MHz.

Контролировать текущие значения ячеек можно в окне наблюдения. Выполните команду View> Watch, чтобы создать окно наблюдения интересующих ячеек памяти данных: PORTD, Cell, Count.

Откройте окно стека командой View>Hardware Stack.

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

Установите точки останова на операторах вызова подпрограммы формирования временного интервала (call    Dly) и возврата из подпрограммы (return).

Выполните сброс МК (Debugger>Reset>Processor Reset), а затем активируйте выполнение программы в режиме прогона (Debugger>Run). При останове программы в первой точке сбросьте показания секундомера в окне StopWatch кнопкой Zero. Занесите в отчет содержимое стека. Активируйте дальнейшее выполнение программы в режиме прогона (Debugger>Run). При останове программы по адресу команды return по показаниям секундомера контролируйте время выполнения подпрограммы Dly. При отклонении измеренного значения от расчетного проверьте правильность настройки таймера TMR0 и выполните отладку подпрограммы  Dly. Измеренное значение временной задержки занесите в отчет.

При отладке программы в среде симулятора следует учитывать, что скорость моделирования зависит от производительности компьютера.

3.2.3 В окне Configure> Configuration Bits необходимо задать значения разрядов слова конфигурации PIC16F877 (адрес H’2007’). Требуемые значения разрядов для обеспечения возможности отладки с помощью отладчика MICD2 приведены в таблице 2.1.

 

 Таблица 2.1 - Разряды слова конфигурации

Пункт

Опция

Oscillator

Кварцевый резонатор (XT)

Watchdog

Timer

Сторожевой таймер (WDT) должен быть выключен (Off)

Power Up Timer

Таймер включения (PWRT) должен быть включен (On).

Brown Out

Detect

Детектор дрожания напряжения питания (BOD) должен быть выключен (Off)

Low Voltage

Program

Низковольтное программирование должно быть

запрещено (Disabled)

Flash Memory

Write

Запись Flash Memory должна быть разрешена (Enabled)

Data EE

Read Protect

Защита данных EEPROM должна быть выключена (Off)

Code Protect

Защита кода программы должна быть выключена (Off)

 

3.2.4 Подключите отладчик MICD2 к стенду и персональному компьютеру. Только после этого  можно подключить к отладчику MICD2 источник питания. Нарушение этого требования может привести к выходу из строя портов компьютера и отладчика MICD2!

Активируйте отладчик MPLAB IDE для работы с MICD2 (команда Debugger>Select Tool>MPLAB ICD2). Настроить отладчик MPLAB IDE для выполнения комплексной отладки данного приложения можно с помощью инструмента MPLAB ICD2 Setup Wizard. Для связи с отладчиком MICD2 выберите порт Com1 и скорость обмена Baud Rate 57600. Далее задайте способ подключения источника питания через отладчик (Power target from the MPLAB ICD2). Автоматическое установление связи с отладчиком MICD2 необходимо запретить (снять флажок на опции MPLAB IDE automatically connects to MPLAB ICD2). Автоматическую загрузку программного обеспечения отладчика необходимо разрешить (установить флажок на опции MPLAB IDE automatically downloads the required operating system). Далее необходимо принять во внимание сообщение, что для работы с отладчиком MPLAB ICD2 буферы FIFO Com-порта должны быть отключены.

Установите связь с отладчиком MICD2 командой Debugger>Connect. Если в окне Output на закладке MPLAB ICD2 появится сообщение об ошибке, проверьте подключение источника питания, разъемы и соединительные кабели.

После установления связи, загрузки программного обеспечения отладчика (Operating System) и самотестирования можно приступить к загрузке приложения в целевой микроконтроллер отладочного стенда по команде Debugger> Program. При успешном завершении программирования МК в окне Output на закладке MPLAB ICD2 появится сообщение:

Connecting to debug executive

...Programming succeeded

дата, время

MPLAB ICD 2 Ready.

MPLAB-ICD2 позволяет МК PIC16F877 выполнять программу в режиме прогона (реального времени), пошаговом режиме или анимации. Начните с режима выполнения в реальном времени. Нажмите кнопку панели Run или выберите команду Debugger>Run. С помощью часов оцените длительность интервалов времени между моментами переключения светодиода, подключенного к линии 0 порта PORTD. Сравните с расчетными значениями. Нажмите кнопку панели Halt или выберите команду Debug>Halt, чтобы остановить выполнение программы.

Отключите отладчик системы MPLAB IDE командой Debugger> Select Tool>None. Отключите питание MICD2. После этого можно отключить кабель от COM-порта компьютера. Закройте проект командой Project>Close.

 

2.3 Оформление работы

 

Отчет по лабораторной работе должен содержать:

- схему алгоритма программы;

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

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

- расчетные и измеренные значения задержек;

- выводы.

 

2.4 Контрольные  вопросы

 

2.4.1 Поясните, каким образом можно настроить таймер TMR0 на требуемый режим работы.

2.4.2 Поясните, каким образом выполняется расчет задержек.

2.4.3 Поясните по схеме алгоритма работу программы.

2.4.4 Поясните назначение слова конфигурации МК, его отдельных разрядов. Каким образом можно задать требуемые значения разрядов?

2.4.5 Перечислите основные режимы работы отладчика системы MPLAB IDE. Как выполняется настройка среды MPLAB IDE на требуемый режим отладки?

2.4.6 Каким образом можно оценить длительность формируемых временных интервалов с использованием симулятора?

2.4.7 Каким образом можно отслеживать выполнение программы с использованием внутрисхемного отладчика MICD2?

 

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

 

3.1 Описание работы с кратким изложением теории

 

Цель работы - получить практические навыки выполнения автономной и комплексной отладки программ дискретного ввода-вывода в среде MPLAB IDE.

Содержанием работы является отладка программы для МК типа PIC16F877, которая анализирует состояние кнопки, подключенной к линии RB1 порта PORTB. Нажатие с последующим отпусканием кнопки RB1 вызывает модификацию содержимого ячейки Cell (в соответствии с вариантом задания), которое отображается на светоизлучающих диодах, подключенных к линиям порта PORTD. Активному (нажатому) состоянию кнопки соответствует низкий потенциал на линии порта RB1. Пассивному (отжатому) состоянию кнопки соответствует высокий потенциал, который обеспечивается встроенными подтягивающими резисторами порта.

 

3.2 Описание последовательности выполнения

 

3.2.1 В своей рабочей папке создайте папку Lr3. Скопируйте в нее подготовленный файл с исходным текстом программы lr3.asm. Создайте новый проект с помощью мастера Project>Project Wizard. Задайте имя проекта lr3, включите в проект исходный текст программы lr3.asm.

Откройте окно с исходным текстом программы. При выполнении автономной отладки целесообразно отключить функции подавления дребезга контактов кнопок. Для этого достаточно закомментировать операторы вызова подпрограммы задержки D15ms. Выполните трансляцию программы (команда Project>Make). Если программа содержала синтаксические и другие формальные ошибки, исправьте их и повторите трансляцию.

3.2.2  Активируйте отладчик MPLAB IDE для работы с симулятором (команда Debugger>Select Tool>MPLAB SIM). Настройте симулятор для выполнения автономной отладки данного приложения (команда Debugger>Setting). В окне Simulator Setting на закладке Osc/Trace задайте значение тактовой частоты Processor Frequency 3.6864 MHz.

Выполните команду View> Watch, чтобы создать окно наблюдения интересующих ячеек памяти данных: PORTB, PORTD, Cell.

Для автономной отладки программы необходимо иметь средства имитации нажатия кнопки. Для этих целей можно использовать асинхронные стимулы. Чтобы создать асинхронный стимул, выберите пункт меню Debugger> Stimulus>New Workbook для открытия диалогового окна настройки стимулов. В открывшемся окне Stimulus на закладке Asynch содержится таблица, каждая строка которой позволяет задать атрибуты одного стимула. Установите курсор на первой строке в столбце Pin/SFR и задайте линию порта ввода RB1. В столбце Action выберите значение Set High (высокий уровень). Это значение будет имитировать исходное воздействие подтягивающего резистора. В следующей строке таблицы создайте стимул RB1 для имитации воздействия кнопки. Для этого в столбце Action выберите значение Pulse Low (импульс низкого потенциала), а в столбце Width значение длительности импульса в единицах времени, указанных в столбце Units. Длительность этих импульсов в реальном устройстве определяется временем нажатия кнопки и составляет доли секунды. При моделировании целесообразно задать существенно меньшие значения, чтобы сократить время моделирования. Вполне достаточно установить 100 cyc.

3.2.3  Для тестирования программы сначала следует задать исходные (пассивные) значения разрядов RB1=1. Произвольно изменить содержимое PORTB не удастся, поэтому произведите сброс МК (Debugger> Reset), затем нажмите кнопку Fire стимула RB1 типа Set High, выполните одну команду программы (Debugger>Step Into). Проконтролируйте установку значения разряда 1 порта PORTB в окне наблюдения.

Проверку работы программы удобно  выполнять в режиме анимации (быстрого пошагового режима), который активируется командой  Debugger >Animate.  В этом режиме после выполнения очередной команды обновляется содержимое всех открытых окон системы MPLAB IDE и только затем управление передается следующей команде программы.

Нажмите кнопку Fire стимула RB1 типа Pulse Low на панели контроллера стимулов. Проследите за изменением соответствующего разряда PORTB в окне наблюдения. Убедитесь, что «нажатие» кнопки вызывает необходимую модификацию переменной Cell. Повторите эту проверку необходимое число раз. Занесите в отчет формируемую последовательность значений переменной Cell. Остановите процесс выполнения программы нажатием кнопки Halt.

3.2.4  Восстановите операторы вызова подпрограммы задержки D15ms в исходном тексте программы. Выполните трансляцию программы. Подключите отладчик MICD2 к стенду и персональному компьютеру. Только после этого  можно подключить к отладчику MICD2 источник питания. Нарушение этого требования может привести к выходу из строя портов компьютера и отладчика MICD2!

Активируйте отладчик MPLAB IDE для работы с MICD2 (команда Debugger>Select Tool>MPLAB ICD2). С помощью инструмента MPLAB ICD2 Setup Wizard настройте отладчик MPLAB IDE для выполнения комплексной отладки данного приложения. Установите связь с отладчиком MICD2 командой Debugger>Connect. Если в окне Output на закладке MPLAB ICD2 появится сообщение об ошибке, проверьте подключение источника питания, разъемы и соединительные кабели.

После установления связи, загрузки программного обеспечения отладчика (Operating System) и самотестирования выполните загрузку целевого приложения в микроконтроллер отладочного стенда по команде Debugger>Program.

Нажмите кнопку панели Run или выберите команду Debugger>Run. По состоянию линейки светодиодов, подключенных к выводам PORTD, проверьте реакцию МК на нажатие кнопки. Сравните с заданным поведением. Нажмите кнопку панели Halt или выберите команду Debugger>Halt, чтобы остановить выполнение программы. Сбросьте МК, выбрав  Debugger> Reset> Processor Reset.

Если результаты проверки Вас разочаровали, то в данном случае, вероятнее всего, причина в настройке портов или дребезге контактов. Проверьте правильность управляющих слов, загруженных в регистры TRISB, TRISD, OPTION_REG. Проверьте правильность реализации функции подавления дребезге контактов. После исправления ошибок и трансляции программы, повторите загрузку целевого приложения в МК и тестирование программы.

В случае успеха отключите отладчик системы MPLAB IDE командой Debugger> Select Tool>None. Отключите питание MICD2. После этого можно отключить кабель от Com-порта компьютера. Закройте проект командой Project>Close. В противном случае необходимо локализовать и устранить ошибки в программе.

 

3.3 Оформление работы

 

Отчет по лабораторной работе должен содержать:

- схему алгоритма программы;

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

- выводы.

 

3.4 Контрольные  вопросы

 

3.4.1 Поясните по схеме алгоритма работу программы.

3.4.2 Как выполняется автономная отладка программ, выполняющих опрос кнопок, с использованием симулятора?

3.4.3 Как в среде симулятора можно имитировать изменения внешних сигналов на линиях портов ввода МК?

3.4.4 Каким образом выполняется программное подавление «дребезга контактов»?

4 Отладка программы вывода символьной информации

 

4.1 Описание работы с кратким изложением теории

 

Цель работы - получить практические навыки выполнения автономной и комплексной отладки программы вывода символьной информации.

Объектом отладки в работе является программа, выполняющая модификацию содержимого ячейки Cell (в соответствии с вариантом задания) и вывод на 7-сегментные индикаторы в заданном формате. Для управления индикаторами в отладочном стенде применен специализированный контроллер MC14489BP. Эта микросхема обеспечивает вывод информации на 7- сегментные индикаторы в режиме динамического управления.

Информация от МК к специализированному контроллеру MC14489BP передается по последовательному синхронному интерфейсу, состоящему из трех линий:

- RE1 (DATA IN) – данные;

- RE0 (Clk) - синхроимпульсы;

- RB3 (-CS) – выборка кристалла.

Подпрограмма Dysplay обеспечивает формирование на линиях RE1, RE0, RB3 значений сигналов, необходимых для передачи информации. Поэтому объективный контроль работы этой подпрограммы должен выполняться путем проверки корректности формируемых последовательностей наборов этих сигналов. При выполнении автономной отладки для этой цели целесообразно использовать инструмент системы MPLAB IDE – логический анализатор. Логический анализатор использует информацию, формируемую в буфере трассы программ, и может ее интерпретировать в форме временных диаграмм сигналов на внешних выводах МК. Основное внимание в ниже следующем описании последовательности выполнения работы уделяется тестированию подпрограммы Dysplay. Контроль корректности других функций программы может быть выполнен при использовании приемов и инструментов, которые неоднократно применялись в лабораторных работах №1 – 3.

                                                                                                        

4.2 Описание последовательности выполнения

 

4.2.1 В своей рабочей папке создайте папку Lr4. Скопируйте в нее подготовленный файл с исходным текстом программы lr4.asm. Создайте новый проект с помощью мастера Project>Project Wizard. Задайте имя проекта lr4, включите в проект исходный текст программы lr4.asm.

Откройте окно с исходным текстом программы. Выполните трансляцию программы (команда Project>Make). Если программа содержала синтаксические и другие формальные ошибки, исправьте их и повторите трансляцию.

4.2.2  Активируйте отладчик MPLAB IDE для работы с симулятором (команда Debugger>Select Tool>MPLAB SIM). Настройте симулятор для выполнения автономной отладки данного приложения (команда Debugger>Setting). В окне Simulator Setting на закладке Osc/Trace задайте значение тактовой частоты Processor Frequency 3.6864 MHz.

Выполните команду View> Watch, чтобы создать окно наблюдения интересующих ячеек памяти данных: PORTB, Cell, Fig0, Fig1, Fig2.

Для имитации нажатия кнопки создайте асинхронный стимул. Выберите пункт меню Debugger> Stimulus>New Workbook,  в открывшемся окне Stimulus на закладке Asynch установите курсор на первой строке в столбце Pin/SFR и задайте линию порта ввода RB1. В столбце Action выберите значение Set High (высокий уровень). В следующей строке таблицы создайте стимул RB1 для имитации воздействия кнопки. Для этого в столбце Action выберите значение Pulse Low (импульс низкого потенциала), а в столбце Width значение длительности импульса 100 cyc.

4.2.3 Произведите сброс МК (Debugger> Reset), затем нажмите кнопку Fire стимула RB1 типа Set High, выполните одну команду программы (Debugger>Step Into). Проконтролируйте установку значения разряда 1 порта PORTB в окне наблюдения.

Выполните проверку работы программы в режиме анимации (команда  Debugger >Animate). Нажмите кнопку Fire стимула RB1 типа Pulse Low на панели контроллера стимулов. Проследите за изменением соответствующего разряда PORTB в окне наблюдения. Убедитесь, что «нажатие» кнопки вызывает необходимую модификацию переменных Cell, Fig0, Fig1. Повторите эту проверку необходимое число раз. Занесите в отчет формируемую последовательность значений переменных Cell, Fig0, Fig1. Остановите процесс выполнения программы нажатием кнопки Halt.

4.2.4 Подключите отладчик MICD2 к стенду и персональному компьютеру. Только после этого  можно подключить к отладчику MICD2 источник питания. Нарушение этого требования может привести к выходу из строя портов компьютера и отладчика MICD2!

Активируйте отладчик MPLAB IDE для работы с MICD2 (команда Debugger>Select Tool>MPLAB ICD2). С помощью инструмента MPLAB ICD2 Setup Wizard настройте отладчик MPLAB IDE для выполнения комплексной отладки данного приложения. Установите связь с отладчиком MICD2 командой Debugger>Connect. Если в окне Output на закладке MPLAB ICD2 появится сообщение об ошибке, проверьте подключение источника питания, разъемы и соединительные кабели.

После установления связи, загрузки программного обеспечения отладчика (Operating System) и самотестирования выполните загрузку целевого приложения в микроконтроллер отладочного стенда по команде Debugger>Program.

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

Отключите отладчик системы MPLAB IDE командой Debugger>Select Tool>None. Отключите питание MICD2. После этого можно отключить кабель от COM-порта компьютера. Закройте проект командой Project>Close.

 

4.3 Оформление работы

 

Отчет по лабораторной работе должен содержать:

- схему алгоритма программы;

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

- синтез управляющих слов;

- временные диаграммы сигналов;

- выводы.

 

4.4 Контрольные  вопросы

 

4.4.1 Поясните по схеме алгоритма работу программы.

4.4.2 Каким образом выполняется вывод информации на 7-сегментные индикаторы отладочного стенда?

4.4.3 Каким образом необходимо представлять данные для отображения на 7-сегментных индикаторах в десятичной и шестнадцатеричной форме?

4.4.4 Каким образом можно выполнить преобразование данных из двоичного в двоично-десятичный код?

5 Отладка программы аналогового ввода

 

5.1 Описание работы с кратким изложением теории

 

Цель работы - получить практические навыки выполнения автономной и комплексной отладки в среде MPLAB IDE программы аналогового ввода.

Объектом отладки в работе является программа, выполняющая запуск модуля АЦП, получение результатов преобразования, их обработку и вывод на 7-сегментные индикаторы в заданном формате.

 

5.2 Описание последовательности выполнения

 

5.2.1 В папке PIC создайте свою рабочую папку. Скопируйте в нее подготовленный файл с исходным текстом программы lr5.asm. Создайте новый проект с помощью мастера Project>Project Wizard. Задайте имя проекта lr5, включите в проект исходный текст программы lr5.asm.

Откройте окно с исходным текстом программы. Выполните трансляцию программы (команда Project>Make). Если программа содержала синтаксические и другие формальные ошибки, исправьте их и повторите трансляцию.

5.2.2 Проверку работы программы, поиск и исправление возможных ошибок выполняют в ходе отладки. Активируйте инструмент MPLAB-SIM Simulator командой Debugger>Select Tool>MPLAB SIM. Настройте симулятор для выполнения автономной отладки данного приложения (команда Debugger> Setting). В окне Simulator Setting на закладке Osc/Trace задайте значение тактовой частоты Processor Frequency 3.6864 MHz.

5.2.3 Сформируйте удобную среду для отладки программы. Для автономной отладки программы необходимо иметь средства имитации аналого-цифрового преобразования. Для этих целей можно использовать стимулы регистра типа Register Injection. Текстовый файл стимула регистра состоит из колонки значений, которые будут поочередно передаваться паре регистров ADRESH:ADRESL с учетом заданного выравнивания, когда аналого-цифровое преобразование будет выполнено.

Создайте новый текстовый файл - File > New File. В безымянном окне в одну колонку введите список из восьми 16-ричных значений результатов 10-разрядного аналого-цифрового преобразования, которые Вы хотите назначить регистрам ADRESH:ADRESL. Подберите эти значения, учитывая возможность контроля обработки результатов аналого-цифрового преобразования программой. Сохраните созданный файл - File > Save As… Выберите директорию, в которой хотите сохранить файл, введите имя файла с расширением txt.

Выберите пункт меню Debugger>Stimulus>New Workbook для открытия диалогового окна настройки стимула регистра. В открывшемся окне выберите закладку Register Injection. В указанных столбцах задайте значения:

- Reg/Var -  ADRESL;

- Trigger – Demand;

- Data Filename – имя файла стимула;

- Wrap – Yes;

- Format - Hex.

Нажмите кнопку Apply , затем Save  – сохраните стимул регистра.

Контролировать текущие значения сигналов можно в окне наблюдения. Выполните команду View> Watch, чтобы создать окно наблюдения интересующих ячеек памяти данных: ADRESH, ADRESL.

5.2.4 Выполните тестирование программы, используя подготовленные стимулы. В соответствии с планом тестирования при выполнении программы должно произойти

5.2.5 Подключите отладчик MICD2 к стенду и персональному компьютеру. Только после этого  можно подключить к отладчику MICD2 источник питания. Нарушение этого требования может привести к выходу из строя портов компьютера и отладчика MICD2!

Активируйте отладчик MPLAB IDE для работы с MICD2 (команда Debugger>Select Tool>MPLAB ICD2). С помощью инструмента MPLAB ICD2 Setup Wizard настройте отладчик MPLAB IDE для выполнения комплексной отладки данного приложения. Установите связь с отладчиком MICD2 командой Debugger>Connect. Если в окне Output на закладке MPLAB ICD2 появится сообщение об ошибке, проверьте подключение источника питания, разъемы и соединительные кабели.

После установления связи, загрузки программного обеспечения отладчика (Operating System) и самотестирования выполните загрузку целевого приложения в микроконтроллер отладочного стенда по команде Debugger>Program.

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

Отключите отладчик системы MPLAB IDE командой Debugger>Select Tool>None. Отключите питание MICD2. После этого можно отключить кабель от COM-порта компьютера. Закройте проект командой Project>Close.

 

5.3 Оформление работы

 

Отчет по лабораторной работе должен содержать:

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

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

- выводы.

 

5.4 Контрольные  вопросы

 

5.4.1 Поясните по схеме алгоритма работу программы.

5.4.2 Как при отладке можно проконтролировать корректность взаимодействия с модулем АЦП?

5.4.3?

6 Отладка программы, использующей прерывания

 

6.1 Описание работы с кратким изложением теории

 

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

- отсчет времени и его отображение в секундах на 7-сегментных индикаторах;

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

Прерывания возникают при переполнении таймера TMR0, анализ состояния линий RB1 и RB2 выполняется путем программного опроса в главном цикле основной программы.

 

6.2 Описание последовательности выполнения

 

6.2.1 В своей рабочей папке создайте папку lr7. Скопируйте в нее подготовленный файл с исходным текстом программы lr7.asm. Создайте новый проект с помощью мастера Project > Project Wizard. Задайте имя проекта lr7, включите в проект исходный текст программы lr7.asm.

Откройте окно с исходным текстом программы. Выполните трансляцию программы (команда Project>Make). Если программа содержала синтаксические и другие формальные ошибки, исправьте их и повторите трансляцию.

6.2.2 Проверку работы программы, поиск и исправление возможных ошибок выполняют в ходе отладки. Активируйте инструмент MPLAB-SIM Simulator командой Debugger> Select Tool>MPLAB SIM. Сформируйте удобную среду для отладки программы.

Контролировать текущие значения данных можно в окне наблюдения. Создайте смотровое окно командой View> Watch. Включите в смотровое окно основные ячейки:

- PORTB;

- CntT (счетчик переполнений таймера);

- Cnt (счетчик);

- Fig0 (разряды 1-0 7-сегментного индикатора);

- TMR0;

- INTCON;

- STATUS;

- W_temp;

- Status_temp.

Для автономной отладки программы необходимо иметь средства имитации нажатия кнопок RB1 и RB2. Для этих целей можно использовать асинхронные стимулы. Cоздайте асинхронные стимулы RB1 и RB2 командами меню Debugger>Stimulus Controller> New Workbook.

Контролировать сохранение точки возврата можно в окне стека. Откройте окно стека командой View>Hardware Stack. Для контроля формируемых интервалов времени откройте окно секундомера Debugger>Stopwatch.

6.2.3 Целесообразно сначала выполнить проверку работы основной программы, а затем проконтролировать возникновение и обработку прерываний.

Проверку работы основной программы удобно  выполнять в режиме анимации (Debugger>Animate). Используя стимулы RB1 и RB2, проверьте корректность изменений содержимого ячейки Cnt.

Чтобы проконтролировать возникновение и обработку прерываний в режиме анимации, потребуется слишком много времени. Более рационально использовать режим прогона до точки останова. Установите точку останова на векторе прерывания. Запустите выполнение программы командой Debugger> Run. Убедитесь, что происходит передача управления на вектор прерывания. Зафиксируйте в отчете содержимое регистров TMR0, INTCON и стека. Выполните подпрограмму обработки прерывания в пошаговом режиме. Проконтролируйте, как происходит сохранение и восстановление контекста. По показаниям секундомера определите интервалы времени между последовательными прерываниями. Измените адрес точки останова так, чтобы можно было определить интервалы времени, через которые происходят изменения содержимого ячейки Fig0. Занесите результаты измерений в отчет.

6.2.4 Подключите отладчик MICD2 к стенду и персональному компьютеру. Только после этого  можно подключить к отладчику MICD2 источник питания. Нарушение этого требования может привести к выходу из строя портов компьютера и отладчика MICD2!

Активируйте отладчик MPLAB IDE для работы с MICD2 (команда Debugger>Select Tool>MPLAB ICD2). С помощью инструмента MPLAB ICD2 Setup Wizard настройте отладчик MPLAB IDE для выполнения комплексной отладки данного приложения. Установите связь с отладчиком MICD2 командой Debugger>Connect. Если в окне Output на закладке MPLAB ICD2 появится сообщение об ошибке, проверьте подключение источника питания, разъемы и соединительные кабели.

После установления связи, загрузки программного обеспечения отладчика (Operating System) и самотестирования выполните загрузку целевого приложения в микроконтроллер отладочного стенда по команде Debugger> Program.

                Активируйте выполнение программы в режиме реального времени. Нажатием кнопок RB1 и RB2 изменяйте состояния светодиодов. Убедитесь, что показания 7-сегментных индикаторов изменяются через одну секунду, независимо от состояния кнопок RB1 и RB2.

Отключите отладчик системы MPLAB IDE командой Debugger> Select Tool>None. Отключите питание MICD2. После этого можно отключить кабель от COM-порта компьютера. Закройте проект командой Project>Close.

 

6.3 Оформление работы

 

Отчет по лабораторной работе должен содержать:

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

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

- выводы.

 

6.4 Контрольные  вопросы

 

6.4.1 Поясните по схеме алгоритма работу программы.

6.4.2 Когда целесообразно использовать механизм прерываний?

6.4.3 Как выполняется обработка запросов прерываний?

6.4.4 Как можно выполнять автономную отладку программ, использующих механизм прерываний?

 

 

                                 

Список использованных источников

 

1 MPLAB IDE [Электронный ресурс]: User’s Guide DS51519B.– Microchip, 2006.  – 277 p. – Режим доступа: WWW.URL: http: // www.microchip.com/. – 27.06.2008.

2 MPASM [Электронный ресурс]: Руководство пользователя. – М.: ООО «Микро-Чип», 2001. – 183 с. – Режим доступа: WWW.URL: http: // www.microchip.ru/. – 27.06.2008.

3 PIC16F87X [Электронный ресурс]: Техническое описание. – М.: ООО «Микро-Чип», 2001. – 61 с. – Режим доступа : WWW.URL : http: // www.microchip.ru/. – 27.06.2008.

4 MPLAB ICD2 [Электронный ресурс]: User’s Guide DS51331C.– Microchip, 2007.  – 138 p. – Режим доступа: WWW.URL: http: // www.microchip.com/. – 27.06.2008.

 

 Скачать: lr_mpt.doc

Категория: Методички

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