Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОМТ (на редактировании).doc
Скачиваний:
31
Добавлен:
17.05.2015
Размер:
3.86 Mб
Скачать

Введение

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

В качестве примера при выполнении лабораторных работ используется 8-разрядный универсальный микроконтроллер PIC16F873A фирмы Microchip, построенный по гарвардской архитектуре и включающий в себя весь необходимый набор периферийных модулей, таких как: системный монитор, запоминающие устройства, порты ввода-вывода, таймеры, аналого-цифровой преобразователь, схемы захвата и сравнения, широтно-импульсный модулятор, аналоговые компараторы.

Все микроконтроллеры фирмы Microchip имеют сокращенный набор команд (RISC). В частности микроконтроллер PIC16F873A имеет всего 35 уникальных команд, что обуславливает легкость в изучении основ программирования данного микроконтроллера. Подробное описание системы команд микроконтроллера приведено в приложении 4.

Для написания, компиляции, тестирования и отладки программ используется интегрированная среда разработки MPLAB, позволяющая использовать такие язык программирования как Ассемблер и С. Кроме того MPLAB позволяет имитировать работу микроконтроллера на персональном компьютере (симулятор MPLAB-SIM) либо, с помощью программатора-отладчика PICkit-2 загружать разрабатываемую программу в память реального микроконтроллера.

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

Лабораторная работа 1 Изучение интегрированной среды разработки mplab

Цель работы: Ознакомиться с лабораторным макетом по ОМТ и средой разработки MPLAB.

Лабораторный макет по ОМТ включает в себя демонстрационную плату, построенную на микроконтроллере PIC16F873A, программатор-отладчик PICkit 2 и персональный компьютер с установленной программой MPLAB. В одном корпусе макета расположены два комплекта аппаратуры (два рабочих места).

Структурная схема макета приведена на рис. 1.1. Она состоит из микроконтроллера PIC16F873A, с подключенными к нему периферийными устройствами, программатора-отладчика PICkit 2 и персонального компьютера.

В состав периферийных устройств входят:

  • кнопка SA1 «RESET» (сброс);

  • кнопки SA2..SA6, подключенные к входам параллельного порта микроконтроллера;

  • потенциометр R1, подключенный к входу аналого-цифрового преобразователя микроконтроллера;

  • пьезокерамический звукоизлучатель BZ1;

  • светодиоды HL1...HL6, подключенные к выходам параллельного порта микроконтроллера;

  • микроамперметр PV1, подключенный к выходу широтно-импульсного модулятора микроконтроллера;

  • драйвер последовательного интерфейса RS-232C (микросхема DD2 типа ILX232N), предназначенная для согласования уровней сигналов на выводах последовательного порта микроконтроллера и персонального компьютера;

  • светодиоды HL8 «TXD» и HL9 «RXD», индицирующие передачу либо прием информации по последовательному порту.

Программатор-отладчик PICkit 2 предназначен для записи исполняемого двоичного кода программы во внутреннюю FLASH память микроконтроллера в режиме программирования, и для чтения содержимого энергонезависимой памяти данных, регистров общего и специального назначения, а так же для управления работой программы в режиме отладки.

Принципиальная электрическая схема приведена непосредственно на лицевой панели макета и в приложении 2.

Рис. 1.1. Структурная схема макета

MPLAB IDE — это интегрированная среда разработки для микроконтроллеров PIC-micro фирмы Microchip Technology Incorporated. MPLAB IDE позволяет писать, отлаживать и оптимизировать текст программы. MPLAB IDE включает в себя текстовый редактор, компилятор с языка Ассемблер MPASM, компановщик объектных файлов (линковщик) MPLINK, компановщик библиотек MPLIB, менеджер проектов, симулятор MPLAB-SIM и другие необходимые программы. Кроме того, в MPLAB обеспечивается поддержка аппаратных средств программирования и отладки, таких как PICkit, MPLAB ICD, MPLAB ICE, разработки самой фирмы Microchip, так и сторонних разработчиков. Структурная схема обработки информации в MPLAB приведена на рис. 1.2. Исходный текст программы на языке Ассемблер должен быть сохранен в файле (файлах) с расширением .asm. При компиляции программы в машинные коды с помощью программы MPASM генерируются объектные файлы с расширением .о. Компановщик MPLINK соединяет имеющиеся объектные файлы в файл с шестнадцатеричными машинными кодами и имеющий расширение .hex, при этом происходит выделение областей памяти каждому из фрагментов исходной программы, присвоение конкретных адресов меткам и т. д.

Рис. 1.2. Структурная схема обработки информации в MPLAB

