Attiny26_Spannungerfassung

Gast #4253612
Lesenswert?

Hallo,

ich verwende Attiny26 zur Erfassung von Spannung. Hier Möchte ich 
Spannung erfassen und diese von LCD anzeigenlassen. Hierfür habe ich 
zunächst das ADC-Register eingestellt...So dann Habe ich das LCD 
initialisiert usw.. Mein Programm funktioniert nicht, ich erhalte 
Fehlermeldungen und weiss nicht wo die Fehler sind .

Kann mir da jemand sagen, wo meine Fehler sind und was ich alles falsch 
mache?

Quellqode ist beigefügt

Mfg
Angehängte Dateien:
Gast #4253655
Lesenswert?

Hallo,

die Fehlermeldungen lauten:

C:\AMPEL\Spannunerfassung_LCD\Spannunerfassung_LCD.asm(5): Including 
file 'C:\Program Files\Atmel\AVR 
Tools\AvrAssembler2\Appnotes\tn26def.inc'
C:\AMPEL\Spannunerfassung_LCD\Spannunerfassung_LCD.asm(77): error: 
Operand(s) out of range in 'ldi r18,0xa98ac6'
C:\AMPEL\Spannunerfassung_LCD\Spannunerfassung_LCD.asm(230): No EEPROM 
data, deleting C:\AMPEL\Spannunerfassung_LCD\Spannunerfassung_LCD.eep
Gast #4253976
Lesenswert?

Ich möchte zusätzlich die Spannung, die erfasst wurde, im LCD ausgeben 
lassen.
Im LCD soll stehen:

Spannung X V  , X=5

1.Schritt
; Text Spannung ausgeben
 ; Einen konstanten Text aus dem Flash Speicher
 ; ausgeben. Der Text wird mit einer 0 beendet
lcd_flash_string:
           push  temp1
           push  ZH
           push  ZL

lcd_flash_string_1:
           lpm   temp1, Z+
           cpi   temp1, 0
           breq  lcd_flash_string_2
           rcall  lcd_data
           rjmp  lcd_flash_string_1

lcd_flash_string_2:
           pop   ZL
           pop   ZH
           pop   temp1
           ret

rcall LCD_init
rcall LCD_clear

ldi ZL, LOW(text*2)         ; Adresse des Strings in den
ldi ZH, HIGH(text*2)        ; Z-Pointer laden
rcall lcd_flash_string      ; Unterprogramm gibt String aus der
                                       ; durch den Z-Pointer adressiert 
wird
loop:
      rjmp loop

text:
.db "Spannung",0                ; Stringkonstante, durch eine 0
                                       ; abgeschlossen


2.Schritte
Die Zahl 5 ausgeben

Die Zahl 5 liegt ja nicht im 100 ter Bereich, muss ich trotzdem wie im 
Tutorial vorgehen (also 100er, 10er, 1er)??
Ist der erste Schritt richtig?

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren