ME Labs, Inc.
719-520-5323
 
Home:
  Developer Resources:

Programming Clues
    Sample Programs
   
    PICBASIC PRO™
Compiler Manual
    PICBASIC™ Compiler
Manual
    Serin2/Serout2 Modes
    ASCII Character Set
    Number Conversion
    Floating Point
Routines
    PBP Debug Monitor
    Articles and Tutorials

Hardware Clues
    Parts / Vendor List
    PICPROTO™ Boards
    LAB-X1 Docs
    LAB-X2 Docs
    LAB-X20 Docs
    LAB-X3 Docs
    LAB-X4 Docs
    LAB-XUSB Docs
    LAB-XT Docs
     
 

ME Labs, Inc. | 1-719-520-5323 | Example Program - A2D10.pbp

PICBASIC PRO program to display result of 10-bit A/D conversion on LCD. Connect analog input to channel-0 (RA0).
' Name        : A2D10.pbp
' Compiler    : PICBASIC PRO Compiler 2.6
' Assembler   : PM or MPASM
' Target PIC  : 40-pin 16F, 18F types
' Hardware    : Lab-X1 or Lab-X2 board
' Oscillator  : 4MHz internal or external
' Keywords    : LCDOUT, A/D
' Description : PICBASIC PRO program to display result of 10-bit
' A/D conversion on LCD. Connect analog input to channel-0 (RA0).
'

' Define LCD registers and bits
Define  LCD_DREG  PORTD
Define  LCD_DBIT  4
Define  LCD_RSREG PORTE
Define  LCD_RSBIT 0
Define  LCD_EREG  PORTE
Define  LCD_EBIT  1

adval Var word    ' Create adval to store result

   TRISA = %11111111       ' Set PORTA to all input
   ADCON1 = %10000010      ' Set PORTA analog and RIGHT justify result
   ADCON0 = %11000001      ' Configure and turn on A/D Module
   Pause 500               ' Wait .5 second

mainloop:
   ADCON0.2 = 1            ' Start Conversion

notdone:
   Pause 5
   If ADCON0.2 = 1 Then notdone ' Wait for low on bit-2 of ADCON0, conversion finished

   adval.highbyte = ADRESH ' Move HIGH byte of result to adval
   adval.lowbyte = ADRESL  ' Move LOW byte of result to adval

   Lcdout $fe, 1           ' Clear screen
   Lcdout "Value: ", DEC adval  ' Display the decimal value  
   Pause 100               ' Wait .1 second

   Goto mainloop           ' Do it forever
 
   End


           

Download the program file.