В формируемый hex-файл могут включаться готовые фрагменты программы, хранящиеся в библиотечных файлах с расширением .lib. Кроме hex-файла MPLINK генерирует файл с полным текстом программы (листинг) имеющий расширение .lst, файл с планом распределения памяти программ с расширением .map и файл — отчет об обнаруженных при компиляции ошибках с расширением .err. Программа в шестнадцатеричных кодах (hex-файл) может быть загружена в программный имитатор (симулятор) микроконтроллера, либо, с помощью аппаратного программатора, непосредственно во внутреннюю FLASH память реального микроконтроллера. В лабораторном макете доступны оба варианта отладки программы, но при отладке на симуляторе отсутствует возможность работы с реальными устройствами, подключаемыми к микроконтроллеру.

Для создания библиотечных модулей из готовых объектных файлов используется редактор библиотек MPLIB.

Структура исходного текста программы на языке Ассемблер представляет из себя таблицу (см. табл. 1.1.). Колонки таблицы должны разделяться символами пробела или табуляции. Каждая строка программы содержит одну ассемблерную команду, преобразуемую компилятором MPASM в исполняемый машинный код, либо директиву (указание) ассемблеру или линковщику, называемую псевдокомандой. Псевдокоманды в машинные коды не транслируются.

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

GOTO start

вместо

GOTO 0x0002

Вторая колонка содержит мнемонический код ассемблерной команды (псевдокоманды).

Третья колонка — это данные, которые обрабатываются в данной команде, называемые операндами. Если команда использует несколько операндов, то они разделяются запятой, если команда не использует операндов третья колонка остается пустой.

Четвертая колонка является необязательной и содержит текстовый комментарий к данной команде. Комментарий начинается с символа точка с запятой. Содержимое комментария игнорируется компилятором и не влияет на работу программы.

Таблица 1.1.

Пример исходного текста программы на языке Ассемблер

Метка:

Мнемокод

Операнды

;Комментарии

#include p16f873a.inc

ORGH'001' ;начальный адрес программы

;начало цикла

M100: ;проверка портов

BTFSCPORTB,5 ;скачек, если нажата кнопкаSA2

GOTOM210 ;переход к гашениюHL2

BSFPORTC,0 ;включаемHL2

GOTOM220 ;переход к проверкеSA3

· · · · · · · · · · · · · · · · · · · · · · · · · ·

BTFSCPORTB,1 ;скачек, если нажата кнопкаSA5

GOTOM320 ;переход

BTFSCPORTB,0 ;скачек, если нажата кнопкаSA6

GOTOM320 ;переход

BCFPORTA,3 ;выдаем паузу наPORTA,3

M320:BTFSCPORTB,5 ;скачек, если нажата кнопкаSA2

GOTOM600 ;переход к проверке АЦП

BTFSCPORTB,4 ;скачек, если нажата кнопкаSA3

GOTOM600 ;переход к проверке АЦП

BCFPORTA,2 ;выдаем паузу наPORTA,2

M600: ;проверка АЦП и ШИМ

MOVFADRESH,W;считываем значение с АЦП

MOVWFCCPR1L;переписываем в регистрCCP1

MOVLWB'00000101' ;включение и запуск АЦП

MOVWFADCON0 ;программируем регистр АЦП 0

;выдержка времени

MOVLWH'FF' ;|

MOVWFH'20' ;|

M940:DECFSZH'20',F;|

GOTOM940 ;|

GOTOM100 ;конец цикла

END

Применение оконного интерфейса в современных версиях MPLAB существенно упростило процесс создания программы. Преобразование файлов в необходимый формат и вызов соответствующих программ происходит автоматически, практически без участия программиста. Интерфейс MPLAB схож с интерфейсом других Windows приложений и легок в освоении. Скриншот основного окна MPLAB приведен на рис. 1.3.

Рис. 1.3. Основное окно MPLAB

Здесь можно выделить четыре основных области: 1 – панель меню, 2 – панель инструментов, 3 – рабочая область и 4 – строка состояния.

Конкретные пункты меню будут рассмотрены в дальнейшем.

На панели инструментов доступны шесть групп кнопок, повторяющих основные функции текстового меню:

– стандартная, включающая кнопки управления файлами, редактирования, печати и др.;

– менеджер проектов, включающая кнопки управления проектом;

– контрольная сумма;

– отладки, включающая кнопки управления выполнением программы;

– управления программатором-отладчиком PICkit 2;

– ресурсов устройства, используемых при отладке программы.

На рабочей области основного окна MPLAB размещаются окна с открытыми файлами, всплывающие меню, диалоговые окна и другая информация.

Строка состояния отображает текущие настройки системы и основные данные разрабатываемой программы.