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 ERASECODE ENABLE INTERRUPT END 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