After some hours of trying different things, here are the results of my tests.
As said in a previous post, I changed my PIC to a 16F690 (I used my last 16F88 a few weeks ago..) but this is not the reason why I couldn't make the display work.
For testing purpose, the cabling between the display and the PIC doesn't change for both 4 bit and 8 bit bus mode versions. So I made it for the 8 bit bus mode version and just set the four "unused" ports in the 4 bit bus mode to a HIGH level (see the cabling difference hereunder... and in the code).
<table border=0><tr><td><img src="http://www.picbasic.co.uk/forum/attachment.php?attachmentid=2034&stc=1&d=119049609 7"></td><td>
<img src="http://www.picbasic.co.uk/forum/attachment.php?attachmentid=2035&stc=1&d=119049705 4"></td></tr></table>
The key point with this display is the timing at startup. The display must have the time to be powered before the PIC sends commands. I have tried several values but the one I left in the code looks to be really fine.
Four mandatory initialisation commands have to be used to make the display work but in fact, only one command is different between the 2 bus modes.
The initialisation process uses the conventional LCDOUT $FE command; this makes it even more simple.
Again, thank you everybody for your help.
Bookmarks