Hallo!
Ich habe hier einen PIC16f870. Nun möchte ich an den Pins AN0, AN1 analoge Spannungswerte einlesen. Bei AN0 tut das auch gut. Wenn ich aber beide Eingänge in einem Programm abfragen will erhalte ich irgendeinen undefinierbaren Mittelwert. Dieser hat schon noch etwas mit dem jeweiligen Eingang zu tun, aber auch mit dem anderen. Also irgenwas mach ich falsch.
Hier ist eine Ausleseroutine:
READADC1 BCF ADCON0, 5 ; Eingang wählen BCF ADCON0, 4 BCF ADCON0, 3 movlw D'100' ; Pause nach Portwechsel (400 uS) movwf ow_counter1 Call OW_WAIT BSF ADCON0, 2 ; start
ADCloop1: BTFSS ADCON0, 2 GOTO ADCloop1 movlw 'W' CALL RS232out movlw 'D' CALL RS232out movfw ADRESH CALL RS232decout CALL newline return
Die zweite ist bis auf die Zeile "BSF ADCON0,3" identisch. Ich richte den ADC zu Beginn mit folgendem Code ein:
; ADC initialisieren movlw B'00000100' ; RA0, RA1 = input, vref = vss, vdd movwf ADCON1 movlw B'10000001' ; 10 MHz, anschalten movwf ADCON0
Ich bin für jeden Tipp dankbar :-)
Grüße Hanno