7342

Изучение микроконтроллера MC68HC908GP32, методики его программирования и отладки

Лабораторная работа

Коммуникация, связь, радиоэлектроника и цифровые приборы

Изучение микроконтроллера MC68HC908GP32, методики его программирования и отладки Цель работы: Изучение состава стенда, назначения отдельных узлов стенда. Изучение технических характеристик и состава микропроцессора MC68HC908...

Русский

2013-01-21

397 KB

102 чел.

PAGE  1

  1.  Изучение микроконтроллера MC68HC908GP32, методики его программирования и отладки
  2.  Цель работы: Изучение состава стенда, назначения отдельных узлов стенда. Изучение технических характеристик и состава микропроцессора MC68HC908GP32. Получение навыков по программированию и отладке программ.
  3.  Программа работы
  4.  Изучение микропроцессора MC68HC908GP32
  5.  Изучение лабораторного стенда
  6.  Изучение субмодуля процессора
  7.  Изучение методики программирования МК
    1.  Ввод и ассемблирование текста программы;
    2.  Отладка программы в режиме полной эмуляции процессора;
    3.  Программирование микроконтроллера;
    4.  Отладка программы находящейся в памяти микроконтроллера.
  8.  Составление отчета по лабораторной работе.
    1.  Пояснения к работе
      1.  Описание микроконтроллера MC68HC908GP32 фирмы Motorola
  9.  Микроконтроллер MC68HC908GP32 представляет собой однокристальный микропроцессор общепромышленного применения. Имеющиеся в составе микропроцессора периферийные устройства позволяют без больших экономических затрат разрабатывать как системы программного управления технологического процесса, так и замкнутые высокоточные системы управления электроприводами.
  10.  Состав микропроцессора показан на Рис. 2.1. Основу микропроцессора составляет процессорное ядро CPU08, которое обеспечивает выполнение 90 инструкций, которые можно разделить на 6 основных групп:
  11.  Команды загрузки и пересылки;
  12.  Арифметические команды;
  13.  Логические команды;
  14.  Команды битового процессора;
  15.  Команды передачи управления;
  16.  Команды управления режимами энергопотребления.
  17.  Для операции над данными в состав процессорного ядра входят пять регистров:
  18.  А – аккумулятор;
  19.  H:X – индексный регистр;
  20.  SP – указатель стека;
  21.  PC – счетчик команд;
  22.  CCR – регистр признаков, в который входит шесть признаков:
    1.  V - Флаг переполнения дополнения до двух;
    2.  H - Флаг полупереноса;
    3.  I - Маска прерывания;
    4.  N - Флаг отрицательного значения;
    5.  Z - Флаг нулевого значения;
    6.  C - Флаг займа/переноса;
  23.  
  24.  Рис. 2.1 Структурная схема микропроцессора
  25.  Разрядность этих регистров показана на Рис. 2.2
  26.       

  1.  Рис. 2.2 Разрядность регистров микропроцессора
  2.  Рис. 2.3 Распределение адресного пространства микропроцессора

  1.  Рассмотрим более подробно модули, входящие в состав микроконтроллера.
  2.  Модуль системной интеграции (SIM08) предназначен для управления работой микропроцессора в целом. Он осуществляет распределение системных ресурсов между различными модулями микропроцессора, принимает запросы на прерывание, определяет их приоритеты.
  3.  Модуль CGM08 служит для формирования тактовых импульсов. В состав этого модуля входит синтезатор частоты, который позволяет на кварцевом резонаторе с частотой 32,768 кГц "разогнать" процессор до 8,2 МГц. Причем тактовую частоту процессора можно менять в ходе выполнения прикладной программы.
  4.  Модуль LVI08 предназначен для обеспечения правильной работы микропроцессора при разных питающих напряжениях (3 и 5 В). С помощью его можно также производить контроль питающего напряжения и при снижении его ниже заданного модуль автоматически переведет процессор в состояние сброса. При включении питания модуль LVI08 формирует сигнал сброса.
  5.  Микроконтроллер имеет резидентную память 512 байт ОЗУ (RAM) для хранения текущей информации, и 32 Кбайта Flash памяти для хранения программ и настроек. При отключении питания содержимое ОЗУ теряется, а содержимое Flash памяти остается. Однако Flash память имеет ограниченное количество циклов стирания/записи, в рассматриваемом микроконтроллере Flash память можно перепрограммировать 10000 раз. Карта памяти микроконтроллера приведена на Рис. 2.3, начало карты памяти отведено под так называемые регистры специальных функций, они представляют собой ячейки памяти, с которыми обмениваются интегрированные периферийные устройства.
  6.  Для программирования Flash памяти в микроконтроллере предусмотрена программа Monitor с необходимыми аппаратными ресурсами, модуль MON08. Этих средств достаточно для программирования микроконтроллера с компьютера высокого класса (Intel Pentium 100 MMX и выше) посредством обмена по асинхронному интерфейсу RS232 (более известен как Com порт). Этот модуль позволяет также вести отладку программы по шагам вне сетки реального времени. Для отладки программ в режиме реального времени предусмотрен модуль BREAK08, который позволяет отлаживать программу по контрольным точкам. Фрагмент программы между контрольными точками выполняется в режиме реального времени.
  7.  С целью повышения надежности работы микроконтроллера в его состав включен сторожевой таймер (COP08), который в случае "зависания" микропроцессора автоматически генерирует сигнал сброса. Принцип работы таймера заключается в следующем: программа пользователя должна регулярно сбрасывать регистр счетчика таймера, если программа "зависла" и не выполнила этого, счетчик через какое-то время будет переполнен, это и вызовет сброс микроконтроллера.
  8.  Для того чтобы микропроцессор мог ориентироваться в реальном времени в составе микропроцессора имеется два 16-и разрядных двухканальных таймера(TIM08) и таймер интервальных прерываний (TMB08).
  9.  Таймер TIM08 может работать в одном из следующих режимов:
  10.  Режим входного захвата – модуль отсчитывает равные промежутки времени;
  11.  Режим выходного сравнения – модуль измеряет промежутки времени между внешними событиями;
  12.  Режим ШИМ – модуль генерирует последовательность импульсов с широтно-импульсной модуляцией
  13.  Модуль TMB08 отсчитывает равные промежутки времени, главное отличие от модуля TIM08 состоит в том, что сетка генерируемых частот ограничена рядом: 1, 4, 16, 256, 512, 1024, 2048 и 4096 Гц.
  14.  В составе микроконтроллера имеется аналого-цифровой преобразователь (ADC08). Он представляет собой 8-и разрядный, однополярный АЦП последовательного приближения. Время преобразования составляет 17 мкс при частоте тактирования 8 МГц. Модуль обеспечивает два режима преобразования: однократное и непрерывное. Для возможности опроса нескольких источников аналоговых сигналов в составе модуля имеется программно управляемый коммутатор, который подключает одну из восьми линий к входу АЦП. Для самотестирования предусмотрена возможность с помощью коммутатора подключения к АЦП напряжения питания и нулевого потенциала.
  15.  Для связи с внешними быстродействующими устройствами в составе микропроцессора имеется последовательный периферийный (синхронный) интерфейс(SPI08). С использованием этого интерфейса микропроцессор может работать в двух режимах: ведущего (master) и ведомого (slave). Максимальная скорость передачи составляет 4 Мбит.
  16.  Для организации связи на большие расстояния в составе микроконтроллера имеется последовательный связной интерфейс (SCI08), который обеспечивает передачу данных по асинхронному каналу с 10 или 11-битным форматом байта данных. При использовании соответствующих драйверов возможно построение линии связи с протоколом RS232, RS422, RS485 и т.п.
  17.  Для ввода/вывода дискретной информации в состав процессора входят порты ввода/вывода (Input/Output Port). Каждый порт представляет собой несколько линий цифрового ввода/вывода (не более восьми). Каждая линия порта двунаправленная, т.е. направление передачи данных можно менять в ходе выполнения программы.
  18.  В состав микроконтроллера входит модуль IRQ08, который обеспечивает приём внешнего прерывания.
  19.  Имеющийся в составе микропроцессора модуль сканирования клавиатуры (KBI08) представляет собой восемь линий внешних прерываний, основное назначение модуля динамический опрос клавиатуры.
    1.  Описание лабораторного стенда
  20.  Все лабораторные работы выполняются на универсальном лабораторном стенде, приведем основные характеристики стенда:
  21.  Базовый процессор: MC68HC908GP32
  22.  Совместимые процессоры: процессоры серии HC08 (например, MC68HC908MR32 специализированный процессор для управления асинхронным двигателем)
  23.  Потребляемая мощность: не более 200 Вт
  24.  Интегрированная шина данных: поддерживает до 47 аналого-цифровых двунаправленных линий, а также шины питания и программирования;
  25.  Количество одновременно устанавливаемых субмодулей: 6 шт.
  26.  Интегрированная периферия: знакосинтезирующий жидкокристаллический индикатор, клавиатура на 16 клавиш, внутрисхемный программатор отладчик;
  27.  На Рис. 2.4 приведена структурная схема стенда с имеющимися субмодулями, в углу каждого блока белые цифры на черном фоне указывают, в каких работах будет использоваться тот или иной модуль.
  28.  Основу стенда составляет коммуникационная шина, источник питания и несколько периферийных устройств, все остальное классифицировано как субмодули (модули) и выполняет основную работу. Набор субмодулей позволяет испытать возможности базового процессора. Все субмодули более подробно будут описаны ниже. На Рис. 2.5 показан внешний вид стенда и обозначены органы управления и индикации.
  29.  
  30.  Рис. 2.4 Структурная схема лабораторного стенда

  1.  
  2.  Рис. 2.5 Внешний вид стенда и расположение органов управления

  1.  Описание субмодуля процессора
  2.  Субмодуль процессора представляет собой печатную плату размером 100220 мм, на которой установлен микропроцессор с системой тактирования, сброса и коммутатора для выхода в режим программирования отладки. Приведем основные технические характеристики субмодуля:
  3.  Процессор: MC68HC908GP32CPP;
  4.  Частота встроенного кварцевого резонатора: 32,768 кГц;
  5.  Подключение внешнего резонатора: путем переключения джамперов на плате;
  6.  Система сброса: встроенная система горячего и холодного сброса;
  7.  Возможность программирования на плате: имеется, выход в режим программирования путем установки джамперов на плате;
  8.  Напряжение питания : 5 В, от источника стенда.
    1.  Передняя панель субмодуля с органами управления и расположение элементов на плате показано на Рис. 2.6
  9.  
  10.  Рис. 2.6 Внешний вид субмодуля процессора

  1.  Субмодуль позволяет двумя различными способами формировать сброс микропроцессора холодный и горячий. Первый необходим для перехода МК в режим программирования, осуществляется путем кратковременного отключения питания от микропроцессора. Горячий сброс предназначен для оперативного сброса во время работы, осуществляется путем формирования низкого логического уровня на входе .
  2.  Коммутатор выбора тактирующей последовательности предназначен для выбора кварцевого резонатора, позволяет выбирать резонатор с частотой 32,768 кГц (установленный в субмодуле) и 9,28 МГц (установленный в блоке программатора), следует обратить внимание, что выбор можно осуществлять только при выключенном стенде. Коммутация тактирующей последовательности осуществляется путем установки перемычки в одно из положений. Рис. 2.7 иллюстрирует выбор тактирующей последовательности, черным прямоугольником показана установленная перемычка (джампер).
  3.  
  4.  Рис. 2.7 Выбор тактирующей последовательности

  1.  Коммутатор режима работы позволяет выбирать один из режимов работы процессора: работа и программирование. Последний режим совместно с программатором и компьютером позволяет вести отладку программ пользователя с подключенными внешними устройствами. Следует обратить особое внимание на то, что выбор режима работы можно осуществлять только при выключенном стенде. Выбор режима осуществляется путем установки перемычек на плате, на Рис. 2.8 показано положение перемычек для каждого из режимов работы, черными прямоугольниками показаны установленные перемычки. При выборе режима "Программирование" следует коммутатором тактирующей последовательности установить частоту 9,28 МГц (см. Рис. 2.7 б), иначе микропроцессор не перейдет в режим программирования/отладки.
  2.  Для программирования и отладки программ, а также для ввода и ассемблирования исходных текстов программ используется пакет ISC08, который представляет интегрированную среду разработки. Пакет имеет стандартный и интуитивно понятный интерфейс для Windows. Пакет позволяет вводить исходные тексты, ассемблировать программы, вести отладку с полной эмуляцией процессора (т.е. компьютер имитирует работу микропроцессора и всех его интегрированных устройств), вести отладку программы с внешними устройствами без занесения программы во Flash память, отлаживать и дизассемблировать программы находящиеся во Flash памяти, а также программировать Flash память МК. Отладка программы может вестись как по командам, так и по контрольным точкам.
  3.  
  4.  Рис. 2.8 Выбор режима работы
    1.  Ввод и отладка программы
  5.  Для выполнения этого задания вам необходим компьютер, стенд и субмодуль процессора. Сначала изучите расположение органов управления на стенде, расположение коммутаторов на плате субмодуля. При работе со стендом и субмодулями следует соблюдать аккуратность, т.к. неаккуратность может привести к механическим поломкам стенда.
  6.  В первую очередь установите с помощью перемычек (джамперов) на плате субмодуля режим работы "программирование/отладка" (см. Рис. 2.8 б) и тактирующую последовательность 9,28 МГц (см. Рис. 2.7). После этого установите субмодуль в корзину (на Рис. 2.5 она обозначена как "корзина для установки субмодулей"), предварительно уточнив у преподавателя правильность своих действий. После установки субмодуля убедитесь в надежности подключения кабеля соединяющего стенд и компьютер.
    1.  Далее необходимо запустить рабочий стол пакета ISC08, как это сделать, вам расскажет преподаватель.
    2.  После этого создайте новый файл, воспользовавшись командой из меню "File". В созданном документе наберите программу, текст которой приведен в  Таблице 2.1;
  7.  При вводе программы следует учитывать, что знак "$" означает, что последующее число следует рассматривать как шестнадцатеричное, знак "#" указывает на непосредственные данные, знак "!" означает, что последующее число представлено в десятичной форме. На Рис. 2.9 показано рабочее окно пакета ISC08 с введенным текстом программы. Ввод команд программы следует начинать вводить с отступом. Отступ вставляться табуляцией (клавиша TAB).

  1.  Таблица 2.1 Текст программы для выполнения
  1.  Команда
  1.  Комментарий
  1.  Содержимое
  1.  
  1.  
  1.  А
  1.  X
  1.  $50
  1.  $51
  1.  org $8000
  1.  Задание начального адреса программы
  1.  xx
  1.  xx
  1.  xx
  1.  xx
  1.  lda #$FF
  1.  Загрузка в аккумулятор числа $FF
  1.  $FF
  1.  xx
  1.  xx
  1.  xx
  1.  ldx #!128
  1.  Загрузка в регистр X числа 128
  1.  $FF
  1.  $80
  1.  xx
  1.  xx
  1.  sta $50
  1.  Сохранение числа из аккумулятора в ячейку памяти с адресом $50
  1.  
  1.  
  1.  
  1.  
  1.  txa
  1.  Пересылка данных из регистра Х в аккумулятор
  1.  
  1.  
  1.  
  1.  
  1.  mov $50,$51
  1.  Пересылка данных из ячейки памяти с адресом $50 в ячейку памяти с адресом $51
  1.  
  1.  
  1.  
  1.  
  1.  lda $51
  1.  Загрузка данных в аккумулятор из ячейки памяти с адресом $50
  1.  
  1.  
  1.  
  1.  

  1.  
  2.  Рис. 2.9 Рабочее окно пакета ISC08, с введенным текстом программы
  3.  После ввода текста программы сохраните её на жесткий диск нажатием кнопки , в окне пакета ISC08. Далее необходимо ассемблировать программу. Сделать это можно нажатием кнопки . После чего появиться окно ассемблирования, в котором будет отображаться процесс ассемблирования, вид этого окна показан на Рис. 2.10. После завершения ассемблирования станет активной кнопка "ОК", если вы не видите в окне красных надписей, значит все нормально, иначе после нажатия кнопки "ОК" программа выделит вам строку с ошибкой.

  1.  
  2.  Рис. 2.10 Окно ассемблирования

  1.  Перейдем к отладке программы, для этого запустим эмулятор, с помощью кнопки . Окно эмулятора показано на Рис. 2.11.В этом окне показывается информация о состоянии регистров процессора, ячеек памяти, а также текст вашей программы. Рассмотрим более подробно состав рабочего окна эмулятора. Оно состоит из нескольких окон. Окно "CPU08" отображает информацию о состоянии регистров микропроцессора, "ACCA" аккумулятор, "HREG" регистр H и т.д. Окно "Memory Window1" показывает содержимое ячеек памяти. В окне "Status Window" показываются действия, выполняемые при отладке, однако на английском языке. Выполнение одной команды производиться посредством нажатия кнопки "F5".
  2.  
  3.  Рис. 2.11 Окно эмулятора
  4.  Далее выполните всю программу по шагам, контролируя после каждого шага состояние регистров и памяти (ячейки памяти с адресом $50 и $51). Полученные результаты необходимо занести в таблицу 2.1. Контролировать ячейки памяти можно с помощью информационного окна "Memory Window1", (см. Рис. 2.11), для выбора адреса отображения необходимо щелкнуть правой клавишей мыши в этом окне, в появившемся контекстном меню выберите опцию "Set Base Address" (см. Рис. 2.12а), после чего укажите требуемый адрес ($50) в появившемся окне(см. Рис. 2.1. б)            
    1.  а)      б)
  5.  Рис. 2.12 Выбор базового адреса для отображения памяти
    1.  Программирование Flash памяти
  6.  Для того, чтобы занести программу во Flash память, необходимо закрыть эмулятор, и запустить программатор, кнопкой в рабочем окне пакета ISC08 (см Рис. 2.9). После его запуска появиться большое окно, в котором необходимо установить параметры соединения, вид этого окна показан на Рис. 2.13. Их очень много и поэтому они уже заранее установлены и от вас требуется только нажать кнопку с надписью "Contact target with these settings…", но перед этим необходимо включить питание стенда.

  1.  
  2.  Рис. 2.13 Окно параметров соединения

  1.  После нажатия кнопки программа попросит вас произвести холодный сброс процессора, это необходимо сделать с помощью соответствующей кнопки на процессорном слоте (см. Рис. 2.6), время удержания кнопки в нажатом состоянии около одной секунды. После произведения сброса подтвердите это в информационном окне, вид которого показан на Рис. 2.14, нажатием кнопки "ОК". После этого программатор попросит вас указать файл с алгоритмом программирования, где он находиться укажет преподаватель. Окно программатора показано на Рис. 2.15
  2.  
  3.  Рис. 2.14 Окно запроса холодного сброса МК
  4.  
  5.  Рис. 2.15 Окно программатора

  1.  После этого необходимо загрузить S19 файл вашей программы, нажав кнопку . Файл S19 представляет собой код вашей программы, файл создается ассемблером во время ассемблирования. После этого необходимо произвести стирание Flash памяти, нажав кнопку . Стирание памяти необходимо, так как процессор уже программировался, и на месте где должна быть ваша программа находиться другая, и её необходимо уничтожить. После этого выполнить операцию программирования, нажав кнопку . Программирование МК закончено.
    1.  Контрольные вопросы
  2.  Какие периферийные устройства установлены в стенде?
  3.   Перечислите периферийные устройства, интегрированные в микропроцессор MC68HC908GP32, и назовите выполняемые ими функции
  4.  Назовите необходимые средства для проведения программирования и отладки микропроцессора.
  5.  Перечислите все узлы, входящие в субмодуль процессора и их назначение.
  6.  Назовите порядок перевода микропроцессора в режим программирования и отладки.


 

А также другие работы, которые могут Вас заинтересовать

21109. Архітектура за часів Київської Русі 28.45 KB
  Тому одразу ж після хрещення Русі з’являються й перші церкви: Василівська побудована з дерева за зразком храму в Корсуні і Десятинна або Богородицька – перша кам’яна церква у Києві. Подальші реставрації та ремонті роботи не врятували цього храму який порівняно скоро перетворився на купу будівельного брухту. Красу храму створювала гармонія його форми в цілому яка мала символізувати гармонію світобудови створеної з хаосу Божим Словом. Головним структурним елементом храму був його центральний купол що розташовувався на восьмикутному або...
21110. Образотворче мистецтво доби Київської Русі 25.17 KB
  Образотворче мистецтво доби Київської Русі. Розвиток живопису в Київській Русі цілком пов'язаний з поширенням християнства. Майстерність ювелірів що набула розквіту в добу Київської Русі зростала від важких і примітивних браслетів масивних перснів гривнів та намист із міді або сплетених зі срібного дроту до тонких ажурних прикрас оздоблених довершеною насічкою що передавала не лише прості візерунки а й складні сюжетні малюнки як наприклад знахідки з Чорної могили Чернігів X ст. Від часів зміцнення держави збільшується на Русі...
21111. Усна народна творчість, доби пізнього Середньовіччя (XIV – перша половина XVII ст.) 19.05 KB
  Значні світоглядні зрушення відбуваються в усній народній творчості. Розвиток народної творчості українців відбувався на основі давньоруських фольклорних традицій проте нові умови життя народжували й нові форми народної творчості. Натомість в обрядовій творчості з’являються насамперед у жнивних та обжинкових піснях соціальні мотиви та настрої які мають антифеодальне забарвлення.
