EmbeddedRelated.com
Forums

HD44780 LCD operation

Started by ssylee December 7, 2007
Everett M. Greene wrote:
[snip...snip...]
> I believe whoever mentioned the 4-bit vs. 8-bit thing had it backward. > The displays power up in 4-bit mode and must be switched to 8-bit mode. > [I'm doing this from memory and it's been a long time...]
It comes up in 8-bit mode but the 4/8 command ignores the lower nibble. IIRC, the recommended initialization is to tell it 8-bit several times, with specific delays between each, and then command it to 4-bit. As mentioned, they're picky about proper initialization and not all otherwise compatible displays have the same minimum delays during initialization. -- Rich Webb Norfolk, VA
On Dec 8, 10:13 am, Rich Webb <bbew...@mapson.nozirev.ten> wrote:
> Everett M. Greene wrote: > > [snip...snip...] > > > I believe whoever mentioned the 4-bit vs. 8-bit thing had it backward. > > The displays power up in 4-bit mode and must be switched to 8-bit mode. > > [I'm doing this from memory and it's been a long time...] > > It comes up in 8-bit mode but the 4/8 command ignores the lower nibble. > IIRC, the recommended initialization is to tell it 8-bit several times, > with specific delays between each, and then command it to 4-bit. > > As mentioned, they're picky about proper initialization and not all > otherwise compatible displays have the same minimum delays during > initialization. > > -- > Rich Webb Norfolk, VA
I've found out that I have gotten my pin connections all wrong. I am going to reconnect the hardware connections and try the codes again.
On Mon, 10 Dec 2007 21:38:54 -0800 (PST), I said, "Pick a card, any
card" and ssylee <stanigator@gmail.com> instead replied:

>On Dec 8, 10:13 am, Rich Webb <bbew...@mapson.nozirev.ten> wrote: >> Everett M. Greene wrote: >> >> [snip...snip...] >> >> > I believe whoever mentioned the 4-bit vs. 8-bit thing had it backward. >> > The displays power up in 4-bit mode and must be switched to 8-bit mode. >> > [I'm doing this from memory and it's been a long time...] >> >> It comes up in 8-bit mode but the 4/8 command ignores the lower nibble. >> IIRC, the recommended initialization is to tell it 8-bit several times, >> with specific delays between each, and then command it to 4-bit. >> >> As mentioned, they're picky about proper initialization and not all >> otherwise compatible displays have the same minimum delays during >> initialization. > >I've found out that I have gotten my pin connections all wrong. I am >going to reconnect the hardware connections and try the codes again.
I suspected as much. That's why I suggested that you check your wiring. The program control is very simple and a matter of following the step-by-step instructions in the proper sequence. -- Ray
On Dec 10, 9:43 pm, Ray Haddad <rhad...@iexpress.net.au> wrote:
> On Mon, 10 Dec 2007 21:38:54 -0800 (PST), I said, "Pick a card, any > card" and ssylee <staniga...@gmail.com> instead replied: > > > > >On Dec 8, 10:13 am, Rich Webb <bbew...@mapson.nozirev.ten> wrote: > >> Everett M. Greene wrote: > > >> [snip...snip...] > > >> > I believe whoever mentioned the 4-bit vs. 8-bit thing had it backward. > >> > The displays power up in 4-bit mode and must be switched to 8-bit mode. > >> > [I'm doing this from memory and it's been a long time...] > > >> It comes up in 8-bit mode but the 4/8 command ignores the lower nibble. > >> IIRC, the recommended initialization is to tell it 8-bit several times, > >> with specific delays between each, and then command it to 4-bit. > > >> As mentioned, they're picky about proper initialization and not all > >> otherwise compatible displays have the same minimum delays during > >> initialization. > > >I've found out that I have gotten my pin connections all wrong. I am > >going to reconnect the hardware connections and try the codes again. > > I suspected as much. That's why I suggested that you check your > wiring. The program control is very simple and a matter of following > the step-by-step instructions in the proper sequence. > -- > Ray
Ray, After fixing the wiring, I have seen the contrast. However, I'm not seeing the text that should appear on the LCD. So my code is also one of the culprit as well. Stanley
On Mon, 10 Dec 2007 22:21:42 -0800 (PST), I said, "Pick a card, any
card" and ssylee <stanigator@gmail.com> instead replied:

