LCDs for uC and HD4478 compatibility

Discussion in 'Embedded Systems and Microcontrollers' started by t06afre, Nov 25, 2009.

  1. t06afre

    Thread Starter AAC Fanatic!

    May 11, 2009
    5,939
    1,222
    I have quite often read in this forum about LCDs and HD4478 compatibility. What is HD4478 type display? Most of the alphanumeric LCDs at my locale component pusher have a KS0066 chip or equivalent as a controller, so they function is much the same among the vendors. Is this the same as HD4478 compatibility?
     
  2. Papabravo

    Expert

    Feb 24, 2006
    10,148
    1,791
    The part number is actually HD44780, with a zero on the end. The HD44780 is not a display, but rather a display controller. Originally developed by Hitachi (now Renasas) it became a de facto staandard. As a de facto standard there is a large code base that has been written over the last 30 years. Because it is so well understood it takes an extraordinary set of requirements to motivate designers and OEMs to do something different.
     
  3. BMorse

    Senior Member

    Sep 26, 2009
    2,675
    234

    This just means that the LCD will accept commands that are for controlling an actual HD44780 Chipset, this makes it easier to swap displays, with different controllers if they use the same pinouts and protocols....
     
  4. t06afre

    Thread Starter AAC Fanatic!

    May 11, 2009
    5,939
    1,222
    Ok but the HD44780 and the KS0066 is compatible? So we are talking about the same thing? I have to admit, I have just started to learn about LCD displays. But the KS0060 of doing things seams logical to me. I am a big fan of "fire and forget" then it comes to handling data. You push some simple data to a process, and then the process take care of all the parsing and formatting.
     
  5. BMorse

    Senior Member

    Sep 26, 2009
    2,675
    234

    From what I can tell from the KS0066 they are pretty much compatible with the HD44780 IC, since the control codes are all the same...

    Usually when connecting to these types of displays, you only have to initialize them at power to the configuration you want (i.e. Blinking Cursor Off, Clear Display, Cursor Home, etc.), then you would create some kind of Parallel Master Port (PMP) that takes care of all the strobing and enabling when writing to the display..... so they are a "fire and forget" type of display..... that is why they are pretty much the standard.....

    here is some sample code for the OOPIC II (pic based uc module) for controlling these types of LCD's...
    Code ( (Unknown Language)):
    1. ' Uses the oLCD Object to print
    2. ' "Hello There" on an LCD.
    3.  
    4. Dim LCD As New oLCD
    5.  
    6. Sub Main()
    7.   LCD.IOLineRS = 26
    8.   LCD.IOLineE = 27
    9.   LCD.IOGroup = 3
    10.   LCD.Nibble = 1
    11.   LCD.Operate = 1
    12.   LCD.Init
    13.   LCD.Clear
    14.   LCD.Locate(1,2)
    15.   LCD.VString = "Hello World"
    16. End Sub
    [​IMG]



    That is it, and you can swap any LCD that is HD44780 compatible with this setup....



    My .02
     
  6. THE_RB

    AAC Fanatic!

    Feb 11, 2008
    5,435
    1,305
    Watch out that the KS0066 ones don't have a small number of connector pins (like 10 or 8). If so they are I2C driven as the KS0066 supports the older 44780 style connections and also SPI and I2C connect.

    There are some LCDs being sold that have (I think) a 10 pin I2C pinout and nobody has worked out the pinout yet.
     
  7. t06afre

    Thread Starter AAC Fanatic!

    May 11, 2009
    5,939
    1,222
    Many of the LCDs i have been looking at has been very poor documented then it comes to the interface, some was not documented at all.
     
  8. BMorse

    Senior Member

    Sep 26, 2009
    2,675
    234

    That is one thing I like about the HD44780 compatible LCD's, they all come with a 14 (some are dual inline headers , 2 rows of 7 pins, some are SIP's, single inline header, 1 row of 14) pin header and all pinouts are the same, some come with a 16 pin header which includes backlight power connections......

    In all the years I have worked with LCD displays, I have not worked with any that were not HD44780 compatible...... I have worked with serial LCD's, but those usually just have a uc that takes the serial input (serial backpacks) and converts it to the 8-bit data for the LCD (but they are still HD44780 compatible)....

    Most LCD's that are not compatible with the HD44780 Protocol, are most likely some proprietary displays made specifically for a particular company...


    My .02
     
  9. THE_RB

    AAC Fanatic!

    Feb 11, 2008
    5,435
    1,305
    I have to apologise for that. The KS0066 is pretty much always compatible with Hitachi 44780.

    The chip I was referring to when I mentioned the I2C and SPI control is the PCF2113x, I got a few LCD using this controller here and they have a nasty 8 pin I2C interface that doesn't seem to appear on any datasheet.

    The PCF2113x is a very nice chip, it has full 44780 backwards compatibility (4bit and 8bit control) but being a newer chip it also has I2C pins on the chip.

    I wish someone had a pinout for a straight 8pin, 12x2 char LCD with PCF2113x chip.
     
  10. BMorse

    Senior Member

    Sep 26, 2009
    2,675
    234
    Can you post pictures of the board, with as much detail on the connector and main IC..... It seems as if whomever designed that particular LCD just left out the connections for the 8 Bit parallel connection and just put in connections for I2C, most of these IC's are 100 Pin LQFP IC's that include parallel and I2C..... does it look like a 100 pin IC (25 pins on each side of the square)?

    Maybe you can just use a multimeter and trace back to the IC to see which pin on the connector connects to which pin on the PCF2113x IC, not too tedious with 8 pins that's what I would do :rolleyes:....
     
  11. THE_RB

    AAC Fanatic!

    Feb 11, 2008
    5,435
    1,305
    I can clearly see the PCF2113x marking on the PCB next to the IC, and I got a datasheet straight away with no issues. The datasheet is excellent. Unfortunately the IC is die-on-pcb with black epoxy blob over it. No legs to test.

    And the datasheet is still no help on the 8pin straight header, the only pin I know; pin6 (or 2?) is ground.

    The other 7 pins have identical track widths and disappear through vias and stuff, if I destroy a LCD I might be able to trace tracks on both sides but it's still going to be hard.

    The only PCF2113x I found a header for was a 10 pin, and besides the two I2C pins there were separate V+ and Gnd for the LCD (ie multiple V+) so that didn't inspire confidence.

    If someone has a pinout i'll connect it up and knock out some I2C code, but as for guessing pinouts and LCD V+ pins and contrasts and I2C all at the same time... Well let's say it's not high on my list of priorities right now. :)

    And as an incentive, theres a supplier on the net has these I2C displays for about $1.50, I can't remember who it was but searching for "LCD with PCF2113x" or similar on google when i was looking for pinouts brought it up. They would be a nice $1.50 LCD 2x12 char display if we could work it out.
     
Loading...