Go Down

Topic: Project IOlcd, lcd controled through a IOexpander(in this case a MCP23016) (Read 2 times) previous topic - next topic


4 bit is no option for me :)

Why not?
For a hd44780 it is 4 less pins to hook up.
Using 4 bit mode allows the lcd to be controlled by a single 8 bit port
and still have 2 bits in the 8 bit port left over for things like backlight control.
(Just add a transistor)
It would allow the lcd to be controlled through 1 of the 8 bit ports on the 23016
(say GP0) and keep the full 8 bits of the other port (GP1) free for other uses.

4 bit mode would also allow using a smaller cheaper 8 bit i/o expander like the 23008 instead
of the dual port 23016.

--- bill


What I meant was,
that 4bit was not an option, since I had some timeing iseus and data getting lost, which I don't have anymore since I use 8Bit
more over yes I could build in a 4 bit option though :),
I'll work that out later, bussy making the library arduino1.0 compatible :)


I'll work that out later, bussy making the library arduino1.0 compatible

While you are at it why don't you change the initialization sequence to comply with the steps specified by Hitachi?



...since I had some timeing iseus and data getting lost

Probably because you are not following the requirements of the data sheet.  You are using the same delay for all of the commands even though some of them require significantly more time than others.  Also, you are not accounting for the fact that some LCDs may run slower than the nominal speed upon which the datasheet times are based.  The 4-bit mode seems to be more sensitive to these discrepancies which could be why your 8-bit code appears to work.



yes, i had these issue's before i even made the circuit,
had 4 bit issue's when hooked up to the arduino directly :)

hey I thought i had made it like the datasheet lol, nope copied the initialization part from Liquid Crystal,
does that not work?

Beside's I had removed the delay and worked just fine, but didn't save the source,


Go Up