; ******************************************************** ; * Demonstriert die Anwendung der LCD-Include-Routine * ; * LCD_INC.ASM fuer eine LCD an Bord des ATMEL STK200 * ; * (C) 1999 Gerhard Schmidt http://avr-asm-tutorial.net * ; ******************************************************** ; .NOLIST .INCLUDE "8515def.inc" .LIST .def mpr=R16 ; Mein Vielzweckregister, wird benoetigt ; Resetvektor, Interrupt-Vektoren nicht benoetigt rjmp main ; Include der LCD-Routine im gleichen Pfad .INCLUDE "LCD_INC.ASM" ; Hauptprogramm main: ldi mpr,LOW(RAMEND) ; Richte Stapel ein out SPL,mpr ldi mpr,HIGH(RAMEND) out SPH,mpr ldi mpr,0xC0 ; Externes SRAM und WAIT einschalten out MCUCR,mpr rcall lcd_cl ; Loesche Display rcall lcd_st ; Standardanzeigemodus ldi mpr,0x05; Cursorposition auf Zeile 1, Spalte 5 rcall lcd_sc ldi mpr,'H' ; Gib "Hello World" aus rcall lcd_ch ldi mpr,'e' rcall lcd_ch ldi mpr,'l' rcall lcd_ch rcall lcd_ch ldi mpr,'o' rcall lcd_ch ldi mpr,0x45 ; Cursorposition auf Zeile 2, Spalte 5 rcall lcd_sc ldi mpr,'W' rcall lcd_ch ldi mpr,'o' rcall lcd_ch ldi mpr,'r' rcall lcd_ch ldi mpr,'d' rcall lcd_ch ldi mpr,'!' rcall lcd_ch rcall lcd_on loop: rjmp loop ; Uff! Naechste Woche lernen wir, wie eine Tabelle eingerichtet und ausgelesen wird