Guten Abend Ich habe mal das Tutorial durch gemacht und mein LCD zeigt auch nach anfänglichen Schwierigkeiten das Wort "Test" an. HAbe da aber ne kleine Frage zum Source-Code! .include "8515def.inc" ;ggf. anpassen .def temp1 = r16 .def temp2 = r17 .def temp3 = r18 ldi temp1, RAMEND ;Stackpointer initialisieren out SPL, temp1 ldi temp1, 0xFF ;Port D = Ausgang out DDRD, temp1 rcall lcd_init ;Display initialisieren rcall lcd_clear ;Display löschen ldi temp1, 'T' ;Zeichen anzeigen rcall lcd_data ldi temp1, 'e' ;Zeichen anzeigen rcall lcd_data ldi temp1, 's' ;Zeichen anzeigen rcall lcd_data ldi temp1, 't' ;Zeichen anzeigen rcall lcd_data loop: rjmp loop .include "lcd-routines.asm" ;LCD-Routinen werden hier eing Und zwar zur Zeile ldi temp1, 'e'! Woher hat der Assempler die Info das er für 'e' den Wert 01100101 in das Register r16 schreiben soll???????? In der Definitionsdatei "8515def.inc" habe ich nix gefunden! Muß man sich so ne Definitionsdatei selber schreiben oder gibt es da was im Netz? Für jeden Buchstaben immer ein 8Bit Wort zu schreiben ist etwas umständlich!
Hallo Samy, Das macht der Compiler automatisch. Genauso wie er aus 'ldi temp1, 0xFF' die lange Kette aus Einsen bildet. Schau Dir das ganze mal im Debugger (AVR-Studio oä.) an. Gruß, Chaldäer
Samy, der Assembler setzt für Zeichen in '' automatisch den entsprechenden ASCII-Code ein.
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.