Probleme mit AD Wandler beim 16F876

Gast #948243
Lesenswert?

Hallooo,
es hat wundervolle 32 Grad in meinem Zimmerchen und meine Nerven sind 
Aufgrund eines zickigen AD Wandlers leicht angespannt! Deshalb hoffe ich 
das ihr mir weiterhelfen könnt!
Also Problemstellung: PIC16F876 mit 20MHZ, ich will 2 AD Eingänge 
benutzen. Erste AD Wandlung scheint zu Funktionieren, bei der Zweiten 
stimmt der Wert nicht.
Es sollen die Eingänge AN0 und dann AN1 verwendet werden. Die Wait 
Funktion  hat eine Laufzeit von 200µs.
Bin für jeden Hinweis dankbar!!


Code:
1
READAD 
2

3

4
  CLRWDT      ;Watchdog CLR
5

6
  
7
; Anfangsinitialisierung
8
init
9

10
; ADC einschalten          ;Vorgabe Messen poti
11
    BSF    ADCON0, 0    ; ADON=1
12

13

14

15
; ADC-Eingang AN/RA0 auswählen
16
    BCF    ADCON0, 5    ; ADCHS2=0
17
    BCF    ADCON0, 4    ; ADCHS1=0
18
    BCF    ADCON0, 3    ; ADCHS0=0
19

20
; ADC speed für 20 MHz einstellen
21
    BSF    ADCON0, 7    ; ADCS1=1
22
    BCF    ADCON0, 6    ; ADCS0=0
23

24
; Daten linksbündig
25
    BSF    STATUS,RP0   ; Bank1
26
    BCF    ADCON1, 7    ; ADFM=0
27
    BCF    STATUS,RP0   ; Bank0
28

29
  call Waitms
30

31
;Eingangsspannung wandeln 
32
    BSF     ADCON0, 2     ; ADC starten
33
loop1
34
    BTFSC    ADCON0, 2    
35
    GOTO     loop1         
36

37

38
    movlw    ADRESH       ; obere 8 Bit auslesen
39
    movwf    P1        ; obere 8-Bit nach P1
40

41

42

43
  call Waitms    ;warten
44

45

46
; ADC-Eingang AN1 auswählen      ;Temp Messen
47
    BCF    ADCON0, 5    ; ADCHS2=0
48
    BCF    ADCON0, 4    ; ADCHS1=0
49
    BSF    ADCON0, 3    ; ADCHS0=1
50

51
; ADC speed für 20 MHz einstellen
52
;    BSF    ADCON0, 7    ; ADCS1=1
53
 ;   BCF    ADCON0, 6    ; ADCS0=0
54

55
; Daten linksbündig
56
;    BSF    STATUS,RP0   ; Bank1
57
;    BCF    ADCON1, 7    ; ADFM=0
58
;    BCF    STATUS,RP0   ; Bank0
59

60
  call Waitms    ;Warten
61

62
;Eingangsspannung wandeln
63
    BSF     ADCON0, 2     ; ADC starten
64
loop11
65
    BTFSC    ADCON0, 2   
66
    GOTO     loop11        
67

68

69
    movlw    ADRESH     
70
    movwf    T1

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren