Hallo, endlich bin ich mal dazugekommen ein neues Tutorial-Kapitel zu schreiben. Es erklärt ausführlich (und hoffentlich verständlich) die Ansteuerung eines LCDs im 4bit-Modus. Ihr findet es auf http://www.mikrocontroller.net/tutorial4.htm (ich habe wiedermal die Numerierung geändert). Kritik und Verbesserungsvorschläge sind willkommen, Fragen bitte ins Forum posten! MfG Andreas
Ich hab ein kleines Makro geschrieben, mit dem es möglich ist, recht
einfach einen kompletten String auf dem LCD auszugeben.
Den folgenden Code-Schnipsel einfach in die LCD.inc einfügen.
;------String auf LCD ausgeben----------
.MACRO str_lcd
str_out: lpm ;lädt Byte des Strings adressiert durch ZH und ZL in
R0
and r0, r0 ;Ende des Strings?
breq str_end ; ja?..dann spring!
mov temp, r0 ; sonst Byte in Register "temp" laden
rcall lcd_dta ; Ausgaberoutiene aufrufen
inc zl ; auf nächstes Byte zeigen
rjmp str_out ; und zurück...weitere Bytes einlesen
str_end: ;String ausgegeben :)
.ENDMACRO
;---------------------------------------
Im eigentlichen Programm werden nur 3 Zeilen benötigt, um einen String
auzugeben:
rcall lcd_init
rcall lcd_clr
.
.
.
LDI ZH,HIGH(2*bsp1) ;Die Adresse des Strings bsp1 wird in ZH
und ZL hinterlegt
LDI ZL,LOW(2*bsp1)
str_lcd ;ruft das Makro auf
Und so wird der String am Ende des Programms definiert
bsp1: .db "Irgend ein Text",0x00
Hätt ich mir wohl sparen können. Hab gerade im Forum etwas ähnliches gelesen :| Naja... Ciao Steffen
Hallo, ursprünglich war eine ähnliche Routine im Programm enthalten (wie du es im Forum gefunden hast), ich hatte es jedoch erstmal rausgekürzt und wollte es in einem anderen Tutorial bringen. Nebenbei bemerkt ist es besser, deinen Code mit "call" aufzurufen, da das Programm viel mehr Speicher benötigt wenn das Makro öfter verwendet wird. MfG Andreas
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.