Hallo,
ich möchte den AD Wandler an dem ATMEGA16 nutzen.
Initialisieren...
1 | ldi wrH,(0<<REFS0)|(0<<MUX0) ;internal Vref OFF|single ended input PA0
|
2 | out ADMUX,wrH
|
3 |
|
4 | ldi wrH,(1<<ADEN)|(1<<ADATE) ;enable ADC | enable Auto Triger
|
5 | out ADCSRA,wrH
|
6 | in wrH,SFIOR
|
7 | sbr wrH,(4<<ADTS0) ;enable ADC | Auto Triger T0 OVF
|
8 | out SFIOR,wrH
|
auslesen mach ich mit im TIMER0 OVERFLOW...
1 | TIMER0_ADC:
|
2 | sbis ADCSRA,ADSC
|
3 | jmp TIMER0_ADC
|
4 | in ZL,ADCL
|
5 | in ZH,ADCH
|
Ok soweit nun im Z Register steht auch ein Wert drin, wenn ich volle 5V
drauf lege 0x03FF soweit richtig...
Legt man 0 V oder der Eingang bleibt offen dann schwanke es immer um
0x01FF, 0x00FF, 0x00FD...
Ich dachte es würde 0x0000 bei 0V angezeigt werden :-(
Hat einer eine Idee oder nen Tip?
Alles auf dem STK500 mit gestecktem REF JUMPER
Schönen Sonntag!
MfG AVRli