PDA

View Full Version : LCD display remains empty



selbstdual
- 20th January 2008, 11:01
I wrote this to display Geez on a lcd and it showed nothing. Can this be due to the code. Circuitry is the one in the manual next to lcdout. PIC 16F628A.



Define OSC 20

Go:
LCDOUT "Geez"
Sleep 100
GOTO Go


Greetings

mat janssen
- 20th January 2008, 11:20
Whe you read the book that came with your version of picbasic you will see that some declarations must be made for the LCD.
In the declartions the display driver will know how much pins and where the pins come from.
like this:


DEFINE LCD_DREG PORTB
DEFINE LCD_DBIT 0
DEFINE LCD_RSREG PORTB
DEFINE LCD_RSBIT 4
DEFINE LCD_EREG PORTB
DEFINE LCD_EBIT 5
DEFINE LCD_BITS 4
DEFINE LCD_LINES 2
DEFINE LCD_COMMANDUS 2000
DEFINE LCD_DATAUS 50

selbstdual
- 20th January 2008, 11:29
I thought this was only necessary if you do not use the standard setup....

I tried and it did not change anything. So.

I got this:



Define OSC 20
DEFINE LCD_DREG PORTB
DEFINE LCD_DBIT 0
DEFINE LCD_RSREG PORTB
DEFINE LCD_RSBIT 4
DEFINE LCD_EREG PORTB
DEFINE LCD_EBIT 5
DEFINE LCD_BITS 4
DEFINE LCD_LINES 2
DEFINE LCD_COMMANDUS 2000
DEFINE LCD_DATAUS 50

Go:
LCDOUT "Geez"
Sleep 100
GOTO Go

mat janssen
- 20th January 2008, 12:31
Let us see how you connected everything from the chip to the display.
Try to adjust the background voltage, may be that is the problem!
Put a pause of 1 sec. between the declaration and your programm. Maybe the display was not yet setup.

selbstdual
- 21st January 2008, 11:53
I have not told you yet that the LCD's functionality is not proven. I was given it by someone in a waste utilization for free.

How do I figure out whether it works or not? I was able to make the lcd's points show(two rows, all matrices black). What can I conclude from that?

Dave
- 21st January 2008, 12:01
selbstdual, If you can see all black pixels then it sounds like the contrast is set too high. How do you have the contrast circuit setup? It should be at minimum a 5k pot between VCC and ground with the center wiper connected to the contrast input pin.

Dave Purola,
N8NTA

selbstdual
- 21st January 2008, 14:12
Dave, does seeing the matrices mean that the display is working at all?

Kamikaze47
- 21st January 2008, 14:16
Try adding these 2 things:


Define OSC 20
DEFINE LCD_DREG PORTB
DEFINE LCD_DBIT 0
DEFINE LCD_RSREG PORTB
DEFINE LCD_RSBIT 4
DEFINE LCD_EREG PORTB
DEFINE LCD_EBIT 5
DEFINE LCD_BITS 4
DEFINE LCD_LINES 2
DEFINE LCD_COMMANDUS 2000
DEFINE LCD_DATAUS 50

PAUSE 100

Go:
LCDOUT $FE,1,$FE,2,"Geez"
Sleep 100
GOTO Go

selbstdual
- 21st January 2008, 15:36
First of all I want to make sure that the lcd is working at all. How do I do that?

Kamikaze47
- 21st January 2008, 15:48
first, make sure that when you apply power, the top line of the LCD displays solid blocks. If this is the case, try the additions i suggested above.

If this is not the case, you probably need to have a contrast control for the LCD. You need a variable resistor and hook it up like this:


LCD pin 3
|
| +5v
| |
| |
| \
| /
---->\ variable resistor (10k or bigger)
/
\
|
|
gnd

bbazor
- 22nd January 2008, 03:40
I am not sure if this is your problem, but you might want to try changing "Define OSC 20" to all capitals "DEEFINE OSC 20". The compiler may not recognize lower case in DEFINE statements.

Ben

selbstdual
- 7th February 2008, 00:16
Can we come back to the topic whether the display works or not? Actually the blocks are black, when power is applied. But does that mean that symbols can be displayed? How to figure that out?

Archangel
- 7th February 2008, 02:07
I wrote this to display Geez on a lcd and it showed nothing. Can this be due to the code. Circuitry is the one in the manual next to lcdout. PIC 16F628A.



Define OSC 20

Go:
LCDOUT "Geez"
<font color=red>Sleep 100</font color>
GOTO Go


Greetings
Try changing sleep 100 to pause 100 or even pause 1000
JS

Kamikaze47
- 7th February 2008, 04:16
Can we come back to the topic whether the display works or not? Actually the blocks are black, when power is applied. But does that mean that symbols can be displayed? How to figure that out?

Did you read my last post?

When power is applied, does the entire screen show blocks, or just the top line? There is a big difference.