Tel: +44 7814 044 754 -  Fax: +44 8715 283 948 -  Skype: warburtech.co.uk

Add to Favourites

PicBasic Pro Instruction Set

@ Insert one line of assembly language code.
ADCIN Read on-chip analogue to digital converter.
ASM..ENDASM Insert assembly language code section.
BRANCH Computed GOTO (equivalent to ON..GOTO).
BRANCHL BRANCH out of page (long BRANCH).
BUTTON Debounce and auto-repeat input on specified pin.
CALL Call assembly language subroutine.
CLEAR Zero all variables.
CLEARWDT Clear (tickle) Watchdog Timer.
COUNT Count number of pulses on a pin.
DATA Define initial contents of on-chip EEPROM.
DEBUG Asynchronous serial output to fixed pin and baud.
DEBUGIN Asynchronous serial input from fixed pin and baud.
DISABLE Disable ON DEBUG and ON INTERRUPT processing.
DISABLE DEBUG Disable ON DEBUG processing.
DISABLE INTERRUPT Disable ON INTERRUPT processing.
DTMFOUT Produce touch-tones on a pin.
EEPROM Define initial contents of on-chip EEPROM.
ENABLE Enable ON DEBUG and ON INTERRUPT processing.
ENABLE DEBUG Enable ON DEBUG processing.
ENABLE INTERRUPT Enable ON INTERRUPT processing.
END Stop execution and enter low power mode.
FOR..NEXT Repeatedly execute statements.
FREQOUT Produce up to 2 frequencies on a pin.
GOSUB Call BASIC subroutine at specified label.
GOTO Continue execution at specified label.
HIGH Make pin output high.
HPWM Output hardware pulse width modulated pulse train.
HSERIN Hardware asynchronous serial input.
HSEROUT Hardware asynchronous serial output.
I2CREAD Read from I2C device.
I2CWRITE Write to I2C device.
IF..THEN..ELSE..ENDIF Conditionally execute statements.
INPUT Make pin an input.
LCDIN Read from LCD RAM.
LCDOUT Display characters on LCD.
{LET} Assign result of an expression to a variable.
LOOKDOWN Search constant table for value.
LOOKDOWN2 Search constant / variable table for value.
LOOKUP Fetch constant value from table.
LOOKUP2 Fetch constant / variable value from table.
LOW Make pin output low.
NAP Power down processor for short period of time.
ON DEBUG Execute BASIC debug monitor.
ON INTERRUPT Execute BASIC subroutine on an interrupt.
OWIN One-wire input.
OWOUT One-wire output.
OUTPUT Make pin an output.
PAUSE Delay (1ms resolution).
PAUSEUS Delay (1us resolution).
PEEK Read byte from register.
POKE Write byte to register.
POT Read potentiometer on specified pin.
PULSIN Measure pulse width on a pin.
PULSOUT Generate pulse to a pin.
PWM Output pulse width modulated pulse train to pin.
RANDOM Generate pseudo-random number.
RCTIME Measure pulse width on a pin.
READ Read byte from on-chip EEPROM.
READCODE Read word from code memory.
RESUME Continue execution after interrupt handling.
RETURN Continue at statement following last GOSUB.
REVERSE Make output pin an input or an input pin an output.
SELECT CASE Compare a variable with different values.
SERIN Asynchronous serial input (BS1 style).
SERIN2 Asynchronous serial input (BS2 style).
SEROUT Asynchronous serial output (BS1 style).
SEROUT2 Asynchronous serial output (BS2 style).
SHIFTIN Synchronous serial input.
SHIFTOUT Synchronous serial output.
SLEEP Power down processor for a period of time.
SOUND Generate tone or white-noise on specified pin.
STOP Stop program execution.
SWAP Exchange the values of two variables.
TOGGLE Make pin output and toggle state.
USBIN USB input.
USBINIT Initialize USB.
USBOUT USB output.
WHILE..WEND Execute statements while condition is true.
WRITE Write byte to on-chip EEPROM.
WRITECODE Write word to code memory.
XIN X-10 input.
XOUT X-10 output.
Functions / Operators:

All math operations are unsigned and performed with 16-bit precision. The operators supported are:

Math Operators Description
+ Addition
- Subtraction
* Multiplication
** Top 16 Bits of Multiplication
*/ Middle 16 Bits of Multiplication
/ Division
// Remainder (Modulus)
<< Shift Left
>> Shift Right
ABS Absolute Value*
COS Cosine
DCD 2n Decode
DIG Digit
DIV32 31-bit x 15-bit Divide
MAX Maximum*
MIN Minimum*
NCD Encode
REV Reverse Bits
SIN Sine
SQR Square Root
& Bitwise AND
| Bitwise OR
^ Bitwise Exclusive OR
~ Bitwise NOT
&/ Bitwise NOT AND
|/ Bitwise NOT OR
^/ Bitwise NOT Exclusive OR

*Implementation differs from BASIC Stamp.

Page Updated:
05/08/10

Tel: +44 7814 044 754 - Fax: +44 8715 283 948 - Skype: warburtech.co.uk

Warburton Technology, 33 Selkirk Close, Wimborne, Dorset, BH21 1TN, United Kingdom

VAT Number: GB 846 917 877