ADC gibt 0 zurück
Samstag, 19. Mai 2012
 
 

PIC Mikrocontroller Forum  |  PIC Mikrocontroller  |  Programmiersprache Assembler  |  AD-Wandler (Assembler)  |  ADC gibt 0 zurück « vorheriges nächstes »
Seiten: [1] Nach unten Drucken
Autor Thema: ADC gibt 0 zurück  (Gelesen 2690 mal)
 
Tim_0
Gast
« am: Mai 16, 2006, 06:52:05 »

Hoi

Ich weiß grad nicht weiter und finde den Fehler nicht *grml*
In dem Ergebnisregister (linksbündig) steht immer 0 obwohl am Eingang (AN0) Vdd anliegt.
Hier mal der auszug inkl. Initialisierung.

Code:

; Port A: Alles als Analogeingänge . Alle Ports nach Reset, Powerup als Eingänge (TRISA=0xFF)

movlw b'01000001' ;Taktbereich ADC bis 5 MHz Aktuell RA0, ADC-ON
movwf ADCON0
bsf STATUS,RP0
clrf ADCON1 ;Alle Eingänge analog, VSS/VDD als Refernz
Hab nochmal alles mit dem Datenblatt verglichen und mir fälltkein Fehler auf Traurig

Hier die Routine um den Wert auszulesen.
Code:
CVOLT
bcf ADCON0,CHS2 ;Eingang AN0-Bordpannung
bcf ADCON0,CHS1
bcf ADCON0,CHS0

movlw 0xA ;w0 löschen, da nicht in Gebrauch
movwf w0

CLADEN
decfsz  w0, f ;warten bis Eingangskapazität von A/D geladen
goto    CLADEN ;und Wandler sich "erholt" hat.
bsf ADCON0,2 ;A/D-Wandlung beginnen

AD1
btfsc ADCON0,2 ;fertig?
goto AD1
movf ADRESH,w ;Berechnung für Spannung+Ausgabe
Erholungszeit für den ADC wird eingehalten.
Man könnte hier und da noch ne Zeile optimieren und die Warteroutineübern Akku amchen, aber die A/D-Wandlung solltein ersterLinie funktionieren.

Dann mal vielen Dank im Vorraus.
Gruß
Tim
Gespeichert
Bernd
Globaler Moderator
Hero Member
*****
Offline Offline

Beiträge: 3815



Profil anzeigen
« Antworten #1 am: Mai 16, 2006, 15:39:00 »

Hallo Tim,

ich sehe auch keinen Fehler in dem von Dir geposteten Code. Ich würde daher auf einen Fehler in der Weiterverarbeitung oder eine falsch gesetzte Bank im Programmverlauf tippen. Hast Du Deinen Code mal mit MPLAB simuliert?


Viele Grüße

Bernd
Gespeichert

Tim_0
Newbie
*
Offline Offline

Beiträge: 4


Profil anzeigen
« Antworten #2 am: Mai 16, 2006, 16:43:08 »

So gerade heimgekommen.
Den 877er von den verkorksten Experimentierboard meines Kollegen geschnappt, geflasht und funktioniert.
naja was kaputt ist kann ja nicht funktionieren Smiley
Jetzt muss ich nur noch schauen, wieso es den ADC zerlegt hat, liegt unbeschaltet schon von Anfang an mit Pull-Downs auf Masse und ist nicht wirklich alt.
Aber danke fürs drüberschauen!

mfg
Timo
Gespeichert
Seiten: [1] Nach oben Drucken 
« vorheriges nächstes »
Gehe zu:  

Powered by MySQL Powered by PHP Made for Mozilla (Firefox) Made for Internet Explorer
Seite erstellt in 0.041 Sekunden mit 18 Zugriffen.
 
Top! Top!