LCD_DISP
;LCD_DATA EQU PORTB ;LCD Data Pins RB0-RB3 - 4bit mode???
DATA0 EQU RB0 ;LCD Data Pins RB0-RB3 - 4bit mode???
DATA1 EQU RB1
DATA2 EQU RB2
DATA3 EQU RB3
RS EQU RB4
;RW EQU GND - set low - R/W input allows the user to write information to the LCD or read information from it. R/W = 1 when reading; R/W =0 when writing.
EN EQU RB5 ;E pin of LCD
BCF PORTB, EN
;------------------------------------------------------------------------------------------------------------------------
; Initialize the LCD.
INITLCD
MOVLW d'230' ; Call for 46ms delay
CALL NDELAY ; Wait for VCC of the LCD to reach 5V
BCF PORTB, RS ; Clear RS to select Instruction Reg.
; Clear R/W to write (is already set to Ground = logic 0 = Write )
BCF PORTB, RS
MOVLW b'00000011' ;
MOVWF PORTB
CALL ENABLEPULSE
MOVLW d'25' ; 5.18mS delay @ 8MHz
CALL NDELAY
BCF PORTB, RS
MOVLW b'00000011' ;
MOVWF PORTB
CALL ENABLEPULSE
CALL DELAY200 ;
BCF PORTB, RS
MOVLW b'00000011' ;
MOVWF PORTB
CALL ENABLEPULSE
CALL DELAY200 ;
MOVLW b'00000010' ; enable 4 bit mode
MOVWF PORTB
CALL ENABLEPULSE
MOVLW d'25'
CALL NDELAY
BCF PORTB, RS
;..FUNCTION SET..
MOVLW B'00000010'
MOVWF PORTB
; CALL ENABLEPULSE
;CLEAR DISPLAY AND HOME CURSOR
BCF PORTB, RS
MOVLW B'00000000'
MOVWF PORTB
; CALL ENABLEPULSE
MOVLW B'00000001'
MOVWF PORTB
; CALL ENABLEPULSE
;ENTRY MODE -
; BIT_E=1,BIT_RW=0,BIT_RS=0
BCF PORTB, RS
MOVLW B'00000000'
MOVWF PORTB
; CALL ENABLEPULSE
;ENTRY SET - INCREMENT,NO DISP SHIFT(CUR SHIFT),BIT_E=1,BIT_RW=0,BIT_RS=0
BCF PORTB, RS
MOVLW B'00000110'
MOVWF PORTB
; CALL ENABLEPULSE
;TESTING Turns on the LCD display and Sets a BLINKING CURSOR
BCF PORTB, RS
MOVLW B'00001111'
MOVWF PORTB
; CALL ENABLEPULSE
;TURN ON DISPLAY -
BCF PORTB, RS
MOVLW B'0001100'
MOVWF PORTB
; CALL ENABLEPULSE
NOP
;test write
HERE33
BCF PORTB, EN
BSF PORTB, RS
;BSF PORTB, EN
MOVLW b'00010100' ; High nibble 0100XXXX
MOVWF PORTB
CALL ENABLEPULSE
MOVLW d'55'
CALL NDELAY
;BSF PORTB, EN
MOVLW b'00011011' ; Low nibble XXXX1011
MOVWF PORTB
CALL ENABLEPULSE
CALL DELAY50
BCF PORTB, EN
MOVLW d'55'
CALL NDELAY
GOTO HERE33