21112. Освіта доби пізнього Середньовіччя (XIV - перша полови-на XVII ст.) 23.76 KB
  В Україні були протестантські школи в Дубні Хмельнику. Здебільшого рівень освіти в Україні якщо не враховувати протестантські заклади був початковим. Безпосередньо в Україні книгодрукування поширилося тільки у другій половині XVI ст. тут побачив світ Апостол перша друкована книга в Україні яка призначалася для церковнобогослужбового вжитку.
21113. Література і літописання XIV – першої половини XVII ст. 25.69 KB
  Література і літописання XIV – першої половини XVII ст. з’являються також нові розширені версії перекладних повістей про Олександра Македонського Олександрія оповідання про Трою Бовукоролевича у XVI ст. До найзначніших літописів тієї доби слід віднести Короткий Київський літопис XIV XVI ст. Виробництво власного паперу в Україні почалося в Галичині тільки в першій половині XVI ст.
21114. Релігійна полеміка другої половини XVI – першої половини XVII ст 23.14 KB
  У творчості цього полеміста чи не найповніше виражено віру у швидке відродження національної культури та її майбутній розквіт. Він виступав проти вищої ієрархії що призвела до унії а також проти католицької та західної культури. Якщо в часи ренесансних віянь в Україні та за її межами під враженням від давніх київських руїн часто висловлювалася думка що Київ це ніщо інше як гомерівська Троя то з початком поширення барокової культури в Україні виникає концепція Києва як Другого Єрусалима Й. який має стати надійним оплотом не тільки...
