ese_student
New member
I have been having problems getting my display to initialize. It appears that a cursor does blink in the top left most corner of the screen, but when I change the initialization so that blinking is off, the cursor still appears and is blinking.
When I also try to display characters to the LCD display, I find that I only get square boxes appearing, or character $FF.
I 'am using the HC11 E1 microcontroller, where I use PORTA pins 7 - 4 for my data lines and use PORTD pins 5,4,3 for my control lines E, R/W, RS.
I note that PORTA pin 7 is bidirectional whereas the other data pins are only outputs. Port D pins are bidirectional and have been set for outputs only.
I'am able to control if PORTA pin 7 is either an input or an output.
Though I was told doing this may actually have damaged my LCD display if I have left the other data lines as output??
I have tried both methods of initializing the LCD display through the use of time delays without setting the PORTA bit 7 pin for input keeping it as an output, and by reading the busy flag method by changing the PORTA bit 7 for either input or output.
Does anyone know if changing an individual data pin for input/output while leaving other data pins as output can actually damage the LCD display?
In my software I have checked many times that I have toggled the E, R/W and RS control lines correctly placing delays in many places. I send a high nibble first followed by a short delay and then send the lower nibble by doing bit shifting.
One question regarding the software is how the 8bit interface differs from the 4bit interface in the beginning of initialization. Where in the 8bit you send $30, in the 4bit you send only $3, do I have to send this in nibbles? Currently I only send $3 and have tried both ways with no results.
I have code availible to anyone who wishes to view it.
Thank you.
When I also try to display characters to the LCD display, I find that I only get square boxes appearing, or character $FF.
I 'am using the HC11 E1 microcontroller, where I use PORTA pins 7 - 4 for my data lines and use PORTD pins 5,4,3 for my control lines E, R/W, RS.
I note that PORTA pin 7 is bidirectional whereas the other data pins are only outputs. Port D pins are bidirectional and have been set for outputs only.
I'am able to control if PORTA pin 7 is either an input or an output.
Though I was told doing this may actually have damaged my LCD display if I have left the other data lines as output??
I have tried both methods of initializing the LCD display through the use of time delays without setting the PORTA bit 7 pin for input keeping it as an output, and by reading the busy flag method by changing the PORTA bit 7 for either input or output.
Does anyone know if changing an individual data pin for input/output while leaving other data pins as output can actually damage the LCD display?
In my software I have checked many times that I have toggled the E, R/W and RS control lines correctly placing delays in many places. I send a high nibble first followed by a short delay and then send the lower nibble by doing bit shifting.
One question regarding the software is how the 8bit interface differs from the 4bit interface in the beginning of initialization. Where in the 8bit you send $30, in the 4bit you send only $3, do I have to send this in nibbles? Currently I only send $3 and have tried both ways with no results.
I have code availible to anyone who wishes to view it.
Thank you.
Looking for additional LCD resources? Check out our LCD blog for the latest developments in LCD technology.