;##########################################################
;
; LCD Demo with serial RS232 input
;
; used displey 2 x 16 chars
; 
; (C) HELIUM  
; http://helium.webz.cz/
;
; compiled with MetaLink 8051 Cross-Assembler, Version 1.2k
;##########################################################

$MOD51

;XTAL	EQU	24
XTAL	EQU	11

	ORG 	0H		;
	jmp	main		;

;##########################################################

 $include(x51_UTL.a51)		; x51_UTL.a51
 $include(LCD.A51)		; LCD.a51

;##########################################################
;
; MAIN PROGRAM LOOP
;
;##########################################################

main:   clr	EA		; 
	mov	SP, #7		; nastaveni dna zasobniku
	clr	RS0		;
	clr	RS1		; pouzivat Banku Registru 0
	call	LCD_init	;
	call	LCD_clr		;
	call	LCD_ldF		;
;	
	mov	A, #0		;
	call	LCD_at		;
	mov	R2, #16		;
	mov	DPTR, #tab1	;
	setb	RS		;	
	call	LCD_ld		;
;
	mov	A, #40		;
	call	LCD_at		;
	mov	R2, #16		;
	mov	DPTR, #tab2	;
	setb	RS		;	
	call	LCD_ld		;
;	
	mov	A, #0		;
	call	LCD_at		;
	call	SetSerial	;

loop:	nop			;
	
	call	RX_ACC		;

	call	LCD_wrT		;
	
; preskakovac radku pro LCD 2 x 16 znaku
	push	ACC		;
	mov	A, LCD_pos	;
	cjne	A, #16, line2	;
	mov	A, #40		;
	call	LCD_at		;
line2:	cjne	A, #56, line1	;
	mov	A, #0		;
	call	LCD_at		;	
line1:	pop	ACC		;
	
	call	TX_ACC		;
	
	jmp	loop		;
	
;##########################################################

;==========================================================

;----------------------------------------------------------

	END			; end asm directive