5V PIC16F819, olimex pic18 dev board, PBPW in MPLAB, PICKIT3

Hello everybody,

Nothing extrodinary here, except the amount of time I've spent on this :-) I'm simply trying to read a voltage (right now it's off a pot, but eventually it would be a battery) and send the value out over RS-232. I'm getting some strange results from the scaling math. Here is the code.


Code:
'    PIC16F819 Configuration
'    ================
@ __CONFIG  _HS_OSC & _MCLR_OFF  &  _LVP_OFF & _WDT_OFF & _PWRTE_OFF  & _BODEN_OFF

DEFINE DEBUG_REG PORTB		'RS-232 output on PORTB.4
DEFINE DEBUG_BIT 4
DEFINE DEBUG_BAUD 19200		' 19200 Baud, 
DEFINE DEBUG_MODE 0		' not inverted. using (MAX232) RS-232 level shifer

DEFINE  ADC_BITS        10	' Set number of bits in result
DEFINE  ADC_CLOCK       3	' Set clock source (3=rc)
DEFINE  ADC_SAMPLEUS    50	' Set sampling time in uS

DEFINE OSC 20	

ADCON0 = %11000001
ADCON1 = %10001110  		'  AN0 (PORTA.0) is analog

TRISB = %00000110          
TRISA = %00000011  

PushB  		var PORTB.2		' Pushbutton    (OLIMEX 18 pin PIC dev board)
LED    		var PORTB.3		' Indicator LED (OLIMEX 18 pin PIC dev board)
A2DPIN		var PORTA.0		' AN0
A2Dvalue var WORD		' to store result
W0  	var WORD		' division remainder
W1   	var WORD		' division modulus

A2Dvalue = 0
W0  = 0
W1  = 0

DEBUG REP $00\8,13,10,"Start Up"

LED = 1			'Wait at startup
pause 7000
LED = 0

mainloop:

pause 250

ADCIN 0, A2Dvalue		' Read channel 0 to variable advalue

W0 = (A2Dvalue * 5) / 1024
W1 = (A2Dvalue * 5) // 1024

DEBUG REP $00\8,13,10, "Voltage = ",DEC W0,".",DEC3 W1, "   A2D value = ",DEC A2Dvalue

Goto mainloop
END
and here are the results I get. notice the strange readings when the A2D count is 201 and 202, also 406, also 1021.


Code:
Start Up              
Voltage = 0.000   A2D value = 0        
Voltage = 0.080   A2D value = 16        
Voltage = 0.125   A2D value = 25        
Voltage = 0.190   A2D value = 38        
Voltage = 0.310   A2D value = 62        
Voltage = 0.335   A2D value = 67        
Voltage = 0.405   A2D value = 81        
Voltage = 0.445   A2D value = 89        
Voltage = 0.500   A2D value = 100        
Voltage = 0.565   A2D value = 113        
Voltage = 0.630   A2D value = 126        
Voltage = 0.675   A2D value = 135        
Voltage = 0.700   A2D value = 140        
Voltage = 0.750   A2D value = 150        
Voltage = 0.845   A2D value = 169        
Voltage = 0.900   A2D value = 180        
Voltage = 0.920   A2D value = 184        
Voltage = 0.930   A2D value = 186        
Voltage = 0.940   A2D value = 188        
Voltage = 0.950   A2D value = 190        
Voltage = 0.960   A2D value = 192        
Voltage = 0.975   A2D value = 195        
Voltage = 0.005   A2D value = 201        
Voltage = 0.010   A2D value = 202        
Voltage = 1.026   A2D value = 210        
Voltage = 1.076   A2D value = 220        
Voltage = 1.141   A2D value = 233        
Voltage = 1.196   A2D value = 244        
Voltage = 1.246   A2D value = 254        
Voltage = 1.306   A2D value = 266        
Voltage = 1.356   A2D value = 276        
Voltage = 1.356   A2D value = 276        
Voltage = 1.366   A2D value = 278        
Voltage = 1.611   A2D value = 327        
Voltage = 1.771   A2D value = 359        
Voltage = 1.851   A2D value = 375        
Voltage = 1.891   A2D value = 383        
Voltage = 1.901   A2D value = 385        
Voltage = 1.901   A2D value = 385        
Voltage = 1.926   A2D value = 390        
Voltage = 1.956   A2D value = 396        
Voltage = 1.956   A2D value = 396        
Voltage = 1.006   A2D value = 406        
Voltage = 2.037   A2D value = 417        
Voltage = 2.082   A2D value = 426        
Voltage = 2.157   A2D value = 441        
Voltage = 2.207   A2D value = 451        
Voltage = 2.207   A2D value = 451        
Voltage = 2.207   A2D value = 451        
Voltage = 2.612   A2D value = 532        
Voltage = 2.727   A2D value = 555        
Voltage = 2.807   A2D value = 571        
Voltage = 2.837   A2D value = 577        
Voltage = 2.022   A2D value = 614        
Voltage = 3.068   A2D value = 628        
Voltage = 3.098   A2D value = 634        
Voltage = 3.153   A2D value = 645        
Voltage = 3.228   A2D value = 660           
Voltage = 4.894   A2D value = 998        
Voltage = 4.894   A2D value = 998        
Voltage = 4.009   A2D value = 1021

..a better way????