Hi Alienbeing,
I'll package up everything....I'll get the stuff zipped or rared up shortly.
Please upload it to Rapidshare beacuse you CAN attach a file in your post but you cannot see it (you are a newbie yet)
Some answers to you:
BCF LCD_DATA,4 ; Set RS to low (LCD Command Mode) RS is already low, but PortB now contains 00001111. Is this right? LCD pins 0-3 are 1
Yes, it is right beacuse the LCD data pins are set only after an E pulse.
BCF LCD_DATA,5 ;SET E To Low, Portb is now 01000000, *What happend here?*Should this be 01001111?
The E is working at falling edge, so this is the moment of the set of data pins. I think Proteus cannot akcept it now, only later...
SWAPF LCD_DATA, W ; W now contains 11110100, *Think something is really wrong here*
No, this is the right result: Busy flag in the W.7, it is set yet (1), we are waiting, but
now we MUST be read also the 2nd nybble, so we must store the Busy value temporaly for testing later, after the second dummy nybble read (and ... test again)
This makes me think Proteus is buggy doing this stuff...Maybe I should upgrade to a newer version? Using 7.1 Sp2 right now
I don't agree, however I'll try it...
Do you apply the proper LCD init commands ? It is not so easy at 4 bit mode. There are also nybble-only commands...
I'm waiting for the download link here.
zuisti