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.