После краткого изучения архитектуры и возможностей контроллеров PIC пришло время нам попробовать себя в программировании данных контроллеров, так как без программы микроконтроллер — это бесполезная микросхема.
Только чтобы попробовать себя в программировании, обычно требуется какая-то среда программирования (не в блокноте же мы будем писать код), а также компилятор. Для этого у компании Microchip есть бесплатный IDE — это MPLAB X IDE. Давайте её для начала скачаем. Для этого идём на официальный сайт Microchip и идём по пунктам меню DESIGN SUPPORT -> Development Tools -> Software Tools For PIC® MCUs And DsPIC® DSCs -> MPLAB® X IDE
И попадаем на следующую страницу, в которой выбираем закладку Downloads, в которой скачаем последнюю версию среды разработки (нажмите на картинку для увеличения изображения)
Установим среду
Путь оставим предложенный по умолчанию, если у нас нет Proxy, то отключим их
Далее тоже оставим всё по умолчанию
И программа установится на наш компьютер
Отключаем все галки и жмём Finish
Эти галки гласят о том, что у нас не установлен компилятор, также советуют установить фреймворк для удобства разработки. Всё это мы проделаем самостоятельно потом. Компилятор в среде уже есть, правда только для ассемблера. Но, так как мы решили писать на C, то компилятор нам всё-таки скачать и установить придётся, но чуть позже.
Попробуем запустить нашу среду разработки, чтобы хотя бы убедиться, что всё у нас нормально установилось. И, не создавая никаких проектов, закроем её.
Теперь, соответственно, чтобы нам писать код на C, потребуется компилятор. Компиляторы для контроллеров разной битности (8, 16 и 32) отдельные.
На официальном сайт Microchip проследуем по пунктам меню DESIGN SUPPORT -> Development Tools -> Software Tools For PIC® MCUs And DsPIC® DSCs -> MPLAB® XC Compilers
На открывшейся странице перейдём по закладке Downloads и скачаем последнюю версию 8-битного компилятора (XC 8) (нажмите на картинку для увеличения изображения)
Установим компилятор
Путь оставляем по умолчанию
Включим все галочки
Начнётся установка
После установки жмём Next, никакой ID не запоминаем, нам профессиональная лицензия не нужна, воспользуемся свободно-распространяемой. На сайте можно почитать об ограничениях свободной лицензии. Они очень незначительны
Ещё раз запустим среду программирования MPLAB X IDE. Закроем там стартовое окно и перейдём на вкладку Projects
Как видим, у нас тут пусто. Исправим эту ситуацию, создав новый проэкт. Для этого выберем пунк меню File -> New Project…
Выбираем Standalone Project и идём далее
Выберем из выпадающего списка наш контроллер, отфильтровав выше для удобства по семейству
Выбираем Sinulator, так как пока мы отлаживать проект будем именно в нём. Да и мой контроллер PICkit 2 неоригинальный не поддерживается данной средой. А загружить созданную нами впоследствии прошивку мы будем спомощью специальной программы
В следующем окне выбираем наш компилятор и идём далее
В следующем окне назовём наш первый проект BLINK01, выберем папку для его хранения и оставим галку напротив того, чтобы наш проект стал главным и заетм жмём Finish
Проект появится в дереве проектов.
Создадим в нём файл main.c, выбрав соответствующий пункт контекстного меню в папке Source Files
В открывшемся окне исправим имя файла, чтобы он был именно main.c ибо нам так как-то привычнее и нажмём Finish
Файл откроется самостоятельно. В нём будет уже некоторый код
#include <xc.h>
void main(void) {
return;
}
То есть у нас уже подключена стандартная библиотека, которой нам на первых порах будет достаточно, так как в ней внутри находится подключение многих необходимых библиотек. И также у нас есть точка входа в программу — главная функция main.
Также мы знаем, что контроллеру неохдодимо постоянно находиться в работе. Для этого мы в каждый проект в главную функцию добавляем бесконечный цикл. Добавим и в этот проект
void main(void) {
while (1)
{
}
return;
Давайте соберём наш проект, нажав соответствующую кнопку в панели инструментов
Проект наш собран. Давайте посмотрим информацию в окне вывода сообщений
Это информация о затраченных и свободных ресурсах различных типов памяти контроллера.
В самом конце информационного сообщения находится путь к файлу прошивки (нажмите на картинку для увеличения изображения)
Убедимся, что файл прошивки там действительно присутствует
Мы видим, что прошивка на месте, также в данной папке присутствует ряд других файлов с отладочной и другой информацией.
Думаю, что на этом мы наш сегодняшний урок закончим. В дальнейшем мы напишем какой-то полезный код в наш проект, попробуем его прошить сначала в протеусе, а затем в настоящий контроллер, собрав соответствующую схему и подключив программатор.
Предыдущий урок Программирование МК PIC Следующий урок
Post Views:
5 169
Доброе время суток.
Я начинающий в этом деле. Начал изучение pic контроллеров с самоучителя корабельникова, там предлагается среда MPLAB v5.70.40. Научился писать простейшие программы, однако понял что этот самоучитель не то что мне нужно. Читаю словно художественную книгу. «Об этом расскажу потом», «этим не стоит забивать себе голову» и прочие фразы напрягают.
Началось с того, что я там так и не смог понять как моделировать входное воздействие (изменение логического уровня на ножке микроконтроллера, установленной на вход). Прерывания тоже не смог понять (так как в программе, которую мне нужно написать должно происходить прерывание по входному воздействию).
Попытался найти другие книжки и информацию в интернете, в итоге находил лишь огромные теоретические изложения по функционированию мк и правилам ассемблирования, однако на данный момент у меня задача разобраться именно со средой моделирования.
1) Последняя версия mplab x ide v1.90, однако для неё руководство нашёл только на английском языке. Им я владею слабо, поэтому на изучение уйдёт очень много времени (впринципе, готов потратить, но только при условии что буду боле менее хорошо владеть предыдущими версиями, чтобы выполнять задания на работе). Так вот, есть ли у кого перевод этого руководства или иное руководство на русском?
2) Также согласен на хорошее руководство на русском по mplab для более ранних версий (6.xx…8.xx) (интернет также мне выдавал только английские версии, сейчас читаю одну из них — медленно дело продвигается)
3) Или же руководство по mplab 5.хх версий, в которых описано на русском как моделировать входное воздействие
Заранее спасибо.
-
Цель работы
Ознакомиться
с
интегрированной
средой
разработки
MPLAB
IDE.
Изучить
основные
функции
и
назначение
основных
пунктов
меню.
Получить
практические
навыки
по
работе
с
инструментальными
средствами
отладки
микропроцессорных
систем
MPLAB
ICD.
-
ОБЩЕЕ
ОПИСАНИЕ MPLAB
IDE И
MPLAB–ICD
MPLAB
IDE
(Integrated
Development
Environment)
–
интегрированная
среда
разработки,
представляет
собой
программный
продукт,
работающий
под
управлением
операционной
системы
WINDOWS
и
предназначенный
для
написания,
отладки
и
оптимизации
программ
для
Microchip
PIC
контроллеров.
MPLAB
IDE
включает
в
себя:
MPLAB
Project
Manager–
менеджер
проекта;
MPLAB
Editor
– текстовый
редактор,
MPLAB-SIM
Simulator
– симулятор;
MPASM
–
универсальный
Ассемблер,
MPLINK
(Линковщик)
и MPLIB
(Библиотекарь).
MLPAB-ICE
Emulator
– эмулятор;
Для
контроллеров
семейства
PIC17,
PIC18,
а
так
же
dsPIC,
в
среде
MPLAB
IDE
есть
возможность
работать
с
компиляторами
языка
Си
–
более
высокого
уровня,
по
сравнению
с
ассемблером.
Ряд
аппаратных
средств,
работающих
под
управлением
MPLAB
IDE,
приведен ниже.
программаторы
MPLAB—ICD
(In
Circuit
Debugging)
—
внутрисхемный
отладчик,
позволяет
выполнять
внутрисхемную
отладку
программы
в
реальной
схеме,
используя
генератор
и
периферию
отлаживаемого
контроллера.
Для
отладки
используются
только
два
вывода
контроллера,
работа
идёт
по
ICSPTM
интерфейсу.
Используя
ICD,
можно
отлаживать
аппаратно-зависимые
участки
кода,
которые
трудно,
а
порой
невозможно
воспроизвести
в
симуляторе,
например:
работа
с
АЦП,
измерение
временных
параметров
входного
сигнала,
организация
обратной
связи
с
управляемым
объектом,
отладка
интерфейсов
USART,
SPI,
I2C
и т.п.
-
MPLAB–ICD
MPLAB—ICD
работает
под
управлением
универсальной
программной
среды
MPLAB
и обладает
следующими возможностями:
отладка
в
режиме реального
времени
и
пошаговая
отладка.
связь
с
компьютером по RS-232.
одна задаваемая точка останова.
просмотр
и
модификация
содержимого
управляющих
регистров,
RAM
и EEPROM.
внутрисхемная
отладка
и
встроенная
система
программирования
PIC-контроллеров
серии
PIC16F87x.
работа
от
источника
питания
отлаживаемой
конструкции
в
диапазоне
от
3,0 до
5,5 В.
диапазон
рабочих
частот
от
32 кГц
до
20
МГц.
Внешний
вид
комплекта
MPLAB
ICD
показан
на
рис.
3.
В него
входят:
Внутрисхемный отладчик/программатор mplab icd 3 компании Microchip
MPLAB
ICD 3 (DV164035)– внутрисхемный
отладчик/программатор подходит для
работы с микроконтроллерами и цифровыми
сигнальными контроллерами (DSC) компании
Microchip. Работает MPLAB ICD 3 под управлением
бесплатной универсальной среды
разработчика MPLAB IDE с интуитивно понятным
интерфейсом.
Отличительные
особенности:
-
внутрисхемная
отладка в реальном времени; -
стандартный
для отладочных средств Microchip разъем
RJ-11; -
компактный
корпус; -
отсутствует
необходимость во внешнем источнике
питания (питание от USB порта); -
значительно
увеличена скорость программирования
по сравнению с MPLAB ICD 2; -
поддерживает
напряжение питания целевой платы от
2,0В до 5,5В; -
для поддержки
новых микроконтроллеров и добавления
расширенных возможностей достаточно
скачать новую версию MPLAB IDE и произвести
обновление прошивки MPLAB ICD 3.
Линейка отладочных
средств для микроконтроллеров компании
Microchip.
Комплектация:
-
отладчик/программатор
MPLAB ICD 3, -
кабель
USB для подключения к компьютеру, -
кабель
для подключения MPLAB ICD 3 к целевой
платформе, -
руководство
пользователя для MPLAB IDE, -
CD-ROM с MPLAB IDE и
документацией.
Техническая
документация и программное обеспечение:
-
руководство
пользователя MPLAB ICD 3, -
брошюра
по быстрому началу работы с отладочным
средством MPLAB ICD 3, -
спецификация
на Header Board.
Анонс составил
и подготовил
Усанин
Илья
e-mail: usanin@terraelectronica.ru
26-02-2008 Microchip выпускает Microchip» PIC-ICD2-POCKET
PIC-ICD2-POCKET –
Отличительные
Распиновка ICSP
Терраэлектроника
PIC-ICD2-POCKET
PIC-ICD2-POCKET –
Цены»Программаторы
При перепечатке
Приглашаем |
|
Источник:
terraelectronica.ru
Рис.
3.
Внешний
вид
комплекта
MPLAB-ICD.
-
Эмуляционная
плата
MPLAB
ICD
header
с
микроконтроллером
PIC16F877-20/P.
-
Основной
модуль
MPLAB
ICD
module. -
Демонстрационная
макетная
плата
MPLAB
ICD
demo
board
(см
приложение
4). -
Кабель
для подключения
к компьютеру
через
RS
232. -
40-выводная и 28-выводная панели для подключения
микроконтроллера
или
эмуляционной
платы. -
9-дюймовый
6-выводнойкабель. -
CD
с
программным обеспечением и
документацией. -
Инструкции
поэксплуатации.
Во время использования внутрисхемного программирования,
MPLAB—ICD
задействует
следующие ресурсы
микроконтроллера:
-
MCLR/Vpp
используется
для
программирования. -
RB6 и RB7 зарезервированы для программирования и
внутрисхемной
отладки. -
Шесть
регистров
общего
назначения
зарезервированы
для
DEBUG
MONITORа
—
70h,
1EBh
—
1EFh.
-
Первая
ячейка
памяти
программ
должна
содержать
инструкцию
NOP.
-
Память
программ
с
адреса
0x1F00
по
0x1FFF
зарезервирована
для кода
отладки.
-
Одинуровень
стека недоступен.
Внимание! MPLAB—ICD не поддерживает низковольтное
программирование.
При
использовании
ICD
функция
низковольтного
программирования
должна
быть
отключена
-
Демонстрационная
плата
MPLAB
ICD
demo
board.
Демонстрационная
плата
предназначена
для
демонстрации
PIC16F8ХХ
и
изучения
его
возможностей.
Плата
подключается
к
основному
модулю
через
эмуляционную
плату
MPLAB—ICD
Header.
PIC16f8ХХ
может
быть
вставлен
непосредственно
в
демонстрационную
плату
в
обход эмуляционной
головки.
На
рис.
4.
показана
демонстрационная
плата.
Демонстрационная
плата
состоит из
следующих частей.
-
40и
28штырьковые
разъемы. -
Восемь
DIP
переключателей
для
соединения/разъединения
каждого
из
восьми светодиодов
с
ответствующей
линией
порта
С. -
Восемь
красных
светодиодов
подключенных
к
порту
С
для
отображения
8-битных
двоичных
величин. -
Две
кнопки.
Одна
для
сброса,
вторая
для
внешнего
воздействия
на
RB0
(при
нажатии
лог.
«0»). -
Потенциометр
для
подачи
аналогового
сигнала
заданного
уровня
на
RA0/AN0. -
Область
макетирования. -
Разъем
подключения
внешних
устройств
к
ножкам
микроконтроллера
–
для расширения
макетирования.
Рис.
4.
Демонстрационная
плата
MPLAB
ICD.
-
Перемычка
выбора
генератора
—внутренний
RC
генератор
(приблизительно
2
МГц)
или внешний
кристалл.
-
Разъем
длявнешнегокристалла. -
Разъем
питания
— 9В,
0,75А. -
Выходинтерфейса RS-232.
-
Разъем
для подключения
основной
платы
MPLAB
ICD.
В
приложении
4
находятся
фрагменты
принципиальной
схемы
демонстрационной
платы.
4.4.
РАБОТА
В
СРЕДЕ
MPLAB
И
РАБОТА
С
MPLAB-ICD
Работа
с
MPLAB
возможна
в
двух
режимах:
в
режиме
симулятора
MPLAB
SIM
–
Simulator
и
в
режиме
внутрисхемной
отладки
MPLAB
ICD
Debugger.
В
первом
режиме
программа
функционирует
в
режиме
симулятора
PIC
микроконтроллера
на
ЭВМ.
Во
втором
работа
идет
с
внутрисхемным
отладчиком (непосредственно
с
микроконтроллером).
Работа
с
MPLAB
идет
в
рамках
проекта,
который
включает
в
себя
файлы
с
исходным
текстом,
конечные
файлы
(*.HEX)
и
подключаемые
библиотеки.
4.4.1.
Создание
нового
проекта.
Выберите
из
меню
Project>New
Project.
В
появившемся
диалоге
(рис.
5)
необходимо
ввести
имя
проекта
в
поле
«File
Name»
например
«student.pjt».
ВНИМАНИЕ!
Придумывая
имя
своему
проекту,
не
забывайте,
что
вы,
скорее
всего,
не
один
Саша
(Маша,
Гриша,
Даша)
на
курсе,
а
работаете
Вы
все
в
одной
сети,
поэтому
имя
должно
быть
ОРИГИНАЛЬНЫМ.
Рис.
5.
Диалоговое
окно
нового
проекта.
Нажмите
кнопку
«ОК»
В
следующем
диалоге
(рис.
6)
в
поле
«include
Path»
указать
путь
к
фалу
«p16f877.inc».
Нажмите
кнопку
«Change»
В
поле
«Processor»
выберите
PIC16F877
Выберите
нужный
режим
работы
MPLAB
IDE
–
режим
симулятора
(MPLAB
Sim
–
Simulator)
или
режим
внутрисхемного
программирования
и отладки
(MPLAB-ICD
–
Debugger).
Рис.
6.
Диалог редактирования
проекта.
В
начале
работы
выберите
режим
«Simulator»,
затем,
когда
проект
будет
набран,
скомпилирован
и
отлажен
на
симуляторе,
переключите
MPLAB
в
режим
(MPLAB-ICD
Debugger).
Настройка
(MPLAB-ICD
Debugger)
приведены
ниже
(рис.
7).
Device
–PIC16f877
Oscillator –RC
WatchdogTimer
– OFF Power
OnTimer
–ON
Brown
outDetect– OFF
Low
Voltage Program
–Disable
Code Protect
–Data
EE
code protectionoff
FlashMemory
Write –NoMemory
written
to by
EECON
Code Protect
–Code
protectionOFF
Рис.
7.
Окно
опций
MPLAB-ICD.
Порт
связи – COM2
Скорость
связи
– 19200
бод
Загружаемые
регистры
– all
Диапазон
рабочих
частот
– 2Мгц
– 10Мгц
Нажмите
«ОК».
Нажмите
«Add
Node».
В
поле
«File
Name»
введите
имя
исходного
ASM
файла.
Он
должен
находится
в
том
же
каталоге,
что
и
файл
проекта.
Рекомендуется
называть
файл
исходных
текстов
тем
же
именем,
что
и
проект.
Выберите
из
меню
File>New.
Выберите
File>Save
As…
в
появившемся
диалоге
в
поле
«File
Name»
укажите
имя
файла,
совпадающее
с
именем
файла
исходных
текстов
указанного
в
проекте.
-
.Функции
необходимые
для
работы
MPLAB-IDE/ICD
Изменение
параметров
проекта
– Project>Edit
Project
(CTRL+F3).
Компиляция
проекта
–
Project>Make
Project
(F10).
Пошаговое
выполнение
программы
–
Debug>Run>Step
(F7).
Остановка
выполнения
программы
–
Debug>Run>Halt
(F5).
Сброс
контроллера
– Debug>Run>Reset
(F6)
Запуск
на
выполнение
– Debug>Run>Run
(F9)
Для
просмотра
содержимого
памяти
контроллера
в
программном
пакете
MPLAB
предусмотрены
так
называемые
«Окна
просмотра».
Доступ
к
любому
из
них
осуществляется
через
пункт
меню
«WINDOWS».
Special
function
register
window
–
окно
регистров
специальных
функций.
Program
memory
–
Окно,
отображающее
содержимое памяти
программ.
Absolute
listing –
Листинг
программы.
Stack
– Окно
стека.
Symbol
list
– Окно,
отображающее
присвоенные
имена.
Project
– Окно
позволяющее
редактировать
настройки
проекта.
Watch
windows
– Данный
пункт
позволяет
создать
собственное
«окно
просмотра»,
New
watch
window
–
создание
нового
окна.
Load
watch
window–
загрузка
сохраненного
окна.
Add
to
active
watch
window
–
Добавить
переменную
к
активному
окну.
Edit
active
watch
window
–
Редактировать
активное
окно.
Save
active watch
window
–
сохранить
активное
окно.
При создании нового окна в меню необходимо выбрать
переменную,
которую
необходимо
отслеживать
и
нажать
на
кнопку
ADD.
При
необходимости
можно
редактировать
параметры
отображения
данной
переменной.
Быстрый
Старт с MPLAB-ICD.
Шаг
первый.
PIC16F877.
Мигающий светодиод.
При
изучении микроконтроллеров наиболее
трудно сделать Первый Шаг. Подчас очень
непросто найти необходимый минимум
информации, позволяющий начать работать
с прибором. Если вы первый раз столкнулись
с прибором — начало работы с ним похоже
на блуждание по объемному лабиринту.
Вы знаете, что выход из лабиринта
существует, но найти его сложно из-за
большого объема материала и отсутствия
опыта.
Для
начала работы нам потребуется:
1. Модуль
MICD или фирменный MPLAB-ICD с кАбелями.
2.
Установленная Интегрированная Среда
Разработки MPLAB-IDE v5.xx.xx (доступна бесплатно
на www.microchip.com)
3.
Источник питания +9v (от +7v до +24v) для
питания Модуля MPLAB-ICD.
4. Микроконтроллер
PIC16F877 в корпусе DIP (наиболее удобно).
5.
Кварц 4 МГц (можно любой, оказавшийся
под рукой, но не более максимальной
тактовой частоты выбранного экземпляра
PIC).
Соберите
простую схему как показано на рисунке:
Соберите
простую схему как показано на рисунке:
-
Подключите
Модуль MPLAB-ICD к COM-порту компьютера и
подайте на него напряжение питания.
Светодиод на плате модуля может светиться
или мигать. -
Запустите
Интегрированную Среду разработки
MPLAB. -
Options
>> Development Mode >> Откроется диалог
«Development Mode» >> В окне «Processor»
выберите тип процессора PIC16F877 >> На
вкладке «Tools» отметьте поле MPLAB-ICD
Debugger >> Нажмите «Apply». Окно
«Development Mode» можно закрыть. -
На
этом этапе компьютер попытается
установить связь с Модулем MPLAB-ICD.
Откроется диалог «MPLAB-ICD».
-
Светодиод
на плате Модуля MPLAB-ICD должен мигнуть
и затем светиться не мигая. -
Равномерное
мигание светодиода указывает на
отсутствие связи с компьютером. В этом
случае тщательно проверьте подключение
Модуля MPLAB-ICD к требуемому COM-порту,
наличие напряжения питания, исправность
кабеля, установки драйвера COM-порта и
отсутствие конфликтов с другими
устройствами. -
Отсутствие
подключения к Отлаживаемому
микроконтроллеру не будет служить
причиной отсутствия связи Модуля
MPLAB-ICD с компьютером.
Если
связь установлена корректно, то при
нажатии кнопки «Reconnect» в поле
«Status» будет появляться сообщение
вида: EstComm<0>:port<0> baud<1>, где
-
EstComm<0>
— Код ошибки (0 = без ошибок). -
port<0>
— Номер COM-порта (0 = COM1, 1 = COM2 …… 3 = COM4). -
baud<1>
— Скорость (0 = 19200 бод, 1 = 56700 бод).
На
жестком диске, в удобном месте создайте
пустую Папку (Директорию/Каталог).
Project
>> New Project >> В
открывшемся
Диалоге
«New Project»:
-
В
поле «Directories» укажите путь к
созданной папке. -
В
поле «File Name» укажите название
файла (например, LED1.PJT) -
Нажмите
«Ok».
В
открывшемся диалоге «Edit Project»
Проверьте, чтобы в строке «Development
Mode» было выбрано «MPLAB ICD PIC16F877».
Проверьте, чтобы поле «Language Tool Suite»
имело значение Microchip.
-
В
поле «Project Files» «ткните» мышкой
(выделите) название .HEX файла (например,
LED1.HEX). -
Add
Node >> введите название файла, который
будет содержать исходный код программы
(например, LED1.ASM) .>> Нажмите «Ok». -
В
Диалоге
«Edit Project» нажмите
«Ok».
File
>> New >> Появится новое окно, с
названием «Untitled».
Сдвиньте
диалог MPLAB-ICD в угол окна, чтобы он не
мешал.
В
созданном вами окне введите исходный
код программы из Листинга 1 (см. ниже)
File
>> Save As >> LED1.ASM (Имя файла с исходным
кодом программы).
В
Диалоге MPLAB-ICD нажмите кнопку «Options».
Откроется диалог «ICD Options». Установите
или проверьте значения полей «Configuration
Bits»:
-
«Device»
— PIC16F877 -
«Oscillator»
— XT -
«Watchdog
Timer» — Off/Disable -
«Power
Up Timer» — On/Enable -
«Brown
out Detect» — Off/Disable -
«Low
Voltage Program» — Disable -
«Code
Protect Data EE» — code protection off -
«Flash
Memory Write» — Memory written to by EECON -
«Code
Protect» — Code Protection Off
Проверьте
установки полей «Program Options»:
-
«Start
Address» — 0x0000 -
«End
Address» — 0x1EFF -
«Program
Memory» — да -
«Configuration
Bits» — да -
«ID
Locations» — да -
«EEPROM
Data» — нет -
«Erase
all bef. Program» — да -
«Enable
Debug Mode» — да
Закройте
диалог «ICD Options».
Project
>> Make Project >> Будет выведено окно
«Warning», напоминающее, что перед
запуском собранной программы её
необходимо «прошить» в Отлаживаемый
кристалл. Нажмите кнопку «Close» в
этом окне. Проверьте, чтобы в окне «Build
Results» в заключение была строчка «Build
completed successfully.» Если это не так – ищите
ошибки.
В
Диалоге MPLAB-ICD установите:
-
В
поле значения диапазона допустимых
тактовых частот значение, соответствующее
частоте выбранного кварцевого
резонатора. Для частоты в 4MHz это значение
«2MHz…10MHz». -
В
поле выбора модели считываемых регистров
значение «Minimum (FSR,PCLATH,STAT,W) Это увеличит
скорость анимированного выполнения
программы.
В
Диалоге MPLAB-ICD нажмите кнопку «Program».
При отсутствии проблем со связью между
Модулем MPLAB-ICD и Отлаживаемым кристаллом,
по окончании записи в окне «Status»
появится сообщение: «Waiting for user
command».
Выполните
Debug >> Run >> Animate. (Клавиши
Ctrl+F9)
Для
останова программы используйте Debug >>
Run >> Halt. (Клавиша F5).
Для
запуска по шагам используйте Debug >>
Run >> Step (Клавиша F7).
Для
запуска в реальном времени используйте
Debug >> Run >> Run (Клавиша F9).
Project
>> Save Project (Сохраните
проект).
В
случае Анимированного (Animate) выполнения
программы светодиод будет мигать с
некоторой скоростью, обусловленной
общим быстродействием всей связки:
Компьютер — Модуль – Отлаживаемый
кристалл. Немаловажную роль в этом
случае играет значение поля выбора
модели считываемых регистров, т.к. после
выполнения каждой инструкции процессор
будет «сбрасывать» в компьютер
значения указанных/выбранных регистров,
и чем больше их количество, тем меньше
будет результирующая скорость
Анимированного выполнения программы.
В
случае запуска программы в режиме
реального времени (Run) светодиод будет
мигать с частотой, значительно выше
воспринимаемой глазом человека. Для
наблюдения используйте осциллограф.
;================
Начало LED1.ASM ================
;Файл: LED1.ASM
;Версия
программы: 1.01
;Дата
последней модификации: 02.02.2002
;http://u1.chat.ru
processor
16F877 ;Используемый процессор.
radix
dec ;Десятичная система счисления по
умолчанию.
include «p16f877.inc» ;Заголовочный
файл для микроконтроллера PIC16F877.
;Файл
расположен в директории установленной
MPLAB-IDE.
org
0x0000 ;Вектор сброса процессора, после
сброса программа
;начинает
выполняться отсюда.
nop ;Этот
nop жизненно необходим для корректной
работы MPLAB-ICD
clrf
INTCON ;Перестраховываемся, запрещаем все
прерывания.
clrf
PCLATH ;Перестраховываемся, выбираем Bank
0 Памяти Программ.
goto
Start ;Обход вектора прерывания и блока
подпрограмм.
org
0x0004 ;Вектор прерывания.
;**********
Начало обработчика прерываний **********
;В
этой простой программе не используются
прерывания
;**********
Конец обработчика прерываний************
;*****************
Блок подпрограмм ****************
;В
этой простой программе нет подпрограмм
;*************
Конец блока подпрограмм *************
Start ;Тело
программы начинается здесь.
;**********
Начало Инициализации процессора ********
clrf
PORTD ;Все выводы PORTD переводим в ‘0’
movlw
b’00100000′ ;
movwf
STATUS ;Выбираем Bank 1 RAM (адреса 80h — FFh)
movlw
b’00000000′ ;
movwf
TRISD ;Все линии PORTD переключаем на выход
clrf
STATUS ;Возвращаемся в Bank 0 RAM (адреса RAM 00h
— 7Fh)
;**********
Конец Инициализации процессора *********
Loop bsf
PORTD,7 ;Зажигаем Светодиод
nop ;Тянем
время…
nop ;…
nop ;…
bcf
PORTD,7 ;Гасим светодиод
nop ;Тянем
время…
nop ;…
nop ;…
goto
Loop ;Бесконечный цикл.
END ;Конец
исходного кода программы
;=============
Конец LED1.ASM =====================
13.04.2014 | Рубрика: PIC — микроконтроллеры
Цикл статей – PIC начинающим или основы основ
PIC — как много в этом слове… для пиковода 🙂
У человека, желающего стать пиководом, имеются абсолютно те же вопросы, что и у будущих AVR-водов, STM-вцев и т.п. А именно с чего начать и куда бежать? Под катом вы узнаете основные средства для старта с микроконтроллерами семейства PIC. Начнем с самого простого — займемся основами основ в виде установки среды разработки для ведения проектов под микроконтроллеры PIC. Напомню, что данная статься пишется в апреле 2014г. Сейчас компания Microchip в качестве среды разработки продвигает MPLAB X IDE, актуальная версия 2.05. Скачав и установив MPLAB X, можно вести проекты и составлять (писать) программы для PIC-микроконтроллеров на ассемблере.
Язык Ассемблер
Язык ассемблер (assembler) — машинно-ориентированный язык низкого уровня с командами, обычно соответствующими командам машины, который может обеспечить дополнительные возможности вроде макрокоманд; автокод, расширенный конструкциями языков программирования высокого уровня, такими как выражения, макрокоманды, средства обеспечения модульности программ. В отличие от Си, команды ассемблера зависят от применяемого микроконтроллера. Команды описаны в документации на микроконтроллер.
Скажу сразу — ассемблер не является моим любимым языком. Только Си, ибо современные микроконтроллеры доступны, дешевы, сильны. И я не вижу причин экономить что-то, кроме времени разработки.
Язык Си
Язык Си — язык высокого уровня, «абстрагированный от железа». На Си написано множество библиотек и микропрограмм. Позволяет писать процессор-независимые программы. Перед преобразованием в машинные коды, Си преобразуется в ассемблер… не всегда лучшим образом. Поэтому, при наличии опыта и знаний, поставленную задачу на ассемблере удается решить более «красиво», нежели на си, но только ценой времени.
Тем не менее — приступим к делу. Самый первый этап в PICостроении — поход на сайт http://www.microchip.com/ и скачивание следующих пунктов:
Что нужно закачать
А именно MPLAB X IDE со справкой и компиляторы XC8, XC16, XC32. MPLAB X бесплатен. Компиляторы XC имеют бесплатный и платный режимы. Бесплатный режим отличается от платного отсутствием оптимизации.
MPLAB X
MPLAB X IDE создана на основе NetBeans IDE, что будет видно на скриншотах ниже. Так как NetBeans построен на Java и требует ее для нормальной работы, то и MPLAB X IDE имеет те же требования. С одной стороны MPLAB X IDE теперь мультиплатформенная, с другой, приложения под Java никогда не считались венцом экономии ресурсов. Да-да, готовьте мощную машинку для комфортной работы.
Все закачали, прочитали инструкции, полазили по сайту — пора устанавливать ПО.
Доступно для скачивания описание на русском языке в виде презентации для MPLAB X, в котором рассказывается об основных возможностях программы.
Установка MPLAB X
Обновление версии!
На данный момент имеет смысл устанавливать MPLAB X IDE версии 3.xx, т.к. новые версии имеют несколько новых фишек и удобств.
И вообще — пользуйтесь новым! =)
Вначале все стандартно. Приветствие, далее… Лицензионное соглашение. Далее…
Путь установки. Тут имеется рекомендация устанавливать не по умолчанию в Programm, а например, в свою папку без пробелов в пути. Далее…
Далее…
Тут IDE споткнулась при установке драйверов. УСТАНАВЛИВАЕМ несмотря ни на что! Далее…
Если флажок установлен — после установки прогуляетесь на сайт Микрочип :). Финиш.
После удачной установки на рабочем столе появляются три иконки:
Нас больше всего интересует первая, все остальные — фигня не достойная занимать место на рабочем столе. Запускаем MPLAB X, смотрим, закрываем.
Наступил черед устанавливать компиляторы. Как известно, Микрочип выпускает микроконтроллеры восьмибитные, шеснадцатибитные, тридцатидвухбитные. И компиляторы для них XC8, XC16, XC32 соответственно. Напоминаю, в начале этой статьи все необходимое уже скачали.
Установка XC8
Запускаем актуальную версию компилятора, для меня это xc8-v1.31-win.exe.
Далее… Соглашаемся с лицензией.
Далее…
Смотрим на галочки и далее…
Далее… Рекомендую устанавливать в подпапку с MPLAB X IDE, каждую версию — в свою подпапку. Компиляторов для каждого из семейств микроконтроллеров PIC может быть несколько, они выбираются в свойствах проекта.
Ставим нужные галочки и далее…
Apply setting to all users of this machine — Установить для всех пользователей ПК.
Add xc8 to the PATH environment variable — Внести XC8 в переменную окружения.
Переменные окружения
Посмотреть переменную окружения можно кликнув правой кнопкой мыши по ярлыку Компьютер -> Дополнительные параметры системы -> на вкладке Дополнительно Переменные среды. Смотри переменную «path».
И опять далее…
После установки у нас будет тяжкий выбор: использовать бесплатную версию, версию с ограничением на 60 дней или платную версию. Для установки бесплатной версии просто жмем кнопку Next >.
О бесплатной XC
Как я уже писал выше, бесплатная версия отличается от платной только отсутствием оптимизации. Хотя, на интернет-форумах неоднократно встречал претензии к бесплатным версиям компиляторов семейства XC — вроде как бесплатные искусственно тормозят программу. Впрочем, на крупном русскоязычном ресурсе всякого такого лежат все необходимые лекарства =) .
Вот и все — можно устанавливать XC16 и XC32, а XC8 уже установлена.
Установка XC16 и XC32
Установка компиляторов XC16 и XC32 по сути ничем не отличается от установки XC8.
Выбрали папку и далее…
Далее…
Опять выбрали папку, далее…
Вот и все. Наш ПК готов к написанию первой программы для PIC.
Вопросы и комментарии приветствуются 🙂
Метки:: MPLAB X, PIC