LIST p=18F452;This ones for a 10MHz crystal.When you start ;proteusD.C on the device and change the crystal to 10Mhz.
#Include P18F452.INC
CONFIG OSC=HS , OSCS=OFF
CONFIG WDT=OFF, LVP=OFF
ORG 00h
MOVLW 07
MOVWF T0CON
LCD_DATA EQU LATB
LCD_CTRL EQU LATD
RS EQU RD0
RW EQU RD1
EN EQU RD2
CLRF TRISD
CLRF TRISB
BCF LCD_CTRL,EN
CALL DELAY
MOVLW 0X38
CALL COMNWRT
CALL DELAY
MOVLW 0X0E
CALL COMNWRT
CALL DELAY
MOVLW 0X01
CALL COMNWRT
CALL DELAY
MOVLW 0X06
CALL COMNWRT
CALL DELAY
MOVLW 0X84
CALL COMNWRT
CALL DELAY
MOVLW A'P'
CALL DATAWRT
CALL DELAY
MOVLW A'A'
CALL DATAWRT
AGA BTG LCD_CTRL,3
BRA AGA
COMNWRT
movwf LCD_DATA
bcf LCD_CTRL,RS
bcf LCD_CTRL,RW
bsf LCD_CTRL,EN ;was bcf
call DELAY
bcf LCD_CTRL,EN
return
DATAWRT
movwf LCD_DATA
bsf LCD_CTRL,RS
bcf LCD_CTRL,RW ;was bsf
bsf LCD_CTRL,EN
call DELAY
bcf LCD_CTRL,EN
return
DELAY:
MOVLW 4
MOVWF 0X20
AGAIN:
MOVLW 0FF
MOVWF TMR0H
MOVWF TMR0L
BCF INTCON,TMR0IF
BSF T0CON,TMR0ON
DELAY1:
BTFSS INTCON,TMR0IF
BRA DELAY1
BCF T0CON,TMR0ON
DECFSZ 0X20
BRA AGAIN
RETURN
END