PBASIC - Enciclopedia
PBASIC es una versión de BASIC basada en microcontroladores creada por Parallax, Inc. en 1992.
PBASIC fue creado para facilitar el uso de los microcontroladores y procesadores embebidos. Se utiliza para escribir código para los microcontroladores BASIC Stamp. Después de escribir el código, se tokeniza y se carga en un EEPROM del microcontrolador. Estos tokens son recuperados por el microcontrolador y se utilizan para generar instrucciones para el procesador.
Sintaxis
Al comenzar un archivo PBASIC, el programador define la versión del BASIC Stamp y la versión de PBASIC que se utilizará. Las variables y constantes se declaran generalmente al principio del programa. El DO LOOP, el bucle FOR NEXT, IF y ENDIF, y algunos comandos estándar de BASIC son parte del lenguaje, pero muchos comandos como PULSOUT, HIGH, LOW, DEBUG y FREQOUT son nativos de PBASIC y se utilizan para propósitos especiales que no están disponibles en el BASIC tradicional (como hacer que el Basic Stamp haga sonar un altavoz piezoeléctrico, por ejemplo).
Programación
En el Stamp Editor, el entorno de desarrollo integrado (IDE) de PBASIC que se ejecuta en un PC (Windows), el programador debe seleccionar 1 de 7 diferentes tipos de Basic Stamp, BS1, BS2, BS2E, BS2SX, BS2P, BS2PE y BS2PX, lo que se hace utilizando uno de estos comandos:
' {$STAMP BS1}
' {$STAMP BS2}
' {$STAMP BS2e}
' {$STAMP BS2sx}
' {$STAMP BS2p}
' {$STAMP BS2pe}
' {$STAMP BS2px}
El programador también debe seleccionar la versión de PBASIC que utilizará, lo que puede expresar con comandos como estos:
' {$PBASIC 1.0} ' usar la sintaxis de la versión 1.0 (solo BS1)
' {$PBASIC 2.0} ' usar la sintaxis de la versión 2.0
' {$PBASIC 2.5} ' usar la sintaxis de la versión 2.5
Un ejemplo de un programa que utiliza HIGH y LOW para hacer parpadear un LED, junto con un DO...LOOP sería:
DO
HIGH 1 'encender el LED en el pin de E/S 1
PAUSE 1000 'mantenerlo encendido durante 1 segundo
LOW 1 'apagarlo
PAUSE 500 'mantenerlo apagado durante 500 mseg
LOOP 'repetir para siempre
Un ejemplo de un programa que utiliza HIGH y LOW junto con el bucle FOR NEXT sería:
counter VAR Byte 'asigna la variable "counter"
FOR counter = 1 to 5
HIGH 1 'hacer que el pin 1 tenga nivel lógico alto (5 V)
PAUSE 1000 'mantenerlo encendido durante 1000 mseg
LOW 1 'apagarlo
PAUSE 500 'mantenerlo apagado durante 500 mseg
NEXT 'redirige al principio otras cuatro veces
END 'finaliza el programa
Los comentarios en el código van precedidos de un apóstrofe ('). El microcontrolador ignora el resto de la línea y continúa con la siguiente cada vez que encuentra un comentario. Los códigos de PBASIC pueden ser simplemente una lista de instrucciones:
Si el programador selecciona 'Ejecutar' desde el menú del IDE, el programa se tokeniza y se carga en el Basic Stamp a través de un cable RS232 o USB y se almacena en el EEPROM del stamp como tokens comprimidos de Huffman, no alineados en bytes de longitud variable, y se ejecuta inmediatamente. Por ejemplo, una instrucción GOSUB utiliza 20 bits, incluyendo 11 bits de direccionamiento orientado a bits para la dirección de la subrutina. Debido a que las instrucciones no están alineadas en bytes, una subrutina puede comenzar en cualquier bit de cualquier byte en el EEPROM.
Otros chips
El microcontrolador PICAXE utiliza una versión de Basic similar a la versión utilizada para programar el Basic Stamp I.
Referencias
Enlaces externos
"Comparing PBASIC 2.5 control structures to the old PBASIC" – Por Tracy Allen, EME Systems, 2003
Parallax, Inc. – Sitio web corporativo