Hallo,

Ik ben totaal leek in het instellen van de in en uitgangen van een µC laat staan dit analoog probleem. Ik wil 4 analoge signalen inlezen. Ik gebruik als µC de 18f252.
Het is me al gelukt om 2 signalen uit te lezen.

programma ziet er zo uit:

trisa=%00001111
adcon1=%10000000
adcon2=%01000000

signaal1 = adin 0
signaal2 = adin 1

Ik weet niet waarom, maar het werkt :+
Hiermee kan ik porta.0 en porta.1 analoog uitlezen.
Nu zou ik ook nog porta.2 en porta.3 moeten uitlezen.
blijkbaar bestaat adcon3 niet, anders wist ik hoe ik verder moest.

Dus mijn vraag is hoe ik dit kan oplossen. Kan ik de analoge convertors in de loop van het programma op een andere pin aansluiten?

alvast bedankt

Joris

je zit verkeerd met ADCON3. ADCON0 en ADCON1 gebruik je om je AD interface in te stellen. Als je in de datasheet kijkt, zie je dat ADCON2 ook niet bestaat.

Met ADCON1 bit 0 t/m 3 stel je je poorten A0 t/m A7 in, dus even de datasheet lezen!

Hey,

Ik zou de Datasheet er eens op napluizen. ADCON2 bestaat helemaal niet.

hoofdstuk zeventien, de pic die jij gebruikt heeft 5 adc's
jij wil er vier gebruiken.
je moet eerst je adc instellen.

ADCON0 = 0b00000001 // de adc staat aan, hij loopt nog niet en an0 is geselecteerd.
ADCON1 = 0b00000010 // hiermee stel je in dat je 5 adc's wil gebruiken. (4 is niet mogelijk)

als je nu je adc wil gebruiken moet je eerst de poort selecteren die je wil meten. bijvoorbeeld 2, en je wil hem aanzetten.

dat doe je door dit:
ADCON0 = 0b00010101

dan wacht je tot ADCON.F2 gecleared word. en dan staat het resultaat in ADRESH en ADRESL

Als je basic gebruikt, dan na elke ADINx een delay van 5 ms gebruiken. Zie hiervoor de help file en voorbelden in de sampels map.

Halloo

Bedankt voor de reacies. Ik ben er helemaal uitgekomen.
Aan de datasheet kom ik ook nu ook uit.

Allemaal bedankt.

MVG

Joris