
- •Основы микропроцессорной техники
- •Введение
- •Лабораторная работа № 1 Изучение интегрированной среды разработки mplab
- •Методика выполнения работы
- •Создание файла с исходным текстом программы.
- •Добавление файла к проекту
- •Компиляция исходного текста программы в машинные коды.
- •Запись кода программы во внутреннюю flash память микроконтроллера
- •Отладка (выполнение) программы
- •Содержание отчета
- •Контрольные вопросы
- •Лабораторная работа № 2 Изучение запоминающих устройств микроконтроллеров pic-micro
- •Порядок выполнения работы
- •Постановка задачи.
- •Разработка алгоритма программы.
- •Написание текста программы на языке Ассемблер.
- •Трансляция исходного текста программы в машинные коды.
- •Тестирование и отладка.
- •Сопровождение.
- •Содержание отчета
- •Контрольные вопросы
- •Порядок выполнения работы
- •Содержание отчета
- •Контрольные вопросы
- •Лабораторная работа № 4 Изучение работы последовательных портов микроконтроллеров pic-micro
- •Порядок выполнения работы
- •Постановка задачи.
- •Разработка алгоритма программы.
- •Написание текста программы на языке Ассемблер.
- •Тестирование и отладка.
- •Сопровождение.
- •Содержание отчета
- •Контрольные вопросы
- •Лабораторная работа № 5 Изучение работы таймеров микроконтроллеров pic-micro
- •Порядок выполнения работы
- •Содержание отчета
- •Контрольные вопросы
- •Лабораторная работа № 6 Изучение работы аналого-цифрового преобразователя микроконтроллеров pic-micro
- •Порядок выполнения работы
- •Содержание отчета
- •Контрольные вопросы
- •Лабораторная работа № 7 Изучение работы модуля захвата/сравнения/шим микроконтроллеров pic-micro
- •Порядок выполнения работы
- •Содержание отчета
- •Контрольные вопросы Перечень рекомендуемой литературы
- •Приложение 2. Схема лабораторного макета
- •Приложение 3. Краткое описание набора инструкций pic16
- •Приложение 4. Список команд pic16 и их подробное описание
- •Addlw — Сложение w и константы k
- •Addwf — Сложение w и регистра f
- •Andlw — Побитное «и» w и константы k
- •Andwf — Побитное «и» w и регистра f
- •Bтfsc — Условный переход при нулевом бите b регистра f
- •Bтfss — Условный переход при единичном бите b регистра f
- •Call — Вызов подпрограммы
- •Clrf — Обнуление регистра f
- •Clrw — Обнуление регистра w
- •Clrwdt — Сброс сторожевого таймера
- •Comf — Инверсия регистра f
- •Decf — Декремент регистра f
- •Decfsz — Декремент регистра f и пропуск в случае нулевого результата
- •Goto — Переход по адресу
- •Incf — Декремент регистра f
- •Incfsz — Декремент регистра f и пропуск в случае нулевого результата
- •Iorlw — Побитное «или» w и константы k
- •Iorwf — Побитное «или» w и регистра f
- •Movf — Пересылка регистра f
- •Movlw — Пересылка константы k
- •Movwf — Пересылка из регистра w в регистр f
- •Retfie — Возврат из подпрограммы с включением прерываний
- •Retlw — Выход из подпрограммы с загрузкой в регистр w константы k
- •Return — Выход из подпрограммы
- •Sleep — Перейти в спящий режим
- •Sublw — Вычитение w из константы k
- •Subwf — Вычитание w из регистра f
- •Swapf — Обмен местами ниблов в регистре f
- •Xorlw — Побитное «Исключающее или» w и константы k
- •Xorwf — Побитное «Исключающее или» w и регистра f
- •Основы микропроцессорной техники
- •620034, Екатеринбург, ул. Колмогорова 66.
ФЕДЕРАЛЬНОЕ АГЕНТСТВО ЖЕЛЕЗНОДОРОЖНОГО ТРАНСПОРТА
Уральский государственный университет путей сообщения
______________________________________________________________
Кафедра автоматики, телемеханики и связи
на железнодорожном транспорте
И.А. Дубров
М.Ю. Белошицкий
А.Н. Попов
Основы микропроцессорной техники
Методические указания к лабораторным работам
по дисциплинам: «Основы микропроцессорной техники»,
(специальность 190402, «Автоматика, телемеханика
и связь на железнодорожном транспорте»);
«Программирование периферийных контроллеров»
(специальность 190901, «Системы обеспечения движения поездов»)
Екатеринбург
2012
УДК 656.259.12
Д79
Дубров И.А., Белошицкий М.Ю., Попов А.Н. Основы микропроцессорной техники: Методические указания к лабораторным работам. — Екатеринбург: УрГУПС, 2012. – ?? с.
Методическое пособие предназначено для изучения архитектуры, принципа действия и системы команд микроконтроллеров семейства PIC-micro, а так же для обучения основам программирования на языке Ассемблер в интегрированной среде разработки MPLAB.
Методическое пособие предназначено для студентов всех форм обучения специальностей «Автоматика, телемеханика и связь на железнодорожном транспорте» и «Системы обеспечения движения поездов», проходящих курс обучения на кафедре «Автоматика, телемеханика и связь на ж.д. транспорте» УрГУПС.
Рекомендовано к печати на заседании кафедры «Автоматика и телемеханика на ж.д. транспорте», протокол № ?? от 29 апреля 2012г.
Авторы: И.А. Дубров, старший преподаватель кафедры «Автоматика, телемеханика и связь на ж.-д. транспорте» (УрГУПС),
А.Н. Попов, ассистент кафедры «Автоматика, телемеханика и связь на ж.-д. транспорте» (УрГУПС).
М.Ю. Белошицкий, ассистент кафедры «Автоматика, телемеханика и связь на ж.-д. транспорте» (УрГУПС),
Рецензент: А.А. Новиков, профессор кафедры «Автоматика, телемеханика и связь на ж.-д. транспорте» (УрГУПС).
© Уральский государственный университет путей сообщения (УрГУПС), 2012
СОДЕРЖАНИЕ
ЛАБОРАТОРНАЯ РАБОТА № 1 Изучение интегрированной среды разработки MPLAB 8
ЛАБОРАТОРНАЯ РАБОТА № 2 Изучение запоминающих устройств микроконтроллеров PIC-micro 27
1. * Деление памяти данных на банки создает определенные неудобства при конструировании программ. В частности программисту приходится постоянно помнить о том, в каком банке данных он работает в настоящий момент, о том в какой банк данных необходимо переключиться для того, чтобы установить контрольный бит заданного контрольного регистра и т.п. И тем не менее разделение памяти на банки присутствует в микроконтроллерах PIC16. Как вы думаете что заставило разработчиков этой архитектуры пойти на такое решение? 40
2. * В первом пункте алгоритма записи данных в EEPROM (FLASH) проверяется флаг WR регистра EECON1, то есть факт того, что микпроконтроллер не занят записью в EEPROM (FLASH) в данный момент. Придумайте несколько ситуаций в которых эта проверка покажет свою полезность. 40
3. Какие инструкции из набора PIC16 осуществляют записывают данные в стек и удаляют данные из него? 40
4. Почему ячейки памяти стека имеют 13-разрядный размер? 40
5. Представьте, что вы проектируете кассовый аппарат. Каким видом памяти вы воспользуетесь для хранения текста распечатываемого чека? Для хранения порядкового номера распечатываемого чека? 40
ЛАБОРАТОРНАЯ РАБОТА № 3 Изучение работы параллельных портов микроконтроллеров PIC-micro 41
ЛАБОРАТОРНАЯ РАБОТА № 4 Изучение работы последовательных портов микроконтроллеров PIC-micro 52
ЛАБОРАТОРНАЯ РАБОТА № 5 Изучение работы таймеров микроконтроллеров PIC-micro 70
ЛАБОРАТОРНАЯ РАБОТА № 6 Изучение работы аналого-цифрового преобразователя микроконтроллеров PIC-micro 88
ЛАБОРАТОРНАЯ РАБОТА № 7 Изучение работы модуля захвата/сравнения/ШИМ микроконтроллеров PIC-micro 100
Перечень рекомендуемой литературы 109
Приложение 2. Схема лабораторного макета 111
Приложение 3. Краткое описание набора инструкций PIC16 113
Приложение 4. Список команд PIC16 и их подробное описание 114
ADDLW — Сложение W и константы k 114
ADDWF — Сложение W и регистра f 114
ANDLW — Побитное «И» W и константы k 115
ANDWF — Побитное «И» W и регистра f 115
BCF — Очистка бита b регистра f 115
BSF — Установка бита b регистра f в единицу 115
BТFSC — Условный переход при нулевом бите b регистра f 116
BТFSS — Условный переход при единичном бите b регистра f 116
CALL — Вызов подпрограммы 116
CLRF — Обнуление регистра f 117
CLRW — Обнуление регистра W 117
CLRWDT — Сброс сторожевого таймера 118
COMF — Инверсия регистра f 118
DECF — Декремент регистра f 118
DECFSZ — Декремент регистра f и пропуск в случае нулевого результата 118
GOTO — Переход по адресу 119
INCF — Декремент регистра f 119
INCFSZ — Декремент регистра f и пропуск в случае нулевого результата 120
IORLW — Побитное «ИЛИ» W и константы k 120
IORWF — Побитное «ИЛИ» W и регистра f 120
MOVF — Пересылка регистра f 121
MOVLW — Пересылка константы k 121
MOVWF — Пересылка из регистра W в регистр f 121
NOP — Простой 122
RETFIE — Возврат из подпрограммы с включением прерываний 122
RETLW — Выход из подпрограммы с загрузкой в регистр W константы k 122
RETURN — Выход из подпрограммы 123
RLF — Циклический сдвиг регистра f влево через флаг переноса С 123
RRF — Циклический сдвиг регистра f вправо через флаг переноса С 124
SLEEP — Перейти в спящий режим 124
SUBLW — Вычитение W из константы k 124
SUBWF — Вычитание W из регистра f 125
SWAPF — Обмен местами ниблов в регистре f 125
XORLW — Побитное «Исключающее ИЛИ» W и константы k 125
XORWF — Побитное «Исключающее ИЛИ» W и регистра f 126