21115. Архітектура доби пізнього Середньовіччя (XIV – перша половина XVII ст.) 22.82 KB
  Найбільшими будівлями цього стилю були католицькі костели у Львові кінець XIV ст. Найстарішою пам’яткою готичної доби де готичні елементи співіснують з візантійськомало азійським стилем є Вірменська церква у Львові закладена у 1363 р. особливо у Львові панував стиль пізнього Ренесансу. У цьому стилі у Львові збудовані Високий замок будинок Гепнера Чорна кам’яниця 1570 будинок грецького купця й уславленого мецената Корнякта 1580 каплиця Трьох святителів 1578 вежа Вірменської церкви 1576 а також вежа Корнякта дзвіниця...
21116. Образотворче мистецтво у XIV – першій половині XVII ст 28.59 KB
  Образотворче мистецтво у XIV – першій половині XVII ст. У фресковий розпис проникають народні й світські мотиви пов’язані з раннім Ренесансом хоча в цілому пам’ятки монументального фрескового живопису XIV середини XVI ст. У цілому ж до середини XVI ст. З XVI ст.
21117. Театральне мистецтво і музична культура доби пізнього Середньовіччя (XIV - перша половина XVII ст.) 15.84 KB
  Театральне мистецтво і музична культура доби пізнього Середньовіччя XIV перша половина XVII ст. Театральне мистецтво. Зароджується також театральне мистецтво. Розвиваються народні ігри та мистецтво скоморохів виконавців і творців розважальної усної поезії музичного фольклору.