Читайте также: |
|
И.А. Дубров
М.Ю. Белошицкий
А.Н. Попов
ОСНОВЫ МИКРОПРОЦЕССОРНОЙ ТЕХНИКИ
Екатеринбург
Издательство УрГУПС
Федеральное агентство железнодорожного транспорта
Уральский государственный университет путей сообщения
Кафедра «Автоматика, телемеханика и связь на железнодорожном транспорте»
И.А. Дубров
М.Ю. Белошицкий
А.Н. Попов
ОСНОВЫ МИКРОПРОЦЕССОРНОЙ ТЕХНИКИ
Учебно-практическое пособие к лабораторным работам по дисциплине «Основы микропроцессорной техники» для студентов специальности 190402 – «Автоматика, телемеханика и связь на железнодорожном транспорте»; «Программирование периферийных контроллеров» для студентов специальности 190901 – «Системы обеспечения движения поездов» всех форм обучения
Екатеринбург
Издательство УрГУПС
УДК 656.259.12
Д79
Дубров И.А.
Д79 Основы микропроцессорной техники: учебно-практическое пособие к лабораторным работам. / И. А. Дубров, М. Ю. Белошицкий, А. Н. Попов. – Екатеринбург: изд-во УрГУПС, 2012. – 128 с.
Методическое пособие предназначено для изучения архитектуры, принципа действия и системы команд микроконтроллеров семейства PIC-micro, а так же для обучения основам программирования на языке Ассемблер в интегрированной среде разработки MPLAB.
Методическое пособие предназначено для студентов всех форм обучения специальностей «Автоматика, телемеханика и связь на железнодорожном транспорте» и «Системы обеспечения движения поездов», проходящих курс обучения на кафедре «Автоматика, телемеханика и связь на ж.-д. транспорте» УрГУПС.
Авторы: И. А. Дубров, старший преподаватель кафедры «Автоматика, телемеханика и связь на ж.-д. транспорте», УрГУПС
А. Н. Попов, ассистент кафедры «Автоматика, телемеханика
и связь на ж.-д. транспорте», УрГУПС
М. Ю. Белошицкий, ассистент кафедры «Автоматика, телемеханика и связь на ж.-д. транспорте», УрГУПС
Рецензент: А. А. Новиков, профессор кафедры «Автоматика, телемеханика и связь на ж.-д. транспорте», УрГУПС.
© Уральский государственный университет
путей сообщения (УрГУПС), 2012
СОДЕРЖАНИЕ
ЛАБОРАТОРНАЯ РАБОТА 1 Изучение интегрированной среды разработки MPLAB.. 6
ЛАБОРАТОРНАЯ РАБОТА 2 Изучение запоминающих устройств микроконтроллеров PIC-micro 25
ЛАБОРАТОРНАЯ РАБОТА 3 Изучение работы параллельных портов микроконтроллеров PIC-micro 39
ЛАБОРАТОРНАЯ РАБОТА 4 Изучение работы последовательных портов микроконтроллеров PIC-micro. 50
ЛАБОРАТОРНАЯ РАБОТА 5 Изучение работы таймеров микроконтроллеров PIC-micro. 68
ЛАБОРАТОРНАЯ РАБОТА 6 Изучение работы аналого-цифрового преобразователя микроконтроллеров PIC-micro. 87
ЛАБОРАТОРНАЯ РАБОТА 7 Изучение работы модуля захвата/сравнения/ШИМ микроконтроллеров PIC-micro. 99
Перечень рекомендуемой литературы.. 109
Приложение 1. Схема лабораторного макета. 110
Приложение 2. Краткое описание набора инструкций PIC16. 111
Приложение 3. Список команд PIC16 и их подробное описание. 112
ВВЕДЕНИЕ
В настоящее время в устройствах железнодорожной автоматики, телемеханики и связи применяется большое количество различных микропроцессоров и микроконтроллеров. В зависимости от решаемых задач они могут иметь отличия в архитектуре, наборе периферийных устройств, производительности, системе команд и т. д.
В качестве примера при выполнении лабораторных работ используется 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 ORG H'001';начальный адрес программы ;начало цикла M100:;проверка портов BTFSC PORTB,5;скачек, если нажата кнопка SA2 GOTO M210;переход к гашению HL2 BSF PORTC,0;включаем HL2 GOTO M220;переход к проверке SA3 · · · · · · · · · · · · · · · · · · · · · · · · · · BTFSC PORTB,1;скачек, если нажата кнопка SA5 GOTO M320;переход BTFSC PORTB,0;скачек, если нажата кнопка SA6 GOTO M320;переход BCF PORTA,3;выдаем паузу на PORTA,3 M320: BTFSC PORTB,5;скачек, если нажата кнопка SA2 GOTO M600;переход к проверке АЦП BTFSC PORTB,4;скачек, если нажата кнопка SA3 GOTO M600;переход к проверке АЦП BCF PORTA,2;выдаем паузу на PORTA,2 M600:;проверка АЦП и ШИМ MOVF ADRESH,W;считываем значение с АЦП MOVWF CCPR1L;переписываем в регистр CCP1 MOVLW B'00000101';включение и запуск АЦП MOVWF ADCON0;программируем регистр АЦП 0 ;выдержка времени MOVLW H'FF';| MOVWF H'20';| M940: DECFSZ H'20',F;| GOTO M940;| GOTO M100;конец цикла END |
Применение оконного интерфейса в современных версиях MPLAB существенно упростило процесс создания программы. Преобразование файлов в необходимый формат и вызов соответствующих программ происходит автоматически, практически без участия программиста. Интерфейс MPLAB схож с интерфейсом других Windows приложений и легок в освоении. Скриншот основного окна MPLAB приведен на рис. 1.3.
Рис. 1.3. Основное окно MPLAB
Здесь можно выделить четыре основных области: 1 – панель меню, 2 – панель инструментов, 3 – рабочая область и 4 – строка состояния.
Конкретные пункты меню будут рассмотрены в дальнейшем.
На панели инструментов доступны шесть групп кнопок, повторяющих основные функции текстового меню:
– стандартная, включающая кнопки управления файлами, редактирования, печати и др.;
– менеджер проектов, включающая кнопки управления проектом;
– контрольная сумма;
– отладки, включающая кнопки управления выполнением программы;
– управления программатором-отладчиком PICkit 2;
– ресурсов устройства, используемых при отладке программы.
На рабочей области основного окна MPLAB размещаются окна с открытыми файлами, всплывающие меню, диалоговые окна и другая информация.
Строка состояния отображает текущие настройки системы и основные данные разрабатываемой программы.
Дата добавления: 2015-07-08; просмотров: 268 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Тема 2.6 Методы исследования математических моделей. | | | Компиляция исходного текста программы в машинные коды |