mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Probleme mit AD Wandler beim 16F876


Autor: Tomeee (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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:

READAD 


  CLRWDT      ;Watchdog CLR

  
; Anfangsinitialisierung
init

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



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

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

; Daten linksbündig
    BSF    STATUS,RP0   ; Bank1
    BCF    ADCON1, 7    ; ADFM=0
    BCF    STATUS,RP0   ; Bank0

  call Waitms

;Eingangsspannung wandeln 
    BSF     ADCON0, 2     ; ADC starten
loop1
    BTFSC    ADCON0, 2    
    GOTO     loop1         


    movlw    ADRESH       ; obere 8 Bit auslesen
    movwf    P1        ; obere 8-Bit nach P1



  call Waitms    ;warten


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

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

; Daten linksbündig
;    BSF    STATUS,RP0   ; Bank1
;    BCF    ADCON1, 7    ; ADFM=0
;    BCF    STATUS,RP0   ; Bank0

  call Waitms    ;Warten

;Eingangsspannung wandeln
    BSF     ADCON0, 2     ; ADC starten
loop11
    BTFSC    ADCON0, 2   
    GOTO     loop11        


    movlw    ADRESH     
    movwf    T1


Autor: Tomeee (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
niemand mit einer idee?

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.