PIC и mikroPascal

Среда разработки MicroPASCAL

В комплекте с отладочной платой EasyPIC5 от Mikroelektronika, поставляется большой набор программного обеспечения, включающий три среды разработки для языков высокого уровня Pascal, C, Basic. Наиболее интересной из них является MicroPASCAL, так как этот язык сегодня очень широко используется для начального обучения программированию. Все варианты имеют ограничение на размер готового кода в 2Кб, что в принципе достаточно для большого числа простых проектов, а при необходимости можно купить и полноценную версию IDE. Кстати все вышеупомянутые языки имеются в вариантах для других микроконтроллеров, а не только PIC.

Фактически, язык MicroPASCAL представляет из себя стандартный язык программирования Pascal, адаптированный под нужды микроконтроллеров. Для этого в его составе предусмотрены операторы работы с портами МК. Также в среде программирования MIcroPASCAL имеется большое количество библиотек, предназначенных для простого подключения к разнообразным периферийным устройствам.

IDE MicroPASCAL

Внешний вид и основные принципы работы с MicroPASCAL мало чем отличаются от других подобных IDE. Кроме базовых функций по созданию кода поддерживаются возможности отладки и программирования с использованием фирменного программатора PICFlash, отладчика microICD или симулятора. Программа имеет неплохую справочную систему, к сожалению, только на английском языке.

IDE MicroPascal

Особенности работы с микроконтроллерами

Работа в среде MicroPascal начинается с создания проекта.Для этого нажимается кнопка NewProject, после чего открывается одноименное окно. В этом окне вводятся имя проекта, место его расположения, тип процессора и частота тактового генератора, а также устанавливаются биты конфигурации. При необходимости все настройки можно изменить в процессе работы.

После создания проекта открывается окно кода с уже вставленным заголовком и операторами начала и конца программы. Сам процесс создания кода ничем не отличается от такого же процесса в других средах программирования, использующих Pascal.

Основу любого микроконтроллера составляют внутренние регистры и порты ввода/вывода. В MicroPascal они представляются глобально определенными переменными байтового типа. Это позволяет читать и записывать состояние регистра стандартными операциями присваивания, например PORTA:=123;. Все глобальные описания регистров для каждого поддерживаемогомикроконтроллера, находятся в файлах с расширением .ppas, в папке defs.

Для удобства работы MicroPascal имеет возможность представления числовой информации в десятичном, двоичном и шестнадцатеричном виде. Десятичные числа не имеют никакого дополнительного префикса. Для двоичных используется процент (%), а для шестнадцатеричного доллар ($). Например, %101010 или $12AF. Дробные числа представляются в формате с точкой, либо в экспоненциальном. Работа с символьными переменными ничем от стандартного языка не отличается.

Для нужд работы с микроконтроллерами применяется несколько дополнительных команд.

  • Процедура SetBit(Reg,N) – установка бита N в регистре REG в единицу.
  • Процедура ClearBit(Reg,N) – сброс бита N в регистре REG.
  • Функция TestBit(Reg,N) – возвращает высокий или низкий логический уровень в зависимости от состояния бита Nв регистре Reg.
  • ClrWdt – сброс сторожевого таймера.
  • Reset– сброс микроконтроллера

При необходимости работы с отдельными битами можно использовать операцию присваивания, при этом номер бита записывается после имени регистра через точку: PORTA.0:=1.

Позволяет MicroPascal использовать и ассемблерные вставки. Для этого используется конструкция asmend;.Обработка прерываний микроконтроллера должна производиться в предопределенной процедуре: procedure interrupt;. При этом компилятор сам сохраняет значения следующих регистров: W, STATUS, FSR, PCLATH. После компиляции программы при использовании фирменного программатора/отладчика PICFlash  возможна автоматическая загрузка кода в микроконтроллер. Также MicroPascal имеет симулятор для отладки программ, непосредственно в среде программирования.

Дополнительно среда программирования MicroPascal предоставляет множество возможностей. В ней имеются встроенные USARTи HID терминалы, редакторы для данных памяти, графических и семисегментных дисплеев и многое другое. Одной из самых полезных функций является возможность использования загрузчика (bootloader) для микроконтроллеров PIC16F87X.

Достоинства и недостатки

Главным достоинством среды является использование языка программирования Pascal. Это позволяет быстро приступать к созданию своих программ, без изучения ассемблера. Но здесь в отличие от широко распространенной платформы Arduino, все таки требуется знание устройства микроконтроллера, хотя бы базовое.

Второе достоинство – большое количество библиотек. Они позволяют использовать периферийные устройства, имеющие стандартные шины I2C, SPI, OneWIRE, CAN, USB, подключать жидкокристаллические индикаторы, опрашивать кнопки, выполнять операции преобразования и математики. Наличие библиотек позволяет еще больше упростить и ускорить разработку устройств.

Главный недостаток данной системы – результирующий код. Как и любая другая подобная IDE,MicroPASСALсоздает исполняемый файл большого объема и сложной структуры. Использование языка программирования высокого уровня оборачивается неудобоваримым машинным кодом.При использовании ассемблера этот же код можно сделать в разы меньше.

Среда разработки MicroPASCAL, так же как и плата EasyPIC, больше подходят для начального изучения МК и создания небольших любительских проектов. Для более профессионального использования, лучше применить другие средства разработки.

You have no rights to post comments