Среда разработки MicroPASCAL
Фактически, язык MicroPASCAL представляет из себя стандартный язык программирования Pascal, адаптированный под нужды микроконтроллеров. Для этого в его составе предусмотрены операторы работы с портами МК. Также в среде программирования MIcroPASCAL имеется большое количество библиотек, предназначенных для простого подключения к разнообразным периферийным устройствам.
IDE MicroPASCAL
Внешний вид и основные принципы работы с MicroPASCAL мало чем отличаются от других подобных IDE. Кроме базовых функций по созданию кода поддерживаются возможности отладки и программирования с использованием фирменного программатора PICFlash, отладчика microICD или симулятора. Программа имеет неплохую справочную систему, к сожалению, только на английском языке.
Особенности работы с микроконтроллерами
Работа в среде 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, больше подходят для начального изучения МК и создания небольших любительских проектов. Для более профессионального использования, лучше применить другие средства разработки.