
                ORG 0000H
                LJMP MAIN
                ORG 0030H
		RS EQU P3.5
		RW EQU P3.4
		EN EQU P3.7
                                    	;initialization
MAIN:           MOV A,#038H     	;8 bit mode ON, 2 lines, 5*8 font
		LCALL COM		;first time
                MOV A,#038H             ;second time
                LCALL COM
                MOV A,#038H             ;third time
                LCALL COM
                MOV A,#038H             ;fourth time
                LCALL COM
                MOV A,#00CH		;display ON, cursor OFF, blink OFF
                LCALL COM
                MOV A,#001H		;clear screen
                LCALL COM
                MOV A,#006H		;increase cursor position, scroll display OFF
                LCALL COM
                MOV A,#080H		;Set DDRAM address to 0 (means to starting)
                LCALL COM       	;initialization End
                MOV A,#'D'     		;data to write on LCD
                LCALL DATAW
                MOV A,#'A'
                LCALL DATAW
                MOV A,#'R'     		
                LCALL DATAW
		MOV A,#'E'
                LCALL DATAW
		MOV A,#' '     		
                LCALL DATAW
		MOV A,#'D'
                LCALL DATAW
		MOV A,#'E'
                LCALL DATAW
		MOV A,#'V'
                LCALL DATAW
		MOV A,#'I'
                LCALL DATAW
		MOV A,#'L'
                LCALL DATAW		;data end
AGAIN:          SJMP AGAIN    		;endless loop
COM:            MOV P1,A   		;command write sequence
                CLR RS
                CLR RW
                SETB EN
		;LCALL TEST
		CLR EN
		LCALL DELAY
                RET
DATAW:          MOV P1,A   		;data write sequence
                SETB RS
                CLR RW
                SETB EN
                ;LCALL TEST
		CLR EN
		LCALL DELAY
                RET
DELAY:          MOV R6,#50    		;simple delay routine
HERE2:          MOV R7,#255  		;for 0.0124S or 124MS
HERE:           DJNZ R7,HERE
                DJNZ R6,HERE2
                RET
TEST:		JB P3.0,TEST
TEST2:		JNB P3.0,TEST2
		RET
                END
