Thanks steve, that make a lot of sence (Cuts and pastes code in readyness)
Thanks steve, that make a lot of sence (Cuts and pastes code in readyness)
Hi,
I got some problem with displaying 20 X 4 line LCD which the controller chip is HD 44780.Actually,when i programmed the chip according to the code below,the lcd is not working!.I even checked the PORTB pin and it seems not changing state?.But my board is working as i checked other programs (I2C,SPI) but this one is not working?.I feel weird.This program is actually sample program from Melabs itself.I wired the final 4 bit from lcd to PORTB.0 to PORTB.3 and the EBIT to to PORTD.7 and for sure RSBIT to PORTD.6.
What is my mistake??Do i have to insert more code like LCD lines and delay???PLS HELP!
DEFINE OSC 20
DEFINE LCD_DREG PORTB
DEFINE LCD_DBIT 4 ' 4 bit selected
DEFINE LCD_RSREG PORTD
DEFINE LCD_RSBIT 6 ' Reset Pin
DEFINE LCD_EREG PORTD
DEFINE LCD_EBIT 7 ' Enable Pin
pause 500 ' Insert Delay for LCD to Power_Up.
loop:
Lcdout $fe, 1 ' Clear LCD screen
Lcdout "Hello" ' Display Hello
Pause 500 ' Wait .5 second
Lcdout $fe, 1 ' Clear LCD screen
Lcdout "World"
Pause 500 ' Wait .5 second
Goto loop ' Do it forever
YOUR HELP KINDLY ACCEPTED
Change this
toCode:DEFINE LCD_DBIT 4 ' 4 bit selected
Code:DEFINE LCD_DBIT 0 ' Databit start at PORTB.0
Steve
It's not a bug, it's a random feature.
There's no problem, only learning opportunities.
Thanks for Instant reply but...
Although i have changed the bit size from 4 to 0,it still remains the same.It does nothing.I even switch compiling from MPASM to standard compiler and it didn't show any effect at all.All the display line shows blank.
It's a cheap LCD ( LM044L) and it's buggin me a lot.I still wonder why the PIC never do anything.I had no problem compiling other program but not this one.
Any idea?.Pls help.Thanks a lot mister_e
Make sure the R/W pin is set to GND & play with the contrast Pot
What happen?
What is your PIC #?
Could be the the config fuses as well, make sure you set HS_OSC and LVP_OFF
Did you tied your unused LCD data pin (DB0, DB1, DB2, DB3) to gnd?
And it's suppose to be a 4X20 LCD type.. you may try to add
Code:DEFINE LCD_LINES 4
Last edited by mister_e; - 18th December 2006 at 06:26.
Steve
It's not a bug, it's a random feature.
There's no problem, only learning opportunities.
I never tie the unused pin to ground as i belive it can be left floating?.Anyhow i will do it.I use PIC16F877.HS_OSC is set .I always set LVP_OFF (Low Voltage Programming) as it always does.Ok.I will insert : DEFINE LCD_LINES 4 :and see what happens.Not today but for sure tomorrow.
Thanks a lot Steve.You are great.Hope you can help me tommorow too =>.
NatureTech.
Make thing simple,but not simpler.
Bookmarks