- •И.А. Дубров
- •Содержание
- •Введение
- •Лабораторная работа 1 Изучение интегрированной среды разработки mplab
- •Методика выполнения работы
- •Содержание отчета
- •Контрольные вопросы
- •Лабораторная работа 2 Изучение запоминающих устройств микроконтроллеровPic-micro
- •Порядок выполнения работы
- •Содержание отчета
- •Контрольные вопросы
- •Лабораторная работа 3 Изучение работы параллельных портов микроконтроллеровPic-micro
- •Порядок выполнения работы
- •Содержание отчета
- •Контрольные вопросы
- •Лабораторная работа 4 Изучение работы последовательных портов микроконтроллеров pic-micro
- •Порядок выполнения работы
- •Содержание отчета
- •Контрольные вопросы
- •Лабораторная работа 5 Изучение работы таймеров микроконтроллеров pic-micro
- •Порядок выполнения работы
- •Содержание отчета
- •Контрольные вопросы
- •Лабораторная работа 6 Изучение работы аналого-цифрового преобразователя микроконтроллеровPic-micro
- •Порядок выполнения работы
- •Содержание отчета
- •Контрольные вопросы
- •Лабораторная работа 7 Изучение работы модуля захвата/сравнения/шим микроконтроллеровPic-micro
- •Порядок выполнения работы
- •Содержание отчета
- •Библиографический список
- •Приложение 1. Схема лабораторного макета
- •Bтfss— Условный переход при единичном битеbрегистраf
- •Call— Вызов подпрограммы
- •Goto— Переход по адресу
- •Incf— Декремент регистраf
- •Incfsz— Декремент регистраfи пропуск в случае нулевого результата
- •Iorlw— Побитное «или»Wи константыk
- •Retlw— Выход из подпрограммы с загрузкой в регистрWконстантыk
- •Return— Выход из подпрограммы
- •Rlf— Циклический сдвиг регистраfвлево через флаг переносаС
- •Rrf— Циклический сдвиг регистраfвправо через флаг переносаС
- •Sleep— Перейти в спящий режим
- •Основы микропроцессорной техники
- •620034, Екатеринбург, ул. Колмогорова 66.
Методика выполнения работы
Создание нового проекта
Выбрать пункт меню Project > New... либо щелкнуть левой клавишей мыши по соответствующей кнопке на панели инструментов. В появившемся диалоговом окне, скриншот которого приведен на рис. 1.4., необходимо ввести название программы и путь к папке, где будут сохраняться рабочие файлы проекта. Путь к папке и название программы должны использовать только латинские буквы, цифры и не содержать пробелов. Щелкнуть по клавише OK.
Рис. 1.4. Диалоговое окно «Новый проект»
Создание файла с исходным текстом программы
Выбрать пункт меню File > New, либо нажать соответствующую кнопку на панели инструментов. В рабочей области MPLAB откроется окно текстового редактора (см. рис. 1.5.), с помощью которого можно набирать текст своей программы. В первой лабораторной работе можно скопировать через буфер обмена Windows в это окно текст готовой программы, например из файла test_all.asm.
Сохранить (File > Save As...) исходный текст программы в рабочей папке проекта в файле с расширением .asm.
Рис. 1.5. Окно текстового редактора MPLAB
Добавление файла к проекту
Открыть окно менеджера проектов (View > Project) (см. рис. 1.6.). Щелкнуть правой клавишей мыши по папке Source Files и выбрать пункт выпадающего меню Add Files.... При этом откроется диалоговое окно открытия файла, приведенное на рис. 1.7. Необходимо выбрать нужный файл и нажать клавишу Открыть.
Рис. 1.6. Окно менеджера проектов
Рис. 1.7. Окно добавления файла в проект
Компиляция исходного текста программы в машинные коды
Перед компиляцией программы необходимо указать MPLAB тип используемого микроконтроллера. Для этого необходимо выбрать пункт меню Configure > Select Device... и в открывшемся диалоговом окне (рис. 1.8.) выбрать тип устройства. В данном случае это PIC16F873A.
Рис. 1.8. Окно выбора микроконтроллера
Доступ к конфигурационной ячейке микроконтроллера осуществляется через меню Configure > Configuration bits.. Вид окна битов конфигурации приведен на рис. 1.9. Поскольку в лабораторном макете в качестве источника тактового сигнала используется высокочастотный кварцевый резонатор, то в первой строке в колонке Setting необходимо выбрать пункт HS Oscillator (см. рис. 1.9). Содержимое остальных пунктов данного окна можно оставить без изменения.
Альтернативным способом настройки конфиругационных ячеек является настройка директивами в исходном коде. Например для выполнения вышеописанной настройки (использование кварцевого генератора в качестве тактового) в начале исходного текста достаточно разместить следующую директиву:
__CONFIG _HS_OSC ;
При этом флажок «Configuration Bits set in code» в окне Configuration Bits должен быть установлен.
Для преобразования исходного текстового файла в шестнадцатеричный hex-файл необходимо выбрать пункт меню Project > Make, либо щелкнуть по соответствующей кнопке на панели инструментов. При этом в рабочей папке проекта будут созданы выходные файлы с расширениями .o, .hex, .lst, .map, .err.
Рис. 1.9. Окно битов конфигурации
Просмотреть содержимое этих файлов можно в окне текстового редактора MPLAB (File > Open..., либо кнопка на панели инструментов). Ход выполнения компиляции и сообщения об обнаруженных ошибках отображаются в выходном окне MPLAB (рис. 1.10).
Рис. 1.10. Выходное окно MPLAB
Запись кода программы во внутреннюю FLASH память микроконтроллера
Для программирования микроконтроллера и отладки программы в лабораторном макете применяется программатор-отладчик PICkit 2, который должен быть подключен к USB порту персонального компьютера. Указание MPLAB об использовании PICkit 2, как отладчика дается через пункт меню Debugger > Select Tool > PICkit 2. После подключения PICkit становятся доступными команды программирования в меню и соответствующие им кнопки на панели инструментов. Запись программы в память микроконтроллера осуществляется командой Debugger > Program, чтение памяти программ – Debugger > Read, а чтение энергонезависимой памяти данных – Debugger > Read EEDATA. Результат успешного программирования микроконтроллера, либо возникшие при этом ошибки отображаются в выходном окне MPLAB.
Отладка (выполнение) программы
Запуск выполнения программы возможен в нескольких режимах. Для этого предусмотрены соответствующие команды в меню и кнопки на панели инструментов. Debugger > Run запускает программу в режиме реального времени. При частоте кварцевого резонатора 4 МГц время выполнения одной команды составляет ровно 1 мкс. Debugger > Animate запускает программу в режиме мультипликации. Время выполнения команды составляет примерно 0,5 с, что позволяет наблюдать ход выполнения программы. Debugger > Step Into приводит к выполнению одной очередной команды в основной программе и вложенных подпрограммах. Debugger > Step Over работает аналогично, но без выполнения подпрограмм. Очередная выполняемая команда обозначается курсором в виде зеленой стрелки, расположенной слева от текста программы.
Выполнение программы может быть остановлено командой Debugger > Halt, а также при помощи предварительно установленной точки останова, задаваемой в команде меню Debugger > Breakpoints... или путем двойного щелчка правой клавишей мыши по нужной строке исходного текста программы. Точка останова отображается в виде красного кружка с буквой В слева от текста программы. Неактивные точки останова отображаются в виде красной окружности.
Во время отладки можно наблюдать изменения производимые программой в памяти микроконтроллера и его встроенных периферийных устройствах. Для этого необходимо открыть соответствующее окно в рабочей области MPLAB.
Команда View > Disassembly Listing открывает одноименное окно (рис. 1.11), в котором отображается содержимое памяти программ в виде машинных кодов и мнемонических обозначений команд. View > EEPROM открывает окно энергонезависимой памяти данных (рис. 1.12). View > File Registers открывает окно памяти данных (рис. 1.13). View > Hardware Stack открывает окно аппаратного стека (рис. 1.14). View > Program memory – окно памяти программ (рис. 1.15). View > Special Funtion Registers – окно регистров специальных функций и др. (рис. 1.16).
Рис . 1.11. Окно дизассемблера
Рис. 1.12. Окно энергонезависимой памяти данных
Рис. 1.13. Окно памяти данных
Рис. 1.14. Окно аппаратного стека
Рис. 1.15. Окно памяти программ
Рис. 1.16. Окно регистров специальных функций