Как использовать компилятор Си компании Microchip  
MPLAB C18 для микроконтроллеров семейства PIC18Fxxxx
в интегрированной среде разработки
MPLAB.

     Пошаговая инструкция с картинками - где скачать, как настроить проект, скомпилировать первую простейшую программу с симуляцией.

 

  Для микроконтроллеров семейств PIC10, PIC12, PIC16, PIC18, PIC24, dsPIC30, dsPIC33
и
PIC32 все действия похожи - только компилятор нужно скачать соответствующий.

  Для микроконтроллеров PIC10, PIC12 и PIC16  в пакете MPLAB поставляется великолепный компилятор CCS - в нём есть готовые библиотеки-драйверы для массы самых популярных у радиолюбителей микросхем и отличные примеры программирования PIC.

 

1) Скачайте компилятор MPLAB® C Compiler for PIC18 MCUs  - студенческую версию - Student Edition. Он полностью функционален 60 дней, затем появится ограничение на размер кода. Ограничение можно обойти установив компилятор на виртуальный ПК созданный программами VirtualBox или VirtualPC. Установите компилятор в папку C:\MCC18  
Сделайте резервную копию папок -  C:\MCC18\example   C:\MCC18\
h  C:\MCC18\lib

Скачайте документацию:
MPLAB C18 C Compiler Getting Started - быстрый старт
MPLAB IDE Current Release Notes - описание версии
MPLAB C18 C Compiler User's Guide - руководство по компилятору
PIC18F Development Tools Product Overview - обзор инструментов
MPASM™/MPLINK™ PICmicro® Quick Chart - таблица по ассемблеру и линкеру
MPASM/MPLINK User's Guide - руководство по ассемблеру и линкеру 
MPLAB C18 Libraries Documentation - описание библиотек компилятора (в них реализована поддержка переферии МК - PWM, SPI, I2C, UART, USART, работа со строками и математика)

2) Скачайте MPLAB и установите в папку по-умолчанию.
Скачайте MPLAB IDE User's Guide - руководство.

 

Как создать новый проект.

3) Запустите MPLAB и затем "мастер проекта"

 

 

На появившейся заставке мастера нажмите "далее" и в следующем
диалоге выберите модель МК который хотите использовать

 

Жмите "Далее" и во втором шаге укажите компилятор C18

Если компилятора не окажется в списке то найдите его в ручную и укажите.

 

 

Жмите "Далее" и в следующем шаге-окне нажмите "Browse" и создайте папку
для проекта - например такую :
   

 

Откройте созданную папку и дайте название проекту и "Сохранить"

 

         Система команд микроконтроллеров PIC18 на русском

 

Должно получится вот так

Жмите "Далее".

 


Electronic Banner Exchange (ElBE)

 

В этом окне можно было бы вставить файлы в проект, например файлы с исходными
текстами программы или библиотеки - но у нас их нет, потому просто жмите "Далее"

 

Работа мастера завершена - вот отчет


 

Нажмите "Готово".

Вот что теперь в папке проекта

 

 

Как создать файл с исходным текстом программы на Си .

4) В MPLAB создайте новый файл - меню "File" > "New" и
сохраните его
"File" > "Saveas" под именем   main.c

 

Теперь нужно набрать в этом окне текст первой программы

#include <stdio.h> // библиотека ввод-вывод

#pragma config WDT = OFF
// выкл. сторожевой таймер 

void main (void)
{
// напечатать:  Hello, mcc18.narod.ru !
printf ("Hello,
mcc18.narod.ru !\n");

while (1);
// бесконечный цикл
}


или скопировать и вставить в окно. Должно получиться вот так :


Кликните "дискетку" чтобы сохранить текст в файле.

 

 

Теперь нужно добавить main.c в проект.

 

Вот так

 

 

Компиляция и симуляция-отладка.

5) Нужно выбрать инструмент в котором будет происходить проверка работы программы - это может быть реальное устройство с выбранным МК подключенное через интерфейс типа ICD2 к ПК , может быть супер симулятор PROTEUS - он позволяет симулировать работу не только МК PIC но целого электронного устройства с несколькими МК и даже разных производителей в одной схеме.

Мы будем использовать симулятор MPLAB - выберите его

 

Симулятор нужно настроить  - меню: "Debugger" > "Settings"

Здесь указывается частота тактирования микроконтроллера - 20 МГц в нашем примере.

Перейдите на закладку "Uart1 IO" и сделайте такие установки

Выход "Output" мы направим в "Window" - т.е. на экран, а можно было сохранять в файл. Если указать "Input File" то при симуляции его содержимое будет отправляться в UART МК. Нажмите "Применить" и "ОК".

 

6)  Выполните компиляцию проекта

 

В результате должно появится 2 новых окна


Закройте окно c018i.c

Самое важное сейчас - это сообщение об успешной компиляции "BUILD SUCCEEDED".

В окно
"Output" выводятся все сообщения о ходе работа инструментов пакета MPLAB - вы видите сейчас в нём подробности процесса компиляции.  Если бы при компиляции возникли ошибки или предупреждения то они тоже выводились бы в это окно. 

Уменьшите окно вывода и разместите его удобно на экране, затем переключитесь на закладку "SIM Uart1" - сюда будет выводится информация из UART  PIC18F452 при симуляции.


А в папке проекта появились новые файлы :

main.hex  - это файл "прошивка" для загрузки в реальный МК

main.cof  - это файл с информацией для отладки в симуляторах по исходному
тексту программы на Си, например в
PROTEUS - это очень удобно.

 

        Переводы документации на PIC и статьи на русском

 

Виртуальный микроконтроллер  PIC18F452  с нашей первой программой, откомпилированной и зашитой в него, готов начать работать.  

7) Щелкните два раза мышкой на сером фоне, чуть левее строки 

while (1); // бесконечный цикл

Появится красный кружок - это "ТОЧКА ОСТАНОВА" ( BreakPoint ) - перед выполнением строки кода перед которой стоит "ТО" симулятор остановится и будет ждать вашей команды.


8) Включите секундомер - меню "Debugger" > "StopWatch" - он позволяет точно измерять временные промежутки при симуляции. 

9) Симуляцию запустите кнопкой "Пуск" - голубой треугольник в панели управления

 

Программа начнет выполняться и остановится на точке останова.
Приветствие появилось в окне вывода 

Секундомер показывает что с запуска МК прошло 836,8 мкС это 4184 машинных цикла для микроконтроллеров PIC18 - у них один машинный цикл это 4 периода тактового сигнала.

 

10) Нажмите еще раз кнопку "Пуск" - цикл   while (1);   будет выполнен еще раз и в окне секундомера появится число 4186 - значит на выполнение цикла тратится 2 машинных цикла PIC18F452 или 8 периодов частоты 20 МГц.  

 

Подробней о симуляции в MPLAB написано там  

Книги на русском языке найдете там  

 

Теперь вы знаете как создать проект и простейшую программу для PIC18.
Надеюсь скоро добавить следующие обучающие материалы.

Как сделать простейший программатор для PIC18 и как его запрограммировать
вы можете найти в низу странички для начинающих электронщиков.

 

 

 
Сайт управляется системой uCoz