Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Тестирование и отладка

Читайте также:
  1. Выборочное тестирование
  2. Как проходить тестирование
  3. Компиляция, отладка и тестирование
  4. Контроль исходного уровня знаний (тестирование).
  5. Контроль исходного уровня знаний (тестирование).
  6. Контроль исходного уровня знаний (тестирование).
  7. Контроль исходного уровня знаний (тестирование).

На этапе отладки программы необходимо выявить и устранить все возникшие на предыдущих этапах ошибки. Описание процесса программирования микроконтроллера и запуска программы приведен в лабораторной работе 1. Необходимо учесть, что состояние ячеек энергонезависимой EEPROM памяти данных отображается только после выполнения команды Debugger > Read EEDATA.

Сопровождение

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

 

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

В отчете необходимо привести постановку задачи, блок-схему алгоритма и текст программы на языке Ассемблер с исправлениями, возникшими на этапе отладки.

 

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

1. Деление памяти данных на банки создает определенные неудобства при конструировании программ. В частности программисту приходится постоянно помнить о том, в каком банке данных он работает в настоящий момент, о том в какой банк данных необходимо переключиться для того, чтобы установить контрольный бит заданного контрольного регистра и т. п. И тем не менее разделение памяти на банки присутствует в микроконтроллерах PIC16. Как вы думаете что заставило разработчиков этой архитектуры пойти на такое решение?

2. В первом пункте алгоритма записи данных в EEPROM (FLASH) проверяется флаг WR регистра EECON1, то есть факт того, что микпроконтроллер не занят записью в EEPROM (FLASH) в данный момент. Придумайте несколько ситуаций в которых эта проверка покажет свою полезность.

3. Какие инструкции из набора PIC16 записывают данные в стек и удаляют данные из него?

4. Почему ячейки памяти стека имеют 13-разрядный размер?

5. Представьте, что вы проектируете кассовый аппарат. Каким видом памяти вы воспользуетесь для хранения текста распечатываемого чека; для хранения порядкового номера распечатываемого чека?


ЛАБОРАТОРНАЯ РАБОТА 3
Изучение работы параллельных портов микроконтроллеров PIC-micro

Цель работы: изучение работы и программирование параллельных портов микроконтроллера PIC16F873A.

 

Микроконтроллер PIC16F873A имеет три параллельных порта ввода-вывода: 6-разрядный порт A и два 8-разрядных порта B и C. К внешним устройствам порты ввода-вывода подключаются через выводы микроконтроллера RA0...RA5, RB0...RB7 и RC0...RC7 соответственно.

Выводы порта A мультиплексированы со входами аналого-цифрового преобразователя, порта B со схемой низковольтного программирования (используются программатором-отладчиком PICkit 2) и со входом запроса прерывания, а порта C со схемами интервального таймера T1, широтно-импульсного модулятора, последовательной шины и последовательного порта. Кроме того ко входам порта B могут быть подключены внутренние подтягивающие резисторы.

В схеме лабораторного макета выводы параллельных портов распределены следующим образом: RA0 – вход аналого-цифрового преобразователя, RA2 и RA3 – выходы к которым подключен пьезокерамический звукоизлучатель BZ1, RA5 – верхний желтый светодиод HL1, RC0 – зеленый светодиод HL2, RC1 – красный светодиод HL3, RC2 – выход ШИМ, RC3 – нижний желтый светодиод HL4, RC4 – зеленая полоса HL5, RC5 – лунно-белый светодиод HL6, RC6 – выход последовательного порта ввода-вывода, RC7 – вход последовательного порта ввода-вывода, RB0 – кнопка SA6, RB1 – кнопка SA5, RB2 – кнопка SA4, RB3 – вход низковольтного программирования, RB4 – кнопка SA3, RB5 – кнопка SA2, RB6 – вход синхронизации программатора-отладчика PICkit 2 и RB7 – вход данных программатора-отладчика PICkit 2.

Для управления работой портов ввода-вывода используются следующие РСН:

TRISA, TRISB и TRISC определяют направление передачи информации через порты ввода-вывода, при записи логического «0» в какой либо разряд регистра TRIS соответствующий разряд порта ввода-вывода начинает работать как выход, а при записи «1» – как вход. Легко запомнить: «0» как «O» – «Output», «1» как «I» – «Input»;

PORTA, PORTB и PORTC регистры портов ввода-вывода, если порт настроен на вывод информации, то запись «0» или «1» в определенный разряд этих регистров приводит к появлению соответствующего сигнала на выходах параллельного порта, если же порт настроен на ввод информации, то из этих регистров можно считать фактические логические уровни, присутствующие на входах параллельного порта (не зависимо от того, что было записано в эти регистры ранее);

ADCON1 определяет какие из выводов порта A будут использоваться для ввода аналогового сигнала, а какие для ввода или вывода цифрового, в схеме данного макета аналоговый сигнал подается на вывод RA0, поэтому перед использованием порта A в качестве порта ввода-вывода необходимо записать в регистр ADCON1 число H'0E';

OPTION_REG позволяет подключить ко входам порта B внутренние подтягивающие резисторы и определяет вызов внешнего прерывания по переднему или заднему фронту импульса на выводе RB0. Сброс в «0» разряда OPTION_REG.-RBPU приводит к подключению внутренних подтягивающих регистров, а установка в «1» – к отключению, «0» в разряде OPTION_REG.INTEDG – прерывание по заднему фронту сигнала на входе RB0, «1» – по переднему.

 


Дата добавления: 2015-07-08; просмотров: 201 | Нарушение авторских прав


Читайте в этой же книге: ВВЕДЕНИЕ | Компиляция исходного текста программы в машинные коды | Отладка (выполнение) программы | FLASH память программ | Энергонезависимая память данных EEPROM | Разработка алгоритма программы | Написание текста программы на языке Ассемблер | Трансляция текста программы в машинные коды | Разработка алгоритма программы | Написание текста программы на языке Ассемблер |
<== предыдущая страница | следующая страница ==>
Написание текста программы на языке Ассемблер| Разработка алгоритма программы

mybiblioteka.su - 2015-2024 год. (0.008 сек.)