PBASIC — это версия BASIC на базе микроконтроллера , созданная Parallax, Inc. в 1992 году . [1]
PBASIC был создан, чтобы облегчить использование микроконтроллеров и встроенных процессоров . Он используется для написания кода для микроконтроллеров BASIC Stamp . После написания кода он токенизируется и загружается в EEPROM микроконтроллера. Эти токены извлекаются микроконтроллером и используются для генерации инструкций для процессора.
При запуске файла PBASIC программист определяет версию штампа BASIC и версию PBASIC, которая будет использоваться. Переменные и константы обычно объявляются в программе первым делом. Цикл DO LOOP, FOR NEXT, IF и ENDIF, а также некоторые стандартные команды BASIC являются частью языка, но многие команды, такие как PULSOUT, HIGH, LOW, DEBUG и FREQOUT, являются собственными для PBASIC и используются для специальных целей, которые не используются в PBASIC. доступен в традиционном BASIC (например, с помощью Basic Stamp, звонящего в пьезоэлектрический динамик ).
В редакторе штампов, интегрированной среде разработки (IDE) PBASIC, работающей на ПК (Windows), программист должен выбрать 1 из 7 различных базовых штампов: BS1, BS2, BS2E, BS2SX, BS2P, BS2PE и BS2PX, которые делается с помощью одной из этих команд:
' {$STAMP BS1}' {$STAMP BS2}' {$STAMP BS2e}' {$STAMP BS2sx}' {$STAMP BS2p}' {$STAMP BS2pe}' {$STAMP BS2px}
Программист также должен выбрать, какую версию PBASIC использовать, что он или она может выразить с помощью таких команд:
' {$PBASIC 1.0} ' используйте синтаксис версии 1.0 (только BS1)' {$PBASIC 2.0} ' используйте синтаксис версии 2.0' {$PBASIC 2.5} ' используйте синтаксис версии 2.5
Пример программы, использующей HIGH и LOW для мигания светодиода вместе с DO...LOOP:
ДЕЛАТЬ HIGH 1 'включить светодиод, включить контакт ввода-вывода 1. ПАУЗА 1000 'держать 1 секунду НИЗКИЙ 1 'выключи его PAUSE 500 'отключить на 500 мс.LOOP 'повторять вечно
Пример программы, использующей HIGH и LOW вместе с циклом FOR NEXT:
counter VAR Byte 'устанавливает переменную "counter"ДЛЯ счетчика = от 1 до 5 HIGH 1 'обеспечивает высокий логический уровень на выводе 1 (5 В). PAUSE 1000 'держать 1000 мс. НИЗКИЙ 1 'выключи его PAUSE 500 'отключить на 500 мс.NEXT 'перенаправляет в начало еще четыре разаEND 'завершение программы
Комментарии в коде предваряются апострофом ( '). Микроконтроллер игнорирует остальную часть строки и переходит к следующей каждый раз, когда встречает комментарий. Коды PBASIC могут представлять собой просто список операторов:
HIGH 1 'включение светодиода на контакте 1 PAUSE 1000 ' пауза на одну секунду LOW 1 'выключение светодиода на контакте 1 END 'конец программы
Если программист выбирает «Выполнить» в меню IDE, программа токенизируется, загружается в Basic Stamp через кабель RS232 или USB и сохраняется в EEPROM штампа в виде сжатых Хаффманом токенов переменной длины без выравнивания по байтам и немедленно выполняется. . [2] Например, оператор GOSUB использует 20 бит, включая 11 бит ориентированной адресации для адреса подпрограммы. Поскольку операторы не выравниваются по байтам, подпрограмма может начинаться с любого бита любого байта EEPROM. [3]
Микроконтроллер PICAXE использует версию Basic, аналогичную версии, используемой для программирования Basic Stamp I.