;*********************************************************** ;* File Name : lcd_test.asm ;* Title : LCD Ansteuerung 4 Bit Mode ;* : mit Adapterplatine ;* Version : 1.0 / 29.11.2002 Start ;* Target MCU : AT90S8515 ;*********************************************************** .include "8515def.inc" ; LCD - Ports und Defs ; 4BIT-LCD (abhaengig von CPU und Adapter) ; Dieser Block befindet sich im Include-File, barucht also nur rauskopiert werden. ;--------------------------------------------------------------------------- .equ lcd_port = PORTD ; Datenport .equ lcd_ddr = DDRD ; DataDirectionRegister .equ lcd_rs = 1 ; Port 1 Variante A , 4 Variante B .equ lcd_en = 3 ; Port 3 Variante A , 5 Variante B .equ lcd_rw = 2 ; Port 2 Variante A , 6 Variante B .equ lcd_led = 0 ; Port 0 Variante A , 7 Variante B .def lcd_pos = r23 ; Position .def lcd_byte = r24 ; Auszugebendes Byte .def lcd_temp = r25 .def lcd_tim1 = r26 .def lcd_tim2 = r27 ;***** Interrupt vector table reset: rjmp main ; Main rotine ..... reti ; Analog Comparator Interrupt handle .... ;*************************************************************************** ;* ;* main ;* ;*************************************************************************** main: ldi temp, LOW(RAMEND) ; StackPointer Setup out SPL, temp ; Initialize SPL . nicht 90S1200 ldi temp, HIGH(RAMEND) ; nur 90S8515 out SPH, temp ; Initialize SPH rcall LCD_reset ; Display initialisieren rcall LCD_clear ; Display l�schen rcall LCD_cuon ; Cursor an rcall LCD_ledon ; Beleuchtung ein rcall Show_Info_Line ; Info's ausgeben ; rcall LCD_cuoff ; Cursor aus ; rcall LCD_ledoff ; Beleuchtung aus ; rcall lcd_clear ; Display l�schen forever: rjmp forever ;*************************************************************************** ;* I N C L U D E S , je nach Schaltung lcd4a.inc,lcd4b.inc oder lcd8.inc ;*************************************************************************** .include "lcd4a.inc" ; Include's LCD 4 Bit - Mode ,DB = LowNibble