After defining the lcd you must place a pause of about 500 msec.
This is nessesary to give the lcd a chanche to setup and set all registers insite ok, before receiving de lcd data for the screen.
After defining the lcd you must place a pause of about 500 msec.
This is nessesary to give the lcd a chanche to setup and set all registers insite ok, before receiving de lcd data for the screen.
I have test this :Originally Posted by mat janssen
Pause 250 ' Delay for LCD to power up
and this :
Pause 1000 ' Delay for LCD to power up
but nothing.
The problem is the same.
I understand , that my problem is the reset on pin 4 (i test 4.7k-10k-33k)
If i delay the reset on pin 4 for 4 and up secs all work ok.
Last edited by savnik; - 19th October 2006 at 13:42.
if at the top of code before define add the follow code
it's okCode:pause 2000 @ reset
Hi,
please try this:
' Set LCD Data port
DEFINE LCD_DREG PORTB
' Set starting Data bit (0 or 4) if 4-bit bus
DEFINE LCD_DBIT 4
' Set LCD Register Select port
DEFINE LCD_RSREG PORTB
' Set LCD Register Select bit
DEFINE LCD_RSBIT 1
' Set LCD Enable port
DEFINE LCD_EREG PORTB
' Set LCD Enable bit
DEFINE LCD_EBIT 0
' Set LCD bus size (4 or 8 bits)
DEFINE LCD_BITS 4
' Set number of lines on LCD
DEFINE LCD_LINES 2
pause 100
lcdout $fe,1,"Hello"
end
LCD Connection
Pin1=Vss: connect to ground
Pin2=Vdd: connect to Vcc=5V
Pin3=Vo: connect to middle pin of the POT(20K) to control brightness
Pin4=RS(register select): connect to micro pins that specify in the software(RB1)
Pin5=RW(Read/Write): connect to ground because we want to only write
Pin6=E(Enable): connect to micro pin that specify in the software(RB0)
Pin7 to 10: No connection
Pin 11 to 14: connect to RB4 to RB7
Pin15: connect to Vcc with a resistor(100 or 200 ohm resistor is good)
Pin16: connect to ground.
pin 16 and pin 16 are for backlights
the other two pins of pot should connect to VCC and ground and you should connect the MCLR with a 4.7K or 10K resistor to the VCC.
if your problem is not solve with this program you have another problem in other parts.
thank you for answer , but i have make the circuit on pcb and i can't make changes
be sure you set LVP to OFF, BOD to ON, PWRT to ON in your config fuses.
I doesn't do magic, but it help in most cases.
Steve
It's not a bug, it's a random feature.
There's no problem, only learning opportunities.
Bookmarks