>On Dec 10, 9:43 pm, Ray Haddad <rhad...@iexpress.net.au> wrote: >> On Mon, 10 Dec 2007 21:38:54 -0800 (PST), I said, "Pick a card, any >> card" and ssylee <staniga...@gmail.com> instead replied: >> >> >On Dec 8, 10:13 am, Rich Webb <bbew...@mapson.nozirev.ten> wrote: >> >> Everett M. Greene wrote: >> >> >> [snip...snip...] >> >> >> > I believe whoever mentioned the 4-bit vs. 8-bit thing had it backward. >> >> > The displays power up in 4-bit mode and must be switched to 8-bit mode. >> >> > [I'm doing this from memory and it's been a long time...] >> >> >> It comes up in 8-bit mode but the 4/8 command ignores the lower nibble. >> >> IIRC, the recommended initialization is to tell it 8-bit several times, >> >> with specific delays between each, and then command it to 4-bit. >> >> >> As mentioned, they're picky about proper initialization and not all >> >> otherwise compatible displays have the same minimum delays during >> >> initialization. >> >> >I've found out that I have gotten my pin connections all wrong. I am >> >going to reconnect the hardware connections and try the codes again. >> >> I suspected as much. That's why I suggested that you check your >> wiring. The program control is very simple and a matter of following >> the step-by-step instructions in the proper sequence. > >After fixing the wiring, I have seen the contrast. However, I'm not >seeing the text that should appear on the LCD. So my code is also one >of the culprit as well.
Stanley, Just backtrack in your code and begin anew. You probably made many tiny errors which accumulate over time. Those errors are based on having the wiring incorrect. Without being able to see your hardware or your code, this is not only a guess but practical advice. -- Ray
On Dec 10, 10:47 pm, Ray Haddad <rhad...@iexpress.net.au> wrote:
> On Mon, 10 Dec 2007 22:21:42 -0800 (PST), I said, "Pick a card, any > card" and ssylee <staniga...@gmail.com> instead replied: > > > > >On Dec 10, 9:43 pm, Ray Haddad <rhad...@iexpress.net.au> wrote: > >> On Mon, 10 Dec 2007 21:38:54 -0800 (PST), I said, "Pick a card, any > >> card" and ssylee <staniga...@gmail.com> instead replied: > > >> >On Dec 8, 10:13 am, Rich Webb <bbew...@mapson.nozirev.ten> wrote: > >> >> Everett M. Greene wrote: > > >> >> [snip...snip...] > > >> >> > I believe whoever mentioned the 4-bit vs. 8-bit thing had it backward. > >> >> > The displays power up in 4-bit mode and must be switched to 8-bit mode. > >> >> > [I'm doing this from memory and it's been a long time...] > > >> >> It comes up in 8-bit mode but the 4/8 command ignores the lower nibble. > >> >> IIRC, the recommended initialization is to tell it 8-bit several times, > >> >> with specific delays between each, and then command it to 4-bit. > > >> >> As mentioned, they're picky about proper initialization and not all > >> >> otherwise compatible displays have the same minimum delays during > >> >> initialization. > > >> >I've found out that I have gotten my pin connections all wrong. I am > >> >going to reconnect the hardware connections and try the codes again. > > >> I suspected as much. That's why I suggested that you check your > >> wiring. The program control is very simple and a matter of following > >> the step-by-step instructions in the proper sequence. > > >After fixing the wiring, I have seen the contrast. However, I'm not > >seeing the text that should appear on the LCD. So my code is also one > >of the culprit as well. > > Stanley, > > Just backtrack in your code and begin anew. You probably made many > tiny errors which accumulate over time. Those errors are based on > having the wiring incorrect. Without being able to see your hardware > or your code, this is not only a guess but practical advice. > -- > Ray
Thanks for all your help. Just an update that I have gotten the 4-bit interface working.
On Mon, 17 Dec 2007 19:18:31 -0800 (PST), I said, "Pick a card, any
card" and ssylee <stanigator@gmail.com> instead replied:

>Thanks for all your help. Just an update that I have gotten the 4-bit >interface working.
Woo Hoo! Good job! -- Ray
Ray Haddad wrote:
> On Mon, 17 Dec 2007 19:18:31 -0800 (PST), I said, "Pick a card, any > card" and ssylee <stanigator@gmail.com> instead replied: > >> Thanks for all your help. Just an update that I have gotten the 4-bit >> interface working. > > Woo Hoo! Good job!
I am too trying to make a LCD work and it's much more complex than the datasheets want to make you believe... There are a lot of undocumented behaviours, so it may work if you think it doesn't, and vice versa. I'm now trying to make some text scroll, but i'm giving up. A sort of FAQ, or a wiki on this subject, with feedback and error analysis, would be very helpful.
> Ray
yg
On Tue, 18 Dec 2007 21:03:36 +0100, I said, "Pick a card, any card"
and whygee <whygee@yg.yg> instead replied:

>Ray Haddad wrote: >> On Mon, 17 Dec 2007 19:18:31 -0800 (PST), I said, "Pick a card, any >> card" and ssylee <stanigator@gmail.com> instead replied: >> >>> Thanks for all your help. Just an update that I have gotten the 4-bit >>> interface working. >> >> Woo Hoo! Good job! > >I am too trying to make a LCD work and it's much more complex >than the datasheets want to make you believe...
The datasheets all use the basic chip which is normally under the blivet of epoxy. The actual use is normally very similar no matter which type of glass is being driven. Just remember to sequence the instructions properly prior to sending data and all should be well.
>There are a lot of undocumented behaviours, so it may work >if you think it doesn't, and vice versa. >I'm now trying to make some text scroll, but i'm giving up.
Scroll in which way? Horizontally is a snap. Just increment the string with spaces and all will scroll off to the left. Scrolling vertically isn't possible with an alphanumeric driver. Sorry.
>A sort of FAQ, or a wiki on this subject, with feedback >and error analysis, would be very helpful.
Start one. You're the one with the questions. See which ones are asked frequently and go from there. -- Ray