Sehr geehrtes Forum, ich habe folgendes Tutorial durchgearbeitet :
http://www.mikrocontroller.net/articles/AVR-Tutorial:_ADC
Und habe dementsprechend versucht das ganze umzusetzen.
Ich habe dafür an meinen Pin PC0 eine Spannung über einen drehbaren
Potentiometer angeschlossen.
Mir ging es bei dem Test ermal darum zu sehen, ob er überhaupt etwas
misst, die Spannungsberechnung etc wollte ich im folgenden machen.
Hier mein Code
waitconversion: ; Darauf warten, dass Conversion abgeschlossen
86
LDS R16,ADCSRA
87
SBRC R16,ADSC
88
RJMP waitconversion
89
90
; ADC Low Byte ausgeben
91
RCALL LCD_LINE1
92
LDS NUMBER,ADCL
93
RCALL lcd_number
94
95
MOV INFO,char1
96
RCALL LCD_DATA
97
98
MOV INFO,char2
99
RCALL LCD_DATA
100
101
MOV INFO,char3
102
RCALL LCD_DATA
103
104
; ADC High Byte ausgeben
105
RCALL LCD_LINE2
106
LDS NUMBER,ADCH
107
RCALL lcd_number
108
109
MOV INFO,char1
110
RCALL LCD_DATA
111
112
MOV INFO,char2
113
RCALL LCD_DATA
114
115
MOV INFO,char3
116
RCALL LCD_DATA
117
118
; WARTEN
119
RCALL Wait1000MS
120
121
RJMP main
122
123
.include "LCD_Lib.asm"
Problem ist, auf meinem Bildschirm kommt für ADCL und ADCH immer der
Wert 0 raus, das heißt das ganze misst irgendwie nichts.
Ich habe schon mehrmals das Rädchen gedreht, oder auch mit einem
Multimeter nachgemessen, das ganze sollte eigentlich laufen.
Seht ihr da zufällig einen Softwarefehler, denn im Hardwarebereich sehe
ich nach sorgfältigem Prüfen immer noch keinen.
(Beachtet, ich mach das anders als im Tutorial, an einigen Stellen, da
ich auf ADCSRA und ADCMUX nicht einfach normal zugreifen kann, steht ja
in der .INC Datei)
Danke für eure Hilfe,
m.f.G. Developer_X