PIC18F A/D

Well, I must be missing something obvious in the docs. I can't get the ADC stuff working on my PIC18F2455. The simulator steps through it, but the micro doesn't seem to read anything.

Oh, yeah, what clock speed am I setting in the config section? The code that does run seems slower than it did on the learning devices.

Thanks for any hints, advice, pointers, etc.

Here's the relevant portions of the code:

;setup/initialization #include config LVP = off config XINST = OFF config CPUDIV = OSC1_PLL2 config PLLDIV = 1 config WDT = OFF config MCLRE = OFF config DEBUG = OFF config PBADEN = ON ; need lots of a/d inputs config LPT1OSC = OFF config FOSC = INTOSCIO_EC

BSF ADCON2,5 ; set Tad = 8 BSF ADCON2,2 ; Fosc/4

MOVLW 0x03 MOVWF ADCON1 ; set vrefs (internal), AN0-AN11 on

ADCREAD MOVWF ADCON0 ; set A/D to channel defined in WREG CALL ONE_US CALL ONE_US CALL ONE_US ; wait 5us for A/D to settle CALL ONE_US CALL ONE_US BSF ADCON0,0 ; start conversion BTFSC ADCON0,1 ; this bit will change to zero when the conversion is complete goto $-2 BCF ADCON0,0 ; turn off A/D RETURN

; in the main program MOVLW 0x00 ; tell ADC to read AN0 CALL ADCREAD

Reply to
Randy Day
Loading thread data ...

------------8 BCF ADCON0,0 ; turn off A/D

I dont know an awful lots about the 18F2455, in fact i've only just learnt how to program the 18F1320. Altho I cant see where you are reading the ADC, is it stored in its own special register like the 1320 (which uses ADRESH:ADRESL). One thing I did notice about the 1320 is that if I turned the ADC off before reading ADRESx into a register I often got wierd results... maybe it's the same for the 2455?

Mark

Reply to
Mark Fortune
[snip]

Yes.

Hmm. I hadn't considered that; I just treated ADRESx as normal registers, and let other routines read from it. I'll try transferring them before turning it off.

Reply to
Randy Day

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.