Title Page
1. Introduction
1.1. The PICmicros
1.2. About This Manual
1.3. Sample Programs
2. Getting Started
2.1. Software Installation
2.2. Your First Program
2.3. Program That PICmicro
2.4. It's Alive
2.5. I've Got Troubles
2.5.1. PICmicro Specific Issues
2.5.2. Code Crosses Page Boundary Messages
2.5.3. Out of Memory Errors
2.6. Coding Style
2.6.1. Comments
2.6.2. Pin and Variable Names
2.6.3. Labels
2.6.4. GOTO
3. Command Line Options
3.1. Usage
3.2. Options
3.2.1. Option -A
3.2.2. Option -C
3.2.3. Option -E
3.2.4. Option -H or -?
3.2.5. Option -I
3.2.6. Option -L
3.2.7. Option -O
3.2.8. Option -P
3.2.9. Option -S
3.2.10. Option -V
4. PicBasic Pro Basics
4.1. Identifiers
4.2. Line Labels
4.3. Variables
4.4. Aliases
4.5. Arrays
4.6. Constants
4.7. Symbols
4.8. Numeric Constants
4.9. String Constants
4.10. Ports and Other Registers
4.11. Pins
4.12. Comments
4.13. Multi-statement Lines
4.14. Line-extension Character
4.15. INCLUDE
4.16. DEFINE
4.17. Math Operators
4.17.1. Multiplication
4.17.2. Division
4.17.3. Shift
4.17.4. ABS
4.17.5. COS
4.17.6. DCD
4.17.7. DIG
4.17.8. DIV32
4.17.9. MAX and MIN
4.17.10. NCD
4.17.11. REV
4.17.12. SIN
4.17.13. SQR
4.17.14. Bitwise Operators
4.18. Comparison Operators
4.19. Logical Operators
5. PicBasic Pro Statement Reference
@
ADCIN
ASM..ENDASM
BRANCH
BRANCHL
BUTTON
CALL
CLEAR
CLEARWDT
COUNT
DATA
DEBUG
DEBUGIN
DISABLE
DISABLE DEBUG
DISABLE INTERRUPT
DTMFOUT
EEPROM
ENABLE
ENABLE DEBUG
ENABLE INTERRUPT
END
ERASECODE
FOR..NEXT
FREQOUT
GOSUB
GOTO
HIGH
HPWM
HSERIN
HSEROUT
I2CREAD
I2CWRITE
IF..THEN
INPUT
LCDIN
LCDOUT
{LET}
LOOKDOWN
LOOKDOWN2
LOOKUP
LOOKUP2
LOW
NAP
ON DEBUG
ON INTERRUPT
OUTPUT
OWIN
OWOUT
PAUSE
PAUSEUS
PEEK
PEEKCODE
POKE
POKECODE
POT
PULSIN
PULSOUT
PWM
RANDOM
RCTIME
READ
READCODE
RESUME
RETURN
REVERSE
SELECT CASE
SERIN
SERIN2
SEROUT
SEROUT2
SHIFTIN
SHIFTOUT
SLEEP
SOUND
STOP
SWAP
TOGGLE
USBIN
USBINIT
USBOUT
WHILE..WEND
WRITE
WRITECODE
XIN
XOUT
6. Structure of a Compiled Program
6.1. Target Specific Headers
6.2. The Library Files
6.3. PBP Generated Code
6.4. .ASM File Structure
7. Other PicBasic Pro Considerations
7.1. How Fast is Fast Enough?
7.2. Configuration Settings
7.3. RAM Usage
7.4. Reserved Words
7.5. Life After 2K
7.6. 12-bit core considerations
8. Assembly Language Programming
8.1. Two Assemblers - No Waiting
8.2. Programming in Assembly Language
8.3. Placement of In-line Assembly
8.4. Another Assembly Issue
9. Interrupts
9.1. Interrupts in General
9.2. Interrupts in BASIC
9.3. Interrupts in Assembler
10. PicBasic Pro /PicBasic/ Stamp Differences
10.1. Execution Speed
10.2. Digital I/O
10.3. Low Power Instructions
10.4. Missing PC Interface
10.5. No Automatic Variables
10.6. No Nibble Variable Types
10.7 No Dirs
10.8 No Automatic Zeroing of Variables
10.9. Math Operators
10.10. [ ] Versus ( )
10.11. ABS
10.12. DATA, EEPROM, READ and WRITE
10.13. DEBUG
10.14. FOR..NEXT
10.15. GOSUB and RETURN
10.16. I2CREAD and I2CWRITE
10.17. IF..THEN
10.18. MAX and MIN
10.19. SERIN and SEROUT
10.20. SLEEP
Appendix A - Serin2/Serout2 Mode Examples
Appendix B - Defines
Appendix C - Reserved Words
Appendix D - ASCII Table
Appendix E - Summary of Microchip Assembly Instruction Set
Appendix F - Contact Information