Hallo,
ich möchte ein Spannungseingang an PB2 messen und verarbeiten.
(ATTiny13A)
Wenn ich das in Proteus simuliere erhallte ich immer den Initialen Wert,
der beim Start anliegt. Wenn ich das zur Laufzeit mit einem Variablen
Wiederstand änder, bekomme ich immer das selbe Ergebnis.
Wenn ich den Wiederstand änder und dann die Simulation Starte, bekomme
ich auch den entsprechenden Wert, der aber unverändert bleibt.
Hier mein Code:
rjmp RESET ; Reset Handler
RETI ; IRQ0 Handler
RETI ; PCINT0 Handler
RETI ; Timer0 Overflow Handler
RETI ; EEPROM Ready Handler
RETI ; Analog Comparator Handler
RETI ; Timer0 CompareA Handler
RETI ; Timer0 CompareB Handler
RETI ; Watchdog Interrupt Handler
rjmp ADW ; ADC Conversion Handler
RESET:
LDI r16, low (RAMEND)
OUT SPL, r16 ; Setzt sen StackPointer auf Anfang
LDI r16, 0b00000001
OUT ADMUX, r16 ; VCC als Referenz; PB2 als input
LDI r16, 0b11011000
out ADCSRA, r16 ; ADC einschalten; Interupts zulassen
SEI
Loop:
rjmp Loop
ADW:
IN XH, ADCH ; High ablegen
IN XL, ADCL ; Low Ablegen
SBI ADCSRA, 0x06 ; Convert zulassen
RETI
Mein Variabler Wiederstand liefert Max 4,45V und Min 0,45V.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.