Mack, I acutally started my project with this example from Bruce good call. I did not completely understand it but I did in fact hook up a 5k pot to my board to see how the ADC worked.

This time I pretty much did this line for line with my pressure sensor attached to see how it would react. I am getting a reading. My volt meter is reading .47vdc from the sensor. The serout is bouncing back and fourth between 24 and 25. I would assume that the way Bruce's program is set its 0-255 analog output I would then assume that if my sensor was .5 to 4.5 then the full range of the output would be 4/255 or .0156 volts per increment of the 255 this 24*.0156 = .3744. I think my math is correct there from your previous example but since I can see/know that my sensor is putting out .47 I either did something slighlty wrong or... I've got a mistake in my program.

P.S. Thanks for the help.
David

INCLUDE "modedefs.bas"
' Hardware specific settings
@ DEVICE pic16F877, XT_OSC ' System Clock Options
@ DEVICE pic16F877, WDT_ON ' Watchdog Timer
@ DEVICE pic16F877, PWRT_ON ' Power-On Timer
@ DEVICE pic16F877, BOD_ON ' Brown-Out Detect
@ DEVICE pic16F877, LVP_ON ' Low-Voltage Programming
@ DEVICE pic16F877, CPD_OFF ' Data Memory Code Protect
@ DEVICE pic16F877, WRT_ON ' Flash Memory Word Enable
TRISA = %00000001
' Allocate variables
x var byte
SO VAR PORTC.6
BAUD CON 32
DEFINE OSC 10
ADCON1 = 0 ' Set PortA 0 to A/D inputs
Pause 100 ' Wait for LCD to start
SerOut2 SO,baud,[12,"Hello World AD Test",10,13]
pause 1000
Serout2 so,baud,[12,27,"[1;1H","Reading: "]
Goto mainloop ' Skip subroutines
' Subroutine to read a/d converter
getad:
Pauseus 50 ' Wait for channel to setup
ADCON0.2 = 1 ' Start conversion
Pauseus 50 ' Wait for conversion
Return
' Subroutine to get pot x value
getx:
ADCON0 = $41 ' Set A/D to Fosc/8, Channel 0, On
Gosub getad
x = ADRESH
Return
mainloop:
Gosub getx ' Get x value
Serout2 so,baud,[27,"[1;11H", dec3 x]
Pause 100 ' Do it about 10 times a second
Goto mainloop ' Do it forever
End