neo_one
Junior Member level 2
CAN ANYONE TELL ME WHAT IS WRONG WITH THIS ROUTINE?
I just want to initialize a jhd 161a lcd display using pic 18f4550 to display some message. All i see when i run this is solid pixels. checked so may sites and did everything i could. please let me know if you see anything wrong in this code.
I THINK THE PROBLEM IS SOME SIMPLE INITIALIZATION MISTAKE. I AM USING INTERNAL RC OSCILLATOR INSTEAD OF CRYSTAL OSCILLATOR.
I just want to initialize a jhd 161a lcd display using pic 18f4550 to display some message. All i see when i run this is solid pixels. checked so may sites and did everything i could. please let me know if you see anything wrong in this code.
Code:
LCDInit: BCF PORTA,0; CONTROL SIGNAL TO RS
BCF PORTA,1; CONTROL SIGNAL TO R/W
BSF PORTA,2; CONTROL SIGNAL TO 'E'
MOVLW 0x0F
MOVWF PORTB
CALL DISPLAY
MOVLW 'H'
CALL DISPLAY
MOVLW 'E'
CALL DISPLAY
MOVLW 'L'
CALL DISPLAY
MOVLW 'L'
CALL DISPLAY
MOVLW 'O'
CALL DISPLAY
MOVLW ' '
CALL DISPLAY
MOVLW 'W'
CALL DISPLAY
MOVLW 'E'
CALL DISPLAY
MOVLW 'L'
CALL DISPLAY
MOVLW 'C'
CALL DISPLAY
MOVLW 'O'
CALL DISPLAY
MOVLW 'M'
CALL DISPLAY
MOVLW 'E'
CALL DISPLAY
MOVLW ' '
CALL DISPLAY
BCF PORTA,0;LCD INPUT=>INSTRUCTION
MOVLW 0x01
MOVWF PORTB
CALL DISPLAY
RETURN
DISPLAY:
MOVWF PORTB
BCF PORTA,2
BSF PORTA,2
CALL DELY
BSF PORTA,0
RETURN
DELY MOVLW D'13'
MOVWF T1
MOVLW D'251'
MOVWF T2
LP DECFSZ T2,1
GOTO LP
DECFSZ T1,1
GOTO LP
RETURN
I THINK THE PROBLEM IS SOME SIMPLE INITIALIZATION MISTAKE. I AM USING INTERNAL RC OSCILLATOR INSTEAD OF CRYSTAL OSCILLATOR.
Last edited: