Thanks both of you. After looking closer at the ADCON registers, which I had done a few dozen times, I noticed I only had seven not eight bits. Steve, thank you for your last post. When I pasted it to my program it was obvious I had left out one bit in each ADCON register. I did have to leave the DEFINE for number of bits and sample time to get it to work. The code is now working and returns 1024 for 5V.
Regards,
Mark
DEFINE OSC 20
' Define ADCIN parameters
Define ADC_BITS 10 ' Set number of bits in result
Define ADC_SAMPLEUS 50 ' Set sampling time in uS
ADCON0 = %11000001
ADCON1 = %10000100 ' AN4-AN0 D,A,D,A,A right justify
TRISA.0 = 1
TRISA.1 = 1
adval1 var word
adval2 var word
clear
High PORTB.5 ' turn on run LED
low PORTB.4 ' low voltage LED
loop:
ADCIN 0, adval1 ' Read AN0
adcin 1, adval2 ' Read AN1
if adval1 < 512 then
high PORTB.4
else
low PORTB.4
endif
serout2 PORTB.3,16572,["ADVAL_1 = ",dec adval1," ADVAL_2 = ",dec adval2,13,10]
pause 100
goto loop
End
Bookmarks