meLabs
Melabs PicBasic Pro is a BASIC language compiler for the PIC microcontroller family of microcontrollers. It is designed to provide an efficient, powerful, and easy to use environment for programming and hardware interfacing with the PIC microcontroller. It provides a comprehensive set of language features and allows for the creation of sophisticated embedded applications.
| | |
A world class BASIC Compiler for rapid development of Microchip PIC® microcontroller based projects.
- Lightning Fast
- Generates Optimized, Machine Ready Code
- 15+ Year History
- Its Fast!
Easy enough for the hobbyist, strong enough for a Pro. Professionals love it because it is designed to get things done fast. That’s the power of BASIC. Simple. Easy to use. Straightforward. With dedicated libraries/routines to make the difficult easy. It’s what we (and thousands of other companies) use to develop our own products.
PICBASIC PRO has evolved over the span of 15 years, making it the industry standard in its field. It has become a professional-level development tool for embedded programmers, though it retains the easy-to-learn syntax that makes PBP popular among experimenters and educators worldwide.
PBP is widely used by engineering professionals who depend on its stability and maturity to produce commercial firmware. It is also used by educational institutions because it is very easy to learn and understand.
The Technical Rundown
PBP is a mature BASIC compiler for Microchip’s PIC® microcontrollers. Its licensed user base of 10,000+ is composed mostly of engineers and companies. It is intended to be a professional development tool, though its painless syntax also makes it a favorite among hobbyists and institutions of learning.
PBP generates Assembly language that consists of hand-tuned macros and library routines. This laborious approach in development makes for extreme efficiency in handling operations with a variety of variable types. Each math and comparison operation is generated according to the specific variable types that are used as inputs and output. High-level commands are included as library routines that are reused to minimize code space consumption, and these routines are tuned based on the device’s memory characteristics and selected oscillator frequency.
The code that PBP generates is efficient and optimized. Execution speed rivals that of any C compiler (for PIC® MCUs) on the market. You don’t have to compromise product performance in order to save time in development. You can have both.
PBP does not use a software stack. This speeds execution of subroutine calls and limits PBP programming to a single, global namespace. All variables are globally accessible and care should be taken not to ‘step on’ critical values in subroutines and interrupt handlers. PBP uses the hardware stack for GOSUB and interrupts. The depth of the stack imposes limits on nested subroutines.
Unless specifically noted, PBP commands don’t consume internal resources like timer modules. Our timed pauses are software-based and none of our loop structures touch the hardware stack. The peripheral modules are free for the developer to use when needed.
Each supported device is mapped thoroughly in the PBP device files. PBP handles all RAM-bank and code-page switching, inserting code only when needed for the target device. All internal registers are known to PBP by name. This allows Direct Register Access with BASIC statements like “T1CON = 0?, without the requirement of pre-defining the location of the register.
PBP includes a purpose-built IDE called MicroCode Studio, but many prefer to work in the well-known MPLAB IDE from Microchip. We include a language tool plugin for MPLAB to allow seamless development using Microchip’s development tools from within MPLAB. Debugging in this environment can be switched from Source to Assembly level for full access to the generated code.