LCD

Mar 09, 2007 9 Replies

I want to program the text to a 2 line 5 x 7 LCD module. But before I do that in a language I am experimental with just the LCD module with a push button for the clock or enable signal and some DIP switches for the data signals. When I finished setting up the LCD and proceed to input letters to the LCD, some letters are fine however some letters come out incorrectly. I adjust the DIP switches for the appropriate hi's and lo's for that letter however, when I clock the data into the LCD, a different character comes up and when I clock it again and again, I get different letters. I notice however that the letters that are different sometimes have similarities in the binary number either in the high nibble or low nibble. Is my LCD busted? It's a new one and took me ages to wire this thing up. I am using breadboard to hold it all together. What could be the source to this problem?


Two possiblities:

1) Noise interference on the breadboard

2) Problem with your clock rate. Is it correct for the LCD?

Al

With regards to the clock rate, I'm manually clocking the data into the LCD with a pushbutton that has some hardware deboucing with it.

">>> and when I clock it again and again, I get different letters. I notice

Do you have pull up resistors on the data lines where the dil switch is connected?

Yes but I'm actually using pull down resistors, does that make a difference? The configuration is a 10k resistor connects the data pin to ground and a switch is placed between the data pin and +5V.

You will definitely get a valid HI when the switch is ON, but what is the voltage at the input, when the switch is OFF? Try to measure that with a meter. Usually you put the resistor to +5V and the switch to ground because the input may have a pull up resistor built in or worse if the input is a "genuine" TTL input the is an inherent pull up resistor. A floating TTL input behave usually as a HI input. Cheers

wt skrev:

I'd agree, change the resistors to pull-ups and the switch bits to ground.

According to this datasheet

formatting link
all the input pins except for E have a max of 250uA internal pullup current. 250uA across 10k is 2.5V. Even the typical value of 125uA gives 1.25V. So the problem is almost certainly that your '0' input value is too high. So on all the inputs except the E line, either lower the value of the pulldowns or switch to pullups (or just use the built-in pullups of the display).

Should we always use pullups instead of pulldowns in all digital electronics? Also, since the datasheet for this particular LCD is rather crappy, can we check to see if there are internal pullups in the LCD but using a logic probe? Thanks to all who have contributed to this post. You have all been moste helpful